aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/issue807/reproct.vhdl
blob: d8a82eec2320c2b8c002de4217f780ab10569146 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
entity reproct is
   generic ( lowb : integer := 1 ;
             highb : integer := 10 ;
             lowb_i2 : integer := 0 ;
             highb_i2 : integer := 1000 );
   
   constant c_boolean_1 : boolean := false ;
   constant c_boolean_2 : boolean := true ;
   constant c_integer_1 : integer := lowb ;
   constant c_integer_2 : integer := highb ;
   constant c_time_1 : time := 1 ns ;
   constant c_time_2 : time := 2 ns ;
   constant c_real_1 : real := 0.0 ;
   constant c_real_2 : real := 1.0 ;

   type     t_rec1 is record
              f1 : integer range lowb_i2 to highb_i2 ;
              f2 : time ;
              f3 : boolean ;
              f4 : real ;
           end record ;
  constant c_t_rec1_1 : t_rec1 :=
                          (c_integer_1, c_time_1, c_boolean_1, c_real_1) ;
  constant c_t_rec1_2 : t_rec1 :=
                          (c_integer_2, c_time_2, c_boolean_2, c_real_2) ;
  subtype  st_rec1 is t_rec1 ;
  constant c_st_rec1_1 : st_rec1 := c_t_rec1_1 ;
  constant c_st_rec1_2 : st_rec1 := c_t_rec1_2 ;

end;

architecture ARCH of reproct is
   signal i_t_rec1_1, i_t_rec1_2 : st_rec1
       := c_st_rec1_1 ;
begin
   L1:
   block
   port (i_t_rec1_1 : inout t_rec1 := c_st_rec1_1 ) ;
   port map (i_t_rec1_1) ;
   begin
         i_t_rec1_1 <= c_st_rec1_2 ;
   end block L1 ;
end ARCH ;