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