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

  • 增加微博粉丝的二十个方法途径(增加微博粉丝的技巧有哪些)

    增加微博粉丝的二十个方法途径(增加微博粉丝的技巧有哪些)

  • 华为aw70手环怎么配对(华为aw70手环怎么配对苹果手机)

    华为aw70手环怎么配对(华为aw70手环怎么配对苹果手机)

  • 小米手表color2怎么关闭心率监测(小米手表color2怎么下载音乐)

    小米手表color2怎么关闭心率监测(小米手表color2怎么下载音乐)

  • 京东e卡在哪里兑换(京东e卡在哪里充值)

    京东e卡在哪里兑换(京东e卡在哪里充值)

  • 华为5z和5i的区别有哪些(华为5z怎么样,好用吗)

    华为5z和5i的区别有哪些(华为5z怎么样,好用吗)

  • 微信朋友圈背景怎么设置黑色(微信朋友圈背景动态图怎么设置)

    微信朋友圈背景怎么设置黑色(微信朋友圈背景动态图怎么设置)

  • 手机充电屏幕有点失灵(手机充电屏幕有点失灵怎么解决)

    手机充电屏幕有点失灵(手机充电屏幕有点失灵怎么解决)

  • 荣耀怎么用滚动截屏(荣耀怎么滚动截屏)

    荣耀怎么用滚动截屏(荣耀怎么滚动截屏)

  • wps怎么打拼音带声调(wps中如何打拼音)

    wps怎么打拼音带声调(wps中如何打拼音)

  • 耳机带麦跟不带麦区别在哪里(耳机带麦好还是不带麦)

    耳机带麦跟不带麦区别在哪里(耳机带麦好还是不带麦)

  • 华为怎么设置三个按钮(华为怎么设置三秒拍照)

    华为怎么设置三个按钮(华为怎么设置三秒拍照)

  • uibot是什么软件(uibot真的好用吗)

    uibot是什么软件(uibot真的好用吗)

  • 快手怎么增加魔法表情(快手魔快怎么用)

    快手怎么增加魔法表情(快手魔快怎么用)

  • 为什么大王卡对优酷也免流(大王卡为什么不能用流量)

    为什么大王卡对优酷也免流(大王卡为什么不能用流量)

  • 蓝牙音响复位键在哪(蓝牙音响复位键在哪BOSE)

    蓝牙音响复位键在哪(蓝牙音响复位键在哪BOSE)

  • 华为kiwtl00是什么型号(华为kiw tl00)

    华为kiwtl00是什么型号(华为kiw tl00)

  • 手机用久了内存越来越小怎么办(手机用久了内存满了怎么办)

    手机用久了内存越来越小怎么办(手机用久了内存满了怎么办)

  • ipad笔 一代和二代区别(ipad笔一代和二代笔尖通用吗)

    ipad笔 一代和二代区别(ipad笔一代和二代笔尖通用吗)

  • 喜马拉雅定时关闭在哪(喜马拉雅定时关闭功能)

    喜马拉雅定时关闭在哪(喜马拉雅定时关闭功能)

  • 照片怎么压缩成1m(照片怎么压缩成zip格式)

    照片怎么压缩成1m(照片怎么压缩成zip格式)

  • 叠瓦式和垂直式区别(叠瓦式和垂直式的转速)

    叠瓦式和垂直式区别(叠瓦式和垂直式的转速)

  • 安卓怎么把视频做成动态壁纸(安卓怎么把视频做成动态锁屏)

    安卓怎么把视频做成动态壁纸(安卓怎么把视频做成动态锁屏)

  • word主要功能(word主要功能包括文本处理吗)

    word主要功能(word主要功能包括文本处理吗)

  • win10系统怎么永久激活 win10激活秘钥神key推荐(含激活工具+教程)(win10系统怎么永久激活)

    win10系统怎么永久激活 win10激活秘钥神key推荐(含激活工具+教程)(win10系统怎么永久激活)

  • vue里面使用pdfjs-dist+fabric实现pdf电子签章!!!(vue使用pdf.js)

    vue里面使用pdfjs-dist+fabric实现pdf电子签章!!!(vue使用pdf.js)

  • 火遍全网的chatGPT(火遍全网的超燃神曲旋律震撼人心,听完热血沸腾!)

    火遍全网的chatGPT(火遍全网的超燃神曲旋律震撼人心,听完热血沸腾!)

  • 税率和征收率有什么不一样
  • 个人出租如何交税
  • 会计中管理费用和财务费用的区别
  • 发票已抵扣但对方要红冲后续原发票要拿回来吗
  • 小规模进项可以收专票吗
  • 纳税表不得抵扣什么意思
  • 购土地契税怎么算
  • 企业为什么要进行环境分析
  • 电子发票和纸质发票额度算在一起吗
  • 教育服务增值税纳税义务发生时间
  • 售后回购融资租赁合同
  • 劳动局仲裁支付的补偿怎么做账?
  • 发票勾选平台已经勾选统计确认,报税平台看不见
  • 个人所得税返还奖励财务人员做账
  • 手撕税票去哪可以弄到
  • 哪些情况下,企业需要进行分销渠道设计决策
  • 最新定额是哪年
  • 个人独资企业收款码
  • 2019增值税改革政策解读
  • 个税少扣了怎么账平掉
  • 支付固定资产运杂费计入什么科目
  • 公司清算实收资本是零吗
  • windows 10纯净版
  • 扣缴单位无有效税种认定什么意思
  • 进项税和销项税怎么算
  • 对方开红票需要寄给我吗
  • 怎么免费获取流量
  • typecho插件开发教程
  • php语法和常用的函数
  • 支付以前年度增值税怎么做账
  • 筹建期间费用计入什么
  • 有形动产融资租赁税率是多少
  • win 11怎么安装
  • php curd
  • php二维数组求和
  • 商住房买卖过户流程
  • 20分钟,使用Amazon SageMaker快速搭建属于自己的AIGC应用
  • 安装libtool
  • 帝国cms移动端
  • 为什么增值税最后的负税人是消费者企业还要尽量少交税
  • 人工费按照考虑管理费和利润吗
  • virtono搭建教程
  • 织梦网站特有标识
  • 电子商业承兑到期后多长时间能收到款
  • 融资租赁首付租金会计账务处理
  • 独资企业和公司区别
  • db2数据库创建索引语句
  • 清洁费用属于哪个会计科目
  • 资质办理属于什么开票大类
  • 去年亏损今年盈利能分红吗
  • 长期股权投资的账务处理
  • 用友t3采购订单怎么录入
  • 商业承兑到期对方不付款会计分录
  • 勾选通行费发票后如何做分录
  • 汇算清缴费用调增会计处理
  • 如何解绑企业开票员身份
  • 五险 会计
  • 进项税额的ppt
  • 汽车4s店有哪些功能
  • 电子版银行回单
  • 外经证是在工程所在地办理吗
  • 会计账簿的作用之一是编报和输出会计信息
  • mysql的基本介绍
  • 恢复网页浏览历史记录
  • 双屏windows
  • win10怎么取消u盘密码保护
  • linux用中文怎么说
  • linux date-u
  • linux virtio
  • win8metro版桌面安卓下载
  • win10系统更改
  • Android Bound Service(二) ----- Using AIDL
  • cmd批处理命令文件个数
  • angularjs2
  • js如何修改style
  • js null,undefined,字符串小结
  • 车没交车船税上路什么后果
  • 代理记账广告语怎么写
  • 涉密人员保密教育培训可以采取
  • 关于小规模纳税人的说法正确的有
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设