diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-04-16 18:23:44 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-04-16 18:23:44 +0200 |
commit | b45295888fb56576468d9ead8fe214424f692e25 (patch) | |
tree | 99d8bd52b067cd8069576a00a7d542adbd9de15b | |
parent | 5e44162730531a83f4458cae6d61170839890b94 (diff) | |
download | ghdl-b45295888fb56576468d9ead8fe214424f692e25.tar.gz ghdl-b45295888fb56576468d9ead8fe214424f692e25.tar.bz2 ghdl-b45295888fb56576468d9ead8fe214424f692e25.zip |
testsuite/synth: add test for #1230
-rw-r--r-- | testsuite/synth/issue1230/delayline.vhdl | 34 | ||||
-rwxr-xr-x | testsuite/synth/issue1230/testsuite.sh | 7 |
2 files changed, 41 insertions, 0 deletions
diff --git a/testsuite/synth/issue1230/delayline.vhdl b/testsuite/synth/issue1230/delayline.vhdl new file mode 100644 index 000000000..153dd5916 --- /dev/null +++ b/testsuite/synth/issue1230/delayline.vhdl @@ -0,0 +1,34 @@ +library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+entity DelayLine is
+ generic (
+ Depth : natural := 2;
+ Width : natural := 16
+ );
+
+ port(
+ din : in signed(Width-1 downto 0);
+ clk : in std_logic;
+ ce : in std_logic;
+ dout : out signed(Width-1 downto 0)
+ );
+end DelayLine;
+
+architecture behavioral of DelayLine is
+ type DelayType is array (0 to Depth-1) of signed(Width-1 downto 0);
+ signal DataBuffer : DelayType;
+begin
+ dout <= DataBuffer(Depth-1);
+
+ process (clk)
+ begin
+ if rising_edge (clk) then
+ if (ce = '1') then
+ DataBuffer(0) <= din;
+ DataBuffer(1 to Depth-1) <= DataBuffer(0 to Depth-2); --XX
+ end if;
+ end if;
+ end process;
+end behavioral;
diff --git a/testsuite/synth/issue1230/testsuite.sh b/testsuite/synth/issue1230/testsuite.sh new file mode 100755 index 000000000..547b21877 --- /dev/null +++ b/testsuite/synth/issue1230/testsuite.sh @@ -0,0 +1,7 @@ +#! /bin/sh + +. ../../testenv.sh + +synth -gdepth=1 DelayLine.vhdl -e > syn_delayline.vhdl + +echo "Test successful" |