位置: IT常识 - 正文

【HDLBits刷题日记】05 More Verilog Features(高效刷题app)

编辑:rootadmin
Conditional 使用三目运算符可以实现一个数据选择器,可以替代if语句,不过:?可读性较差,复杂逻辑还是推荐用if。 注意这道题中间变量的定义,不定义中间变量表达式会变得十分复杂且可读性差。 module top_module ( input Conditional

推荐整理分享【HDLBits刷题日记】05 More Verilog Features(高效刷题app),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:hdoj刷题指南,高效刷题app,hdu刷题,hdu刷题,刷题在线,高效刷题app,hdoj刷题指南,刷题功能,内容如对您有帮助,希望把文章链接给更多的朋友!

使用三目运算符可以实现一个数据选择器,可以替代if语句,不过:?可读性较差,复杂逻辑还是推荐用if。

注意这道题中间变量的定义,不定义中间变量表达式会变得十分复杂且可读性差。

module top_module ( input [7:0] a, b, c, d, output [7:0] min);// // assign intermediate_result1 = compare? true: false; wire [7:0] min_1,min_2; assign min_1=a>b?b:a; assign min_2=min_1>c?c:min_1; assign min=min_2>d?d:min_2;endmoduleReduction

归约运算符,双目运算符直接用在多位变量前使用,可以实现归约操作。这里使用了一个异或的归约操作,实现了偶校验。

module top_module ( input [7:0] in, output parity); assign parity = ^in;endmoduleGates100

同样是使用一个归约运算符,实现100输入的与、或、异或运算。

module top_module( input [99:0] in, output out_and, output out_or, output out_xor ); assign out_and=∈ assign out_or=|in; assign out_xor=^in;endmoduleVector100r【HDLBits刷题日记】05 More Verilog Features(高效刷题app)

按照提示用了一个for循环,for循环一般用于仿真,这里也可以用于反转位序。

答案用了一个$bits()系统函数,可以直接返回信号的位宽。

module top_module( input [99:0] in, output [99:0] out); integer i=0; always@(*) begin for(i=0;i<100;i=i+1) begin out[i]=in[99-i]; end endendmodulePopcount255

同样使用了一个for循环,也可以把in中每位的数加起来,就不用if判断了。

module top_module( input [254:0] in, output [7:0] out ); reg [7:0] count; always@(*) begin count = 0; for(int i=0;i<$bits(in);i=i+1) begin if(in[i]==1'b1) count=count+1'b1; end end assign out=count;endmoduleAdder100i

题目意思是使用例化数组或者generate语句,感觉这两种用法用的并不多,不过还是尝试写了一下。

直接for循环

module top_module( input [99:0] a, b, input cin, output [99:0] cout, output [99:0] sum ); always@(*) begin for(int i=0;i<100;i=i+1) begin {cout[i],sum[i]}=a[i]+b[i]+((i==0)?cin:cout[i-1]); end endendmodule

实例化数组

module top_module( input [99:0] a, b, input cin, output [99:0] cout, output [99:0] sum ); add adder[99:0]( .cin({cout[98:0],cin}), .a(a[99:0]), .b(b[99:0]), .sum(sum[99:0]), .cout(cout[99:0]) );endmodulemodule add( input cin, input a, input b, output sum, output cout); assign {cout,sum}=cin+a+b;endmodule

generate for语句

module top_module( input [99:0] a, b, input cin, output [99:0] cout, output [99:0] sum ); genvar i; generate for(i = 0;i<$bits(sum);i=i+1) begin:gen add adder( .cin((i==0)?cin:cout[i-1]), .a(a[i]), .b(b[i]), .sum(sum[i]), .cout(cout[i]) ); end endgenerateendmodulemodule add( input cin, input a, input b, output sum, output cout); assign {cout,sum}=cin+a+b;endmoduleBcdadd100

这道题同样也是用实例化数组或者generate for语句。

module top_module( input [399:0] a, b, input cin, output cout, output [399:0] sum ); wire [98:0]c; bcd_fadd u_bcd_fadd[99:0]( .a(a[399:0]), .b(b[399:0]), .cin({c[98:0],cin}), .cout({cout,c[98:0]}), .sum(sum[399:0]) );endmodule
本文链接地址:https://www.jiuchutong.com/zhishi/311843.html 转载请保留说明!

上一篇:python模块的搜索顺序分析(python搜索函数)

下一篇:Go 语言入门 1-管道的特性及实现原理(go语言ui)

  • 网络推广如何抓取流量,网络推广员集中推广方式(网络推广如何抓客户)

    网络推广如何抓取流量,网络推广员集中推广方式(网络推广如何抓客户)

  • 苹果13虚拟键怎么调出来(苹果13虚拟键怎么设置)

    苹果13虚拟键怎么调出来(苹果13虚拟键怎么设置)

  • 钉钉怎么换另一个班级(钉钉怎么换另一个号登录)

    钉钉怎么换另一个班级(钉钉怎么换另一个号登录)

  • 酷狗音乐能投屏吗(酷狗音乐能投屏到电视K歌吗)

    酷狗音乐能投屏吗(酷狗音乐能投屏到电视K歌吗)

  • word如何设置上标(word如何设置上下对齐)

    word如何设置上标(word如何设置上下对齐)

  • 蚂蚁庄园怎样获得福卡(蚂蚁庄园怎样获得饲料)

    蚂蚁庄园怎样获得福卡(蚂蚁庄园怎样获得饲料)

  • 三星s20配的是什么耳机(三星s20顶配)

    三星s20配的是什么耳机(三星s20顶配)

  • gt630m相当于什么显卡(gt630m相当于什么核显)

    gt630m相当于什么显卡(gt630m相当于什么核显)

  • 陌陌账号异常能聊天吗(陌陌账号异常能回复消息吗)

    陌陌账号异常能聊天吗(陌陌账号异常能回复消息吗)

  • 抖音昵称次数上限怎么办啊(抖音昵称次数上限能申请吗)

    抖音昵称次数上限怎么办啊(抖音昵称次数上限能申请吗)

  • 怎么查自己的优酷账号(怎么查自己的优酷密码)

    怎么查自己的优酷账号(怎么查自己的优酷密码)

  • 台式电脑静电开不了机(台式电脑静电开机没反应)

    台式电脑静电开不了机(台式电脑静电开机没反应)

  • 抖音已重置多久解封(抖音已重置多久可以登录)

    抖音已重置多久解封(抖音已重置多久可以登录)

  • 快手上买了东西怎么看订单(快手怎么买货)

    快手上买了东西怎么看订单(快手怎么买货)

  • vivoz5有没有呼吸灯(vivos5手机有没有呼吸灯)

    vivoz5有没有呼吸灯(vivos5手机有没有呼吸灯)

  • 苹果手机11代什么时候上市(苹果第11代手机)

    苹果手机11代什么时候上市(苹果第11代手机)

  • 什么情况下用选择性粘贴(什么情况下选择第二中标人)

    什么情况下用选择性粘贴(什么情况下选择第二中标人)

  • 12123申诉改手机要多久呢(12123手机更改申诉多久有结果)

    12123申诉改手机要多久呢(12123手机更改申诉多久有结果)

  • 爱奇艺投屏怎么连播(爱奇艺投屏怎么关闭)

    爱奇艺投屏怎么连播(爱奇艺投屏怎么关闭)

  • qq小程序怎么删除(qq小程序怎么删除并删除里面的东西)

    qq小程序怎么删除(qq小程序怎么删除并删除里面的东西)

  • 怎么看qq加好友的时间(怎么看qq加好友时候的验证信息)

    怎么看qq加好友的时间(怎么看qq加好友时候的验证信息)

  • 微软正式向用户推送升级Win11准备,允许10天内轻松降级至Win10!(微软的客户主要是什么)

    微软正式向用户推送升级Win11准备,允许10天内轻松降级至Win10!(微软的客户主要是什么)

  • vue-echarts饼图/柱状图点击事件(vue引入echarts柱状图)

    vue-echarts饼图/柱状图点击事件(vue引入echarts柱状图)

  • 【Web前端基础】实验9 表单页面设计(web前端基本知识)

    【Web前端基础】实验9 表单页面设计(web前端基本知识)

  • 【pytorch】有关nn.EMBEDDING的简单介绍(pytorch nn.parameters)

    【pytorch】有关nn.EMBEDDING的简单介绍(pytorch nn.parameters)

  • 增值税纳税申报时间
  • 企业发生的职工培训费应计入产品的制造成本
  • 金蝶导出报表
  • 微企怎么申请补贴
  • 资产损失税前扣除及纳税调整明细
  • 房地产企业回迁安置房税收规定
  • 公司单独核算项目财务怎么处理?
  • 退回投标保证金分录
  • 合同取消写什么
  • 研发费用加计扣除政策执行指引
  • 员工疗养要扣公休假吗
  • 小规模纳税人未建账处罚
  • 个税按月算和按年算为什么不一样
  • 企业会计准则财务报表本期金额和上期金额
  • 结构化存款是什么
  • 营业执照原件丢失后果
  • 重庆增值税税率调整
  • 销售额的意思
  • 期末留抵税额退税额
  • 对外投资包括哪些投资项目
  • php解析xml文件
  • 异常发票怎么处理
  • php获取指定日期的时间戳
  • win10没有音效设置
  • 自产产品用于业务招待,成本10万,售价20万
  • 广告公司的设计师多少钱一月
  • 应付票据可以直接填列吗
  • 解决安装后软件icon一圈白边问题
  • ts基础
  • Notojima岛附近的牡蛎养殖场,日本石川县 (© divedog/Shutterstock)
  • 小规模纳税人的企业所得税怎么算
  • 企业期末结转本期实现的各项收入
  • es工具类
  • php文件上传下载代码
  • metareg命令
  • 固定资产多少钱以上才要计提折旧
  • 附清单格式
  • 小规模纳税人什么意思
  • 增值税价税合计怎么填
  • mongodb开启远程连接
  • mongodb导入
  • 实际缴纳的增值税用哪个科目
  • 厂区地面硬化属于土建还是市政
  • 交易性金融资产入账价值怎么计算
  • 季度报税都是几月份
  • 关税完税价格如何计算消费税
  • 销售折扣的账务处理有详细的计算过程
  • 会计做账的凭据是什么
  • 营业外收入的核算内容
  • 公司租用员工车辆维修费能报销吗
  • 费用发票可以不抵扣进项税吗
  • 其他应收款贷方余额怎么调整
  • 工会经费支出范围
  • 往来账是什么样的
  • 史上最简单的不读书法成甲
  • Vista技巧:何在Vista上运行不兼容的旧版本软件
  • mac备忘录怎么使用
  • rsync如何同步隐藏文件和排除文件?rsync同步隐藏文件和排除文件的方法
  • win10双击打开文件设置方法
  • windows引导坏了怎么办
  • windows移动中心英文怎么写
  • win7无法删除d盘
  • c:windowssys:em32mtgyu.dll 内存分配访问无效的解决办法
  • linuxvi编辑器的用法
  • linux设置环境变量的命令
  • win7电脑老是自动重启是什么原因
  • linux 使用
  • linux diff命令详解
  • Extjs的FileUploadField文件上传出现了两个上传按钮
  • 分析师:董明珠让格力为豪赌买单
  • Unity3D游戏开发基础
  • 鼠标滑动页面缩放取消
  • 在javascript中逻辑运算符包括
  • 'tools.jar' seems to be not in Android Studio classpath. Please ensure JAVA_HOME points to JDK rathe
  • 初步认识的思维导图
  • activity生命周期包含哪几种状态
  • 源码讲解
  • UNITE 2015 TAIPEI 五大系列重要議題搶鮮看!
  • 重庆市电子税务局官网登录入口注册
  • 个体户注销还要交税吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设