verilog: add sv_maps iterators
[ghdl-vlg.git] / testsuite / synth / rec01 / tb_rec01.vhdl
blobda9e0ff38345914207e87063c602999fc357989a
1 entity tb_rec01 is
2 end tb_rec01;
4 library ieee;
5 use ieee.std_logic_1164.all;
6 use work.rec01_pkg.all;
8 architecture behav of tb_rec01 is
9   signal inp : myrec;
10   signal clk : std_logic;
11   signal rst : std_logic;
12   signal r : std_logic;
13 begin
14   dut: entity work.rec01
15     port map (inp => inp, clk => clk, rst => rst, o => r);
17   process
18     procedure pulse is
19     begin
20       clk <= '0';
21       wait for 1 ns;
22       clk <= '1';
23       wait for 1 ns;
24     end pulse;
25   begin
26     rst <= '1';
27     pulse;
28     assert r = '1' severity failure;
30     rst <= '0';
31     inp <= (a => "0010", b => '1');
32     pulse;
33     assert r = '1' severity failure;
35     rst <= '0';
36     inp <= (a => "0001", b => '1');
37     pulse;
38     assert r = '0' severity failure;
40     wait;
41   end process;
42 end behav;