编写验证程序材料.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
思考 在blocking模块中,如下改变,仿真和综合结果有什么变化? 1 always@(posedge clk) begin c=b; b=a; end 2 always @(posedge clk) b=a; always @(posedge clk) c=b; 生成的result文件内容 at time 35,detect out is 1 at time 45,detect out is 1 at time 85,detect out is 1 at time 95,detect out is 1 例 3位全加器设计和验证 module Adder1Bit (A, B, Cin, Sum, Cou)t ; input A, B, Cin; output Sum, Cout; assign Sum = (A ^ B ) ^ Cin; assign Cout = (A ^ B )| (A Cin) | (B Cin) ; endmodule module Adder3Bit (First, Second, Carry_In,Sum_Out, Carry_)O ;ut input [0:2] First, Second; input C a r r y _ I n; output [0:2] sum _ Out; output Carry _ O t ; wire [0:1] Car ; Adder1bit A1 (First[2], Second[2], Carry_In,Sum_Out [2], Car[ 1 ] ), A2 (First[1], Second[1], Car[1], Sum_Out [ 1 ] ,Car[ 0 ] ) , A3 (First[0], Se cond[0], Car[0], Sum_Out [0], Carry _ Out) ; endmodule module TestBench; parameter BITS = 11, WORDS= 2 ; reg [1:BITS] Vmem [ 1 :W O R D S] ; reg[ 0 : 2 ] A , B , Sum _ E x; reg Cin, Cout_Ex; integer J; wire [0:2] Sum; wire Cout; / /被测试验证的模块实例。 Adder3Bit F1 (A, B, Cin, Sum, Cout ) ; initial begin $readmemb (test.vec, Vmem ) ; for (J = 1; J = W O R D S; J = J + 1) begin {A, B, Cin, Sum_Ex, Cout_}E x= Vmem [J] ; #5; //延迟5个时间单位等待电路稳定。 if ( (Sum ! = = Sum _ E x) | | (Cout ! = = Cout _ E x) ) $display (****Mismatch on vector %b *****Vm,em [J] ) ; else $display (No mismatch on vector %bVmem [J] ) ; end end endmodule $ readmemb系统任务从文本文件中读取向量(可能包含输入激励和输出期望值)。假定文件“ test.vec”包含如下两个向量。 向量的前三位对应于输入A,接下来的三位对应于输入B,再接下来的位是进位,八到十位是期望的求和结果,最后一位是期望进位值的输出结果。 测试模块中首先定义存储器Vmem,字长对应于每个向量 的位数,存储器字数对应于文件中的向量数。 系统任务$readmemb从文件“test.vec”中将向量读入 存储器Vmem中。for循环通过存储器中的每个字,即每 个向量,将这些向量应用于待测试的模块,等待模块稳 定并探测模块输出。条件语句用于比较期望输出值和监 测到的输出值。如果发生不匹配的情况,则输出不匹配 消息。下面是以上测试验证模块模拟执行时产生的输出 。因为模型中不存在错误,因此没有报告不匹配情形。 No mismatch on vector 01001001000 No mismatch on vector 01001111100 本例中的验证模块将所有输入向量和观察到的输出结果输出 到文件“mon.Out”中。 module F _ Tes _ Bench; parameter BITS = 11, WORDS= 2 ; reg [ 1

文档评论(0)

w5544434 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档