verilog: add sv_maps iterators
[ghdl-vlg.git] / testsuite / synth / issue1014 / record_test.vhdl
blob9362d7c4a32d25b3a08ab55cadb62c97c961f035
1 library ieee;
2   use ieee.std_logic_1164.all;
4 entity record_test is
5   port (
6     o : out integer
7   );
8 end record_test;
10 architecture rtl of record_test is
11   type t_record is record
12     int  : integer;
13   end record t_record;
15   function get_constants(choice : std_logic) return t_record is
16     variable v_const : t_record;
17   begin
18     if choice = '0' then
19       v_const := (int => 27.777 us / 83.333 ns);
20     elsif choice = '1' then
21       v_const := (int => 26.316 us / 83.333 ns);
22     end if;
23     return v_const;
24   end function get_constants;
26   constant rec_constant : t_record := get_constants('0');
27   signal int_test : integer range 0 to rec_constant.int := 0;
28   signal slv_test : std_logic_vector(rec_constant.int downto 0) := (others => '0');
29 begin
30   o <= rec_constant.int;
31 end rtl;