《EDA 与数字系统设计 第2版 教学课件 ppt 作者 李国丽 等编著 CH3 ch3-5》由会员分享,可在线阅读,更多相关《EDA 与数字系统设计 第2版 教学课件 ppt 作者 李国丽 等编著 CH3 ch3-5(7页珍藏版)》请在金锄头文库上搜索。
1、第三章 Verilog HDL硬件描述语言,3.1 Verilog HDL概述 3.2 Verilog HDL语言要素 3.3 Verilog HDL基本语句 3.4 Verilog HDL门元件和结构描述 3.5 仿真验证 3.6 可综合性描述 3.7 设计实例,3.5 仿真验证(Simulation),仿真是电路设计中用来对设计者的硬件描述和设计结果进行调试(Debug)、验证(Verification)的方法之一。 当设计者采用HDL描述设计了一个硬件电路后,需要验证其正确性。采用自顶向下的设计方法时,从系统级、行为级、RTL(Register Transfer Level)到门级,每个
2、层次的设计结果都需要仿真,确保设计中的错误尽早发现及时解决,以缩短设计周期。,3.5 仿真验证(Simulation),测试文件是一个没有输入和输出的顶层模块。一个测试文件包括被测模块的映射,以及通过initial行为描述施加的测试向量,仿真结果的显示或输出,以及辅助模块的映射和各种必须环境的建立。典型的测试文件形式为: module module_name; /数据类型声明 /被测模块的映射 /施加测试向量 /显示仿真结果 endmodule,例 同步计数器的verilog HDL描述,module counter(clk,en,clr,result); input clk, en , cl
3、r; output 7:0 result; reg 7:0 result; always ( posedge clk ) begin if ( en ) if (clr | result = = 8b1111_1111) result = 8b0000_0000; else result = result+1; end endmodule,例 计数器的测试文件,timescale 1ns/1ns /定义时间精度 module test; reg clk, en, clr; wire 7:0 result; counter counter(clk,en,clr,result); initial
4、/产生时钟信号,周期为100个时间 begin #10 clk=1; forever #50 clk=clk; end initial /测试使能功能,例 计数器的测试文件,Initial /测试清零功能 begin #10 clr=0; #130 clr=1; #150 clr=0; end initial begin #20000 $stop; #20 $finish; /再经过20个时间单位结束。 end endmodule,initial /测试使能功能 begin #10 en=0; #190 en=1; #150 en=0; #240 en=1; #1970 en=0; #140 en=1; end,例 计数器的仿真结果,从图仿真波形图上可以看到使能信号和清零信号的作用。其中,使能信号的失效暂停计数,但不会使计数器清零,而清零信号则使计数器清零。,