- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
条件操作符例子:总线选择电路 module sel4_1(bus_a,bus_b,bus_c,bus_d,sel, dout); input [3:0] bus_a; input [3:0] bus_b; input [3:0] bus_c; input [3:0] bus_d; input [1:0] sel; output [3:0] dout; assign dout= (sel==2’b00)?bus_a: sel==2’b01 ? bus_b: sel==2’b10 ? bus_c:bus_d; Endmodule 这里首先判断(sel==2’b00)是否成立, 如果成立那么dout就等于bus_a; 否则判断(sel==2’b01)是否成立, 如果成立那么dout就等于bus_b,依次类推。 操作符的优先级 !(逻辑非)、~(按位取反) *(乘法)、/(除法)、%(取模或求余) +(加法)、-(减法) (向左移位)、(向右移位) = =(逻辑相等)、!=(逻辑不等)、===(全等)、!==(非全等) (按位与) ^(按位异或)、^~(按位异或非) |(按位或) (逻辑与) ||(逻辑或) ?:(条件操作符) 优先级别 高优先级 低优先级 并位操作的例子 Verilog中的并位操作符可以把两个或多个信号的某些位拼接起来后作为一个整体进行运算操作。并位操作符为“{}”。 例子: … wire [15:0] data; reg [9:0] addr; wire csn, ale,wen; wire [18:0] interface; assign interface={data[7:0],addr[7:0],csn,ale,wen}; … 指令实现例子 注:数据准备时,如果是负数,将转为补码。计算时,不再考虑是否是负数。 结果也是补码。只有当应用需要时,才判断是正数还是负数,并作相应处理。 以32位数字为例 //vector add signed byte saturate module vaddsbs( vra,vrb, vrt, sat ); input [31 : 0] vra; input [31 : 0] vrb; output [31 : 0] vrt; output sat; wire [34 : 0] opa; wire [34 : 0] opb; wire [34 : 0] sum; wire co; wire [31 : 0] vrt; wire sat1, sat2, sat3, sat4; wire sat; assign opa = {vra[31:24], 1b0, vra[23:16], 1b0, vra[15:8], 1b0, vra[7:0]}; assign opb = {vrb[31:24], 1b0, vrb[23:16], 1b0, vrb[15:8], 1b0, vrb[7:0]}; assign {co,sum} = opa + opb; assign {sat0, vrt[ 7 : 0]} = sum[ 8] == 1b1 ? 9h1ff : {1b0, sum[ 7 : 0]}; // 如果有进位,结果为全1 assign {sat1, vrt[15 : 8]} = sum[17] == 1b1 ? 9h1ff : {1b0, sum[16 : 9]}; assign {sat2, vrt[23 : 16]} = sum[26] == 1b1 ? 9h1ff : {1b0, sum[25 : 18]}; assign {sat3, vrt[31 : 24]} = co == 1b1 ? 9h1ff : {1b0, sum[34 : 27]}; assign sat = sat1 | sat2 | sat3 | sat4; endmodule 第六次作业 任务:VSFX模块的RTL代码的自动对比 目的: 通过用SystemVerilog搭建的自动化验证平台(module_verification文件夹),可以产生随机测试向量,提高仿真覆盖率,验证所设计的代码的正确性。该平台基于systemverilog软硬件自动比
您可能关注的文档
最近下载
- 人教版数学六年级上册第四单元《比》单元整体作业设计 (3).docx VIP
- 2025年水平定向钻市场调查报告.docx
- IPC J-STD-003D CN 中文目前最新版TOC.pdf VIP
- 2024年杭州钱塘新区产业发展集团有限公司下属公司招聘真题及答案详解(各地真题).docx VIP
- 飞机主动杆结构设计及控制策略研究.doc VIP
- 2024年世界职业院校技能大赛中职组“婴幼儿保育组”赛项考试题库-下(多选、判断题汇总).docx VIP
- 全新版大学英语第三册Unit 1 Changes in the way we live.ppt VIP
- CNAS-CL02-A006:2018 医学实验室质量和能力认可准则在输血医学领域的应用说明.pdf VIP
- xx集团粮食仓储及加工基地可行性研究报告.docx
- 2025医院药品不良反应培训.pptx VIP
文档评论(0)