diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-08-29 06:57:04 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-08-29 06:57:04 +0200 |
commit | 70bca998891387e66b3cf522b3d66b8e873de08d (patch) | |
tree | 553d22efbe8dd03ac7b7b2067ab71edb80c8b6f9 /testsuite/synth/issue39/rec2.vhdl | |
parent | 698c668481e9ca77234317bca7047efd8210c24c (diff) | |
download | ghdl-70bca998891387e66b3cf522b3d66b8e873de08d.tar.gz ghdl-70bca998891387e66b3cf522b3d66b8e873de08d.tar.bz2 ghdl-70bca998891387e66b3cf522b3d66b8e873de08d.zip |
testsuite/synth: add testcase for records. Temporary disable stmt01
Diffstat (limited to 'testsuite/synth/issue39/rec2.vhdl')
-rw-r--r-- | testsuite/synth/issue39/rec2.vhdl | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/testsuite/synth/issue39/rec2.vhdl b/testsuite/synth/issue39/rec2.vhdl new file mode 100644 index 000000000..a631d0505 --- /dev/null +++ b/testsuite/synth/issue39/rec2.vhdl @@ -0,0 +1,43 @@ +library ieee; + use ieee.std_logic_1164.all; + use ieee.numeric_std.all; + +entity rec2 is + port ( + clk : in std_logic; + + sl_in : in std_logic; + slv_in : in std_logic_vector(7 downto 0); + int_in : in integer range 0 to 15; + usig_in : in unsigned(7 downto 0); + + sl_out : out std_logic; + slv_out : out std_logic_vector(7 downto 0); + int_out : out integer range 0 to 15; + usig_out : out unsigned(7 downto 0) + ); +end rec2; + +architecture rtl of rec2 is + type t_record is record + sl : std_logic; + slv : std_logic_vector(7 downto 0); + int : integer range 0 to 15; + usig : unsigned(7 downto 0); + end record t_record; + signal sample_record : t_record; +begin + process(clk) + begin + if rising_edge(clk) then + sample_record.sl <= sl_in; + sample_record.slv <= slv_in; + sample_record.int <= int_in; + sample_record.usig <= usig_in; + end if; + end process; + sl_out <= sample_record.sl; + slv_out <= sample_record.slv; + int_out <= sample_record.int; + usig_out <= sample_record.usig; +end rtl; |