写了VHDL程序后,想功能仿真,verilog中的testbench有很多的书介绍,但是vhdl的testbench却很少很少,原因也有很多吧,主要是VHDL的testbench太麻烦,但是我却学到VHDL了,所以写testbench也只有用vhdl,现在才开始学习,希望与大家讨论学习。
这里有一个例子:
ENTITY testbench IS END;
-----------------------------------------------------------
-- STIMULUS ONLY
-- testbench for 8-bit loadable counter
-- reads from file “counter.txt”
-----------------------------------------------------------
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE std.textio.ALL;
USE ieee.std_logic_textio.all;
USE WORK.count_types.all;
ARCHITECTURE stimonly OF testbench IS
-----------------------------------
-- component declaration for counter
-----------------------------------
COMPONENT count
PORT (clk : IN std_logic;
ld : IN std_logic;
up_dwn : IN std_logic;
clk_en : IN std_logic;
din : IN bit8;
qout : INOUT bit8);
END COMPONENT;
SIGNAL clk, ld, up_dwn, clk_en : std_logic;
SIGNAL qout, din : bit8;
BEGIN
-- instantiate the component
uut: count PORT MAP(clk => clk,
ld => ld,
up_dwn => up_dwn,
。。。。。。。
Stimulus only—只包含了激励输入与被测试元件信息.
Full testbench—不仅包含了激励输入还包括了输出信息与期望结果的比较
Simulator specific—常常允许设计者控制仿真器
Hybrid testbench—是多种风格的综合。
Fast testbench—上面几种风格均可能从文件中读取数据,这可能影响仿真速度,所以使用这种方法将不会限制仿真速度