文档介绍:第十一章 VHDL 仿真与综合 2010 年 11 月第一节 VHDL 仿真一、仿真的种类 1、行为仿真( Behavioral simulation ) 2、功能仿真( Functional simulation ) 3、静态定时分析( Static timing analysis ) 4、门级仿真( Gate-level simulation ) 5、开关级仿真( Switch-level simulation ) 6、晶体管级或电路级仿真( Transistor- level or circuit-level simulation ) 第一节 VHDL 仿真二、 VHDL 的仿真 VHDL 语言是一种硬件描述语言,我们设计的 VHDL 程序就是对数字系统的描述。为了验证所设计的模块是否正确,还必需对这些模块进行仿真。仿真采用 VHDL 仿真器( Simulator ) 进行。通过仿真器设计者可对各设计层次的设计模块进行仿真,以确定这些设计模块的功能、逻辑关系及定时关系是否满足设计要求。所以,仿真是利用 VHDL 语言进行硬件设计的一个必不可少的步骤,它贯穿设计的整个过程。仿真可分为功能仿真和定时仿真,功能仿真用于验证设计模块的逻辑功能,定时仿真用来验证设计模块的时序关系。无论哪种仿真,都需要在输入端加输入信号,即激励信号,然后运行仿真器,仿真器根据电路模型产生所设计电路对激励信号的响应,设计者通过对响应信号的分析(如观察波形)以确定所设计电路是否正确。测试平台的结构?测试平台( Testbench ): ?测试过程: 负责管理仿真进程及测试流程. ?全局激励模块: 负责产生系统全局信号矢量, 如: CLOCK, RESET 及初始化条件。?硬件模型:被测试的模块。应为设计的顶层模块。?仿真模型:与硬件模型连接的其它模块。 1、激励信号的产生?图形产生? VHDL 语言产生?时钟产生方法 clock : PROCESS begin wait for 10 ns ; clk <= not clk ; end PROCESS clock; ?其他信号产生方法 stimulus : PROCESS begin wait for 5 ns ; reset <= '1'; wait for 4 ns ; reset <= '0'; wait; end PROCESS stimulus; entity test_counter is PORT ( count : BUFFER bit_vector (8 downto 1)); end; architecture only of test_counter is COMPONENT counter PORT ( count : BUFFER bit_vector (8 downto 1); clk : IN bit; reset : IN bit); PONENT ; SIGNAL clk : bit := '0'; SIGNAL reset : bit := '0'; begin