位置: 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)

  • 如何提高百度更新收录频率(百度如何继续提升自己的技术水平)

    如何提高百度更新收录频率(百度如何继续提升自己的技术水平)

  • 华为p40信号不好怎么解决(华为p40信号不稳定)

    华为p40信号不好怎么解决(华为p40信号不稳定)

  • 华为荣耀10可以反向充电吗(华为荣耀10可以玩光遇吗)

    华为荣耀10可以反向充电吗(华为荣耀10可以玩光遇吗)

  • iphonexs怎么分屏功能(iphonexs手机怎么分屏)

    iphonexs怎么分屏功能(iphonexs手机怎么分屏)

  • 微信右上角加号不显示(微信右上角加号少了收付款)

    微信右上角加号不显示(微信右上角加号少了收付款)

  • qq白屏怎么回事(qq出现白屏什么情况)

    qq白屏怎么回事(qq出现白屏什么情况)

  • 微信pc版安装到手机(微信pc端安装包)

    微信pc版安装到手机(微信pc端安装包)

  • iPhone11突然自动关机(iphone11突然自动锁屏)

    iPhone11突然自动关机(iphone11突然自动锁屏)

  • 微信a标是什么意思啊(微信标是什么颜色)

    微信a标是什么意思啊(微信标是什么颜色)

  • 联想小新pro13截屏键是哪个(联想小新pro13截屏没反应)

    联想小新pro13截屏键是哪个(联想小新pro13截屏没反应)

  • iphone11港版全网通吗(苹果11港版区别)

    iphone11港版全网通吗(苹果11港版区别)

  • 苹果11pro的耳机是无线的吗(苹果11pro的耳机是什么样的)

    苹果11pro的耳机是无线的吗(苹果11pro的耳机是什么样的)

  • 京东还送货吗(京东送货吗现在)

    京东还送货吗(京东送货吗现在)

  • 小米智能卡是什么东西(小米智能卡是什么功能)

    小米智能卡是什么东西(小米智能卡是什么功能)

  • realme Q怎么打开照片水印(我的realme怎么打开)

    realme Q怎么打开照片水印(我的realme怎么打开)

  • 键盘ent键是什么意思(键盘entf)

    键盘ent键是什么意思(键盘entf)

  • 荣耀20怎么关闭后台运行(荣耀20怎么关闭系统更新通知)

    荣耀20怎么关闭后台运行(荣耀20怎么关闭系统更新通知)

  • 显示器acin是插什么的(显示器ac和dc电源)

    显示器acin是插什么的(显示器ac和dc电源)

  • 苹果无线充电多少w(苹果无线充电多久能充满苹果11)

    苹果无线充电多少w(苹果无线充电多久能充满苹果11)

  • 苹果手机怎么下载200m以上的软件(苹果手机怎么下一行打字)

    苹果手机怎么下载200m以上的软件(苹果手机怎么下一行打字)

  • 苹果x面目识别不能用怎么办(苹果x面目识别不了)

    苹果x面目识别不能用怎么办(苹果x面目识别不了)

  • 华为p30屏幕材质(华为p30屏幕材质是e3吗)

    华为p30屏幕材质(华为p30屏幕材质是e3吗)

  • 如何删除QQ音乐登录记录(如何删除QQ音乐心悦卡)

    如何删除QQ音乐登录记录(如何删除QQ音乐心悦卡)

  • 设了免打扰对方知道吗(对方设置了免打扰还能看见我给她打电话么)

    设了免打扰对方知道吗(对方设置了免打扰还能看见我给她打电话么)

  • iphone苹果手机如何去除App Store图标右上角更新提(苹果手机zm)

    iphone苹果手机如何去除App Store图标右上角更新提(苹果手机zm)

  • Linux下使用quota命令管理磁盘空间的实例教程

    Linux下使用quota命令管理磁盘空间的实例教程

  • 出口退税 系统
  • 税金及附加都包含什么
  • 出售无形资产属于资产处置损益吗
  • 生产型企业直接进口产品是否可直接出口
  • 小规模纳税人变成一般纳税人之前的发票变更
  • 应收账款待转销和应交税费待转销
  • 偶然所得申报期限
  • 私人口腔诊所会感染艾滋病吗
  • 开出增值税专用发票流程
  • 自产农产品免征增值税
  • 外汇资本金入账要求
  • 一次性取得的租金收入
  • 结转折旧费会计分录
  • 电商刷单的成本如何处理?
  • 货代行业红字冲正发票怎么做凭证
  • 受托软件开发不转让著作权的账务处理
  • 发票专用章备案需要什么资料
  • 不动产发票如何开具
  • 租赁房使用权和所有权冲突
  • 增值税专用发票验证真伪
  • 统一信用社会代码怎么填
  • 个人所得税成本费用包括哪些
  • 存货占比小有什么影响
  • 实收资本何时交税
  • 无票收入冲回会计分录
  • 未确认融资费用摊销额怎么计算
  • 应收账款账龄分析简单例题
  • 公司什么发票可以入账
  • 委托代付工程款会计分录
  • coms恢复默认设置
  • 预付加油充值卡可以报销吗
  • 电脑非法关机后开机进不了系统
  • php中的事务使用是什么
  • linux统计代码总行数
  • 固定资产进项税额一次性抵扣
  • 通过mac地址查找ip的协议
  • echarts图表绘制步骤
  • 废料收入的成本怎么核算
  • 捐钱扶贫
  • A Loepa oberthuri moth (© Robert Thompson/Minden Pictures)
  • 序列标注技术应用
  • html在线小游戏
  • 注意力机制 q k v
  • 合伙企业退伙个税
  • 购入固定资产计入应付账款还是其他应付款
  • 应付票据应付利息
  • 进口消费税如何计税
  • 长期股权投资入账
  • 织梦系统基本参数
  • 存货成本费用
  • 大学生创新创业平台
  • 个税专项附加扣除标准2023
  • 无法在common files上设置新的所有者
  • 主营业务成本的摘要怎么写
  • 赠送客户的商品需要交税吗
  • 外购材料的核算方法有
  • 更换公司新公章流程
  • 减免税款属于政府补助利得吗
  • 网站windows
  • 喝了阿胶补血口服液嗜睡
  • 微软6月24号
  • windows vista如何安装
  • 小黑马科技
  • 清理macbook清除系统垃圾
  • opware12.exe - opware12进程是什么文件 有什么用
  • opengl调色
  • 构造函数中super()的作用
  • perl 教程
  • cocos2dx quicxk 3.3 导入Json文件布局 UI
  • edittext弹出软键盘
  • Node.js中的什么模块是用于处理文件和目录的
  • AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
  • 深入探讨换个说法怎么说
  • JavaScript SweetAlert插件实现超酷消息警告框
  • Python的内置字典数据类型为___
  • js运行效率
  • android系统主要特点
  • 怎么看有没有欠税
  • 河北手工发票查验平台
  • 不予处理的法律依据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设