ModelSim,首先(open)打开需要仿真的模块 ,Source ->Show Language Templates,
在显示的 Language Templates栏目中选择“Create Testbench”
软件自动d出的"Create Testbench Wizzard”窗口中,在"work"下选择待仿真模块,按照提示走完,即自动生成。
扩展资料
主要特点
RTL和门级优化,本地编译结构,编译仿真速度快,跨平台跨版本仿真;
单内核VHDL和Verilog混合仿真;
源代码模版和助手,项目管理;
集成了性能分析、波形比较、代码覆盖、数据流ChaseX、Signal Spy、虚拟对象Virtual Object、Memory窗口、Assertion窗口、源码窗口显示信号值、信号条件断点等众多调试功能;
C和Tcl/Tk接口,C调试;
对SystemC的直接支持,和HDL任意混合;
支持SystemVerilog的设计功能;
对系统级描述语言的最全面支持,SystemVerilog,SystemC,PSL;
ASIC Sign off。可以单独或同时进行行为(behavioral)、RTL级、和门级(gate-level)的代码。
需要什么样的激励可以自己改,没有测试,你自己试一下。library ieee
use ieee.std_logic_1164.all
use ieee.std_logic_unsigned.all
entity testbench is --一个空的实体,没有输入和输出。
end testbench
architecture one of testbench is
component choice is
port(nextt:IN STD_LOGIC
start:IN STD_LOGIC
s1,s2,s3:OUT INTEGER RANGE 0 TO 3
led:OUT STD_LOGIC_VECTOR(2 DOWNTO 0))
end component choice --被测器件的申明。
signal nextt :std_logic:='0'
signal start :std_logic:='1'
signal s1,s2,s3: std_logic
signal led: std_logic_vector(3 downto 0) --所要信号的申明
constant clk_period :time :=20 ns
begin
U1: choice port map(
nextt =>nextt,
start =>start,
s1 =>s1,
s2 =>s2,
s3 =>s3,
led =>led)--进行信号的匹配
clkProcess: --nextt激励(时钟)
process
begin
wait for clk_period/2
nextt <= '1'
wait for clk_period/2
nextt <= '0'
end process
startProcess: process --start激励
begin
start<='1'
wait for 300ns
start<='0'
wait
end process ClockProcess
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)