当前位置: 首页 > news >正文

抚州市网站建设_网站建设公司_CMS_seo优化

免费学校网站模板html,wordpress 网校插件,山东省无障碍网站建设标准,天津建设工程信息网几点更新文章目录 编写测试验证程序波形产生值序列重复模式 测试验证程序实例从文本文件中读取向量实例#xff1a;时序检测器 测试验证程序用于测试和验证设计方法的正确性。Verilog 提供强有力的结构来说明测试验证程序。 编写测试验证程序 测试验证程序有三个主要目的#xff1a;… 文章目录 编写测试验证程序波形产生值序列重复模式 测试验证程序实例从文本文件中读取向量实例时序检测器 测试验证程序用于测试和验证设计方法的正确性。Verilog 提供强有力的结构来说明测试验证程序。 编写测试验证程序 测试验证程序有三个主要目的 产生模拟激励波形将输入激励加入到测试模块并收集其输出响应将响应输出与期望值进行比较。 典型的测试验证程序形式如下 module test_bench;// 通常测试验证程序没有输入和输出端口Local_reg_and_net_declarationsGenerate_waveforms_using_initial__always_statementsInstantiate_module_under_testMonitor_output_and_compare_with_expected_values endmodule测试中通过在测试验证程序中进行实例化激励自动加载于测试模块。 波形产生 有两种产生激励值的主要方法 产生波形并在确定的离散时间间隔加载激励根据模块状态产生激励即根据模块的输出响应产生激励。 通常需要两类波形。一类是具有重复模式的波形例如时钟波形另一类是一组指定的值确定的波形。 值序列 产生值序列的最佳方法是使用 initial 语句。例如 initialbeginReset 0;#100 Reset 1;#80 Reset 0;#30 Reset 1;end生成的波形如下图所示 如果使用非阻塞性过程赋值产生如上所示的波形则写法如下 initialbeginReset 0;Reset #100 1;Reset #180 0;Reset #210 1;end重复模式 重复模式的生成通过使用如下形式的连续赋值形式加以简化 assign #(PERIOD/2) Clock ~ Clock;但是这种做法并不完全正确。问题在于 Clock 是一个线网(只有线网能够在连续赋值中被赋值)它的初始值是 z并且z 等于 x~ x 等于 x。因此 Clock 的值永远固定为值 x。 下面是一个完整的时钟产生器模块 module Gen_Clk_A(Clk_A);output Clk_A;reg Clk_A;parameter tPERIOD 10;initialClk_A 0;always #(tPERIOD/2) Clk_A ~ Clk_A;测试验证程序实例 下面是 2-4 解码器和它的测试验证程序 timescale 1ns/1ns module Dec2x4(A, B, Enable, Z);input A, B, Enable;output[0:3] Z;wire Abar, Bbar;not #(1, 2)V0(Abar, A);V1(Bbar, B);nand #(4, 3)N0(Z[0], Enable, Abar, Bbar);N0(Z[1], Enable, Abar, B);N0(Z[2], Enable, A, Bbar);N0(Z[3], Enable, A, B); endmodulemodule Dec_Test;reg Da, Db, Dena;wire[0:3] Dz;Dec2x4 D1(Da, Db, Dena, Dz);initialbeginDena 0;Da 0;Db 0;#10 Dena 1;#10 Da 1;#10 Db 1;#10 Da 0;#10 Db 0;#10 $stop;endalways(Dena or Da or Db or Dz)$display(At time %t, input is %b%b%b, output is %b, $time, Da, Db, Dena, Dz); endmodule从文本文件中读取向量 可用 $readmemb 系统任务从文本文件中读取向量(可能包含输入激励和输出期望值)。下面为测试 3 位全加器电路的例子。假定文件 test.vec 包含如下两个向量 向量的前三位对应于输入 A接下来的三位对应于输入 B再接下来的位是进位八到十位是期望的求和结果最后一位是期望进位值的输出结果。下面是全加器模块和相应的测试验证程序 module Adder1Bit(A, B, Cin, Sum, Cout);input A, B, Cin;output Sum, Cout;assign Sum (A ^ B) ^ Cin;assign Cout (A ^ B) | (A Cin) | (B Cin); endmodulemodule Adder3Bit(First, Second, Carry_In, Sum_Out, Carry_Out);input[0:2] First, Second;input Carry_In;output[0:2] Sum_Out;output Carry_Out;wire[0:1] Car;Adder1BitA1(First[2], Second[2], Carry_In, Sum_Out[2], Car[1]),A1(First[1], Second[1], Car[1], Sum_Out[1], Car[0]),A1(First[0], Second[0], Car[0], Sum_Out[0], Carry_Out); endmodulemodule TestBench;parameter BITS 11, WORDS 2;reg[1:BITS] Vmem[1:WORDS];reg[0:2] A, B, Sum_Ex;reg Cin, Cout_Ex;integer J;wire[0:2] Sum;wire Cout;Adder3Bit F1(A, B, Cin, Sum, Cout);initialbegin$readmemb(test.vec, Vmem);for(J1, JWORDS; JJ1)begin{A, B, Cin, Sum_Ex, Cout_Ex} Vmem[J]#5;if((Sum ! Sum_Ex) || (Cout ! Cout_Ex))$display(****Mismatch on vector %b ****, Vmem[J]);else$display(No mismatch on vector %b, Vmem[J]);endend endmodule测试模块中首先定义存储器 Vmem字长对应于每个向量的位数存储器字数对应于文件中的向量数。 实例时序检测器 检测数据线上连续三个 1 的序列。在时钟的每个下沿检查数据状态图如下 module Count3_1s(Data, Clock, Detect3_1s);input Data, Clock;output Detect3_1s;integer Count;reg Detect3_1s;initial beginCount 0;Detect3_1s 0;endalways(negedge Clock) beginif(Data 1)Count Count 1;elseCount 0;if(Count 3)Detect3_1s 1;else:Detect3_1s 0;end endmodulemodule Top;reg Data, Clock;wire Detect;integer Out_File;Count3_1s F1(Data, Clock, Detect);initial beginClock 0;forever#5 Clock ~ Clock;endinitial beginData 0;#5 Data 1;#40 Data 0;#10 Data 1;#40 Data 0;#20 $stop;endinitial beginOut_File $fopen(results.vectors);$montitor(Out_File, Clock %b, Data %b, Detect %b, Clock, Data, Detect);end endmodule
http://www.ihoyoo.com/news/108152.html

相关文章:

  • 静态动漫网站模板网页设计师培训和继续教育的机会
  • 网站 开发 备案代理企业自己做网站方法
  • 旧电脑怎么做网站网站模板 html
  • 汉中网站seo溧水区住房建设局网站
  • 山东济南网站制作wordpress 悬浮广告
  • 微信网站怎么写网站开发经理具备什么知识
  • WordPress网站图片预加载shopify和wordpress
  • 外贸营销型网站设计起名网站是怎么做的
  • 常平镇网站仿做企业网站最下面的那栏叫啥
  • 中介网站设计单页网站优化
  • win2012 iis配置网站书画艺术网站建设
  • vs 网站开发自己做网站百度会收录
  • 建设个人网站ip天天外链
  • 大气装饰公司网站源码深圳辰硕网站优化
  • aspx网站开发苏州工业园区属于哪个区
  • 网站前后台模板付费网站怎么制作
  • wamp网站根目录配置变性 wordpress
  • 做国际网站怎么做wordpress 底部备案号
  • 官方网站建设维护合作协议wordpress禁止评论
  • 网站开发背景怎么写怎么做国内外网站
  • 比较冷门的视频网站做搬运做网站用什么语言简单
  • 智能建站收费标准做推广网站的文章
  • 做乐高肖像的网站山东淄博网络科技有限公司
  • 城市建设局网站免费制作头像
  • 4a级旅游网站建设的要求无为住建设局网站
  • 什么网站做电子章做得好深圳积分商城网站建设
  • 如何将网站地图提交给百度怎么用wordpress做
  • 济南制作网站软件四川省建设网站电子签章
  • 汽车设计网站大全筑人才官网
  • 哈尔滨的网站建设公司网站建设需要些什么软件