HDLbits 刷题 --Conditional

news2024/10/7 2:22:54

学习:

        

Verilog has a ternary conditional operator ( ? : ) much like C:

(condition ? if_true : if_false)

This can be used to choose one of two values based on condition (a mux!) on one line, without using an if-then inside a combinational always block.

Examples:

(0 ? 3 : 5)     // This is 5 because the condition is false.
(sel ? b : a)   // A 2-to-1 multiplexer between a and b selected by sel.

always @(posedge clk)         // A T-flip-flop.
  q <= toggle ? ~q : q;

always @(*)                   // State transition logic for a one-input FSM
  case (state)
    A: next = w ? B : A;
    B: next = w ? A : B;
  endcase

assign out = ena ? q : 1'bz;  // A tri-state buffer

((sel[1:0] == 2'h0) ? a :     // A 3-to-1 mux
 (sel[1:0] == 2'h1) ? b :
                      c )

练习:

        Given four unsigned numbers, find the minimum. Unsigned numbers can be compared with standard comparison operators (a < b). Use the conditional operator to make two-way min circuits, then compose a few of them to create a 4-way min circuit. You'll probably want some wire vectors for the intermediate results.

译:

        给定四个无符号数字,找出其中的最小值。无符号数字可以使用标准比较运算符进行比较(a < b)。使用条件运算符来制作双向最小值电路,然后组合几个这样的电路来创建一个四路最小值电路。你可能需要一些线矢量来存储中间结果。

module top_module (
    input [7:0] a, b, c, d,
    output [7:0] min);//
    wire [7:0]buf1,buf2,buf3;
     assign buf1 = (a>b)?b:a;
     assign buf2 = (c>d)?d:c;
     assign buf3 = (buf1 > buf2)?buf2:buf1;
     assign min = buf3;

endmodule

运行结果:

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1566261.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MyBatis强大的动态Sql功能

1.动态不定增加 根据需求 , 动态的拼接SQL 。 用户有的信息是必须输入&#xff0c;但有的不是必须进行输入 比如在填写注册信息的时候&#xff0c;有时候密码是一定要填写的&#xff0c;而银行卡号不是必须填写的 1)注解方式 测试类中 &#xff1a; 使用 if 标签 可以实现动…

SAP 销售订单BOM使用场景简介

SAP系统中通常会存在很多的BOM类型,有生产订单BOM、销售订单BOM、WBSBOM、标准BOM这几类。 订单BOM >= 销售BOM >= 标准BOM 订单BOM:通常是根据标准BOM基础上由PMC去调整一个物料的用量等,根据生产订单的BOM 销售BOM:根据销售订单号+行项目号创建的BOM,是根据特定…

定时器与晶振时钟、中断系统、定时中断

定时器 简介&#xff1a; C51中的定时器和计数器是同一个硬件电路支持的&#xff0c;通过寄存器配置不同&#xff0c;就可以将他当做定时器 或者计数器使用。 确切的说&#xff0c;定时器和计数器区别是致使他们背后的计数存储器加1的信号不同。当配置为定时器使用时&#xff0…

一维数组oj练习(4)

又是一维数组的练习.... 小A的学号在数组中可以看成a[k]&#xff0c;在判断谁大于a[k]。大于的数用sum来统计&#xff0c;最后输出。 #include<cstdio> int a[10010],n,k,sum; int main(){scanf("%d %d",&n,&k);for(int i1;i<n;i){scanf("%d…

uniapp开发安卓跟ios所遇问题集合

Android平台配置CPU类型 一般勾选armeabi-v7a跟arm64-v8a就好了 armeabi-v7a 第7代及以上的ARM处理器&#xff08;ARM32位&#xff09;&#xff0c;市面上大多数手机使用此CPU类型。arm64-v8a 第8代、64位ARM处理器&#xff08;ARM64位&#xff09;&#xff0c;最近两年新发的…

实现顺序表的增删查改

现在让我们探索数据结构这个美妙的世界吧&#xff01; 概念介绍 线性表是具有相同特性的数据元素的有限序列。线性表是一种在实际运用中广泛运用的线性结构&#xff0c;如线性表&#xff0c;栈&#xff0c;队列&#xff0c;字符串等。 顺序表的本质是数组&#xff0c;实现了…

微信小程序使用icon图标

原因&#xff1a; 微信小程序使用fontawesome库使用icon图标&#xff0c;网上有很多教程&#xff0c;按照网上说法制作&#xff0c;引入到微信小程序中&#xff0c;但是验证成功&#xff0c;只能使用部分图标&#xff0c;结果不尽如人意。后面使用阿里巴巴开源iconfont来使用ic…

DBU-Net:用于乳腺超声图像中肿瘤分割的双分支U形网络

DBU-Net&#xff1a;用于乳腺超声图像中肿瘤分割的双分支U形网络 摘要引言材料和方法概述所提出的方法 DBU-Net Dual branch U-Net for tumor segmentation in breast ultrasound images 摘要 乳腺超声医学图像通常具有低成像质量沿着不清楚的目标边界。这些问题使得医生在诊断…

VSCode调试C++

1、环境准备 1.1、g的安装与使用 1.1.1、安装 方式一&#xff1a;Xcode安装 苹果的开发集成工具是Xcode.app&#xff0c;其中包含一堆命令行工具。 在 App store 可以看到其大小有好几个G&#xff0c;有点大。 方式二&#xff1a;Command Line Tools 安装 Command Line Too…

Ai音乐大师演示(支持H5、小程序)独立部署源码

Ai音乐大师演示&#xff08;支持H5、小程序&#xff09;独立部署源码

【开发问题】为什么Java写文件时文件名中带有“*”会写入失败呢?

前言&#xff1a;在开发过程中&#xff0c;可能会遇写文件的问题。当我们写文件时&#xff0c;文件名中可能会带“*”号。这时候可能会导致写文件失败。 比如有一段写文件的代码&#xff1a; public static void createFile(String filename, byte[] content) {FileOutputStr…

蓝桥杯刷题-四平方和

四平方和 代码&#xff1a; from copy import deepcopy n int(input()) maxn int(5e6) 10 dic dict() for a in range(maxn):if a * a > n:breakfor b in range(a,maxn):if a * a b * b > n:breakif dic.get(a*ab*b) is None:dic[a*ab*b] (a,b) ans [maxn for _ …

情感视频素材在哪找?8个视频素材大全网站

在追求创意表达的道路上&#xff0c;每一位视频创作者都是一名勇敢的探险家&#xff0c;不断寻找那些能够点亮作品、让故事生动起来的珍贵资源。无论你的目标是打动人心、传达信息&#xff0c;还是简单地分享生活&#xff0c;以下八个视频素材网站将为你的每一个项目提供无尽的…

【C++第三阶段】模板类模板通用数组实现案例

以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 模板怎么使用模板函数模板注意事项普通函数与函数模板的区别普通函数与函数模板调用规则函数模板限制 类模板类模板语法类模板与函数模板区别类模板中成员函数创建时机类模板对象做函…

Linux网络协议栈从应用层到内核层④

文章目录 1、网卡接受数据2、网络设备层接收数据3、ip层接受数据4、tcp层接受数据5、上层应用读取数据6、数据从网卡到应用层的整体流程 1、网卡接受数据 当网卡收到数据时&#xff0c;会触发一个中断&#xff0c;然后就会调用对应的中断处理函数&#xff0c;再做进一步处理。…

WSL安装与使用

开启之后&#xff0c;会提示你重启电脑才能使配置生效&#xff0c;我们重启即可。 电脑重启后&#xff0c;打开Microsoft Store搜索WSL&#xff0c;既可以看到支持的操作系统&#xff0c;我们选择Ubuntu即可&#xff0c;我们选择第一个就可以。 随后我们打开&#xff0c;发现报…

【WebKit架构讲解】

&#x1f308;个人主页:程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

开源知识管理和协作平台:插件丰富,主题精美 | 开源日报 No.209

logseq/logseq Stars: 27.8k License: AGPL-3.0 logseq 是一个注重隐私的开源平台&#xff0c;用于知识管理和协作。 提供强大的知识管理、协作、PDF 标注和任务管理工具支持多种文件格式&#xff0c;包括 Markdown 和 Org-modeWhiteboard 功能可使用空间画布组织想法&#x…

vue源码解析——vue如何将template转换为render函数

Vue 将模板&#xff08;template&#xff09;转换为渲染函数&#xff08;render function&#xff09;是 Vue 编译器的核心功能&#xff0c;它是 Vue 实现响应式和虚拟 DOM 的关键步骤。在 Vue 中&#xff0c;模板&#xff08;template&#xff09;是开发者编写的类似 HTML 的代…

SAP FI学习笔记03 - 应付账款

上一章讲了MM与FICO的集成。 SAP FI学习笔记02 - 基础知识 - MM与FICO集成-CSDN博客 本章讲应付账款。 上一章也讲了应付账款&#xff08;買掛金&#xff09;&#xff0c;它的来源可以是 - 购买发注&#xff0c;入库&#xff0c;请求书照合 之后系统自动生成 &#xff08;具…