100. TESTBENCH
Для того чтобы управлять процессом моделирования устройств на
HDL языках пишутся специальные программы (на них же) которые формируют
необходимые сигналы.
Пример компонент (NOT4 инвертор):
library ieee;
use ieee.std_logic_1164.all;
entity Not4 is
port(
A : in std_logic;
D : out std_logic);
end Not4;
architecture Example of Not4 is
begin
D <= not A after 2 ns;
end Example;
TestBench for NOT4 инвертор:
library ieee;
use ieee.std_logic_1164.all;
ENTITY tb is
-- no need for any ports or generics
End Not4_tb ;
architecture arch of tb IS
component Not4 is
port(
A : in std_logic;
D : out std_logic );
end component;
constant period : time := 50 ns ;
signal clk : std_logic := '0'; -- Initial state zero
signal AA, DD : std_logic := '0';
begin
U1: Not4
port map(
D => DD,
A => AA) ;
ClkProcess: PROCESS(clk) -- Generate clock
begin
if (clk = '1') then
AA <= not AA;
end if;
clk <= NOT clk after period / 2 ;
end process;
end arch;
Index Prev Next