aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/issue39/rec2.vhdl
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2019-08-29 06:57:04 +0200
committerTristan Gingold <tgingold@free.fr>2019-08-29 06:57:04 +0200
commit70bca998891387e66b3cf522b3d66b8e873de08d (patch)
tree553d22efbe8dd03ac7b7b2067ab71edb80c8b6f9 /testsuite/synth/issue39/rec2.vhdl
parent698c668481e9ca77234317bca7047efd8210c24c (diff)
downloadghdl-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.vhdl43
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;