aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/bug040/mul_213.vhd
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2016-03-15 20:28:56 +0100
committerTristan Gingold <tgingold@free.fr>2016-03-15 20:28:56 +0100
commit37192248646ce7b4688f105877449c640e5039ce (patch)
tree9cc7877a5b50d3e48373a39dcbedd7419c5b35c9 /testsuite/gna/bug040/mul_213.vhd
parentf4a61202e89d2e29416ae9a4b59bea665336c325 (diff)
downloadghdl-37192248646ce7b4688f105877449c640e5039ce.tar.gz
ghdl-37192248646ce7b4688f105877449c640e5039ce.tar.bz2
ghdl-37192248646ce7b4688f105877449c640e5039ce.zip
Add bug040 testcase.
Diffstat (limited to 'testsuite/gna/bug040/mul_213.vhd')
-rw-r--r--testsuite/gna/bug040/mul_213.vhd27
1 files changed, 27 insertions, 0 deletions
diff --git a/testsuite/gna/bug040/mul_213.vhd b/testsuite/gna/bug040/mul_213.vhd
new file mode 100644
index 000000000..7eccb59e1
--- /dev/null
+++ b/testsuite/gna/bug040/mul_213.vhd
@@ -0,0 +1,27 @@
+library ieee;
+use ieee.std_logic_1164.all;
+
+library ieee;
+use ieee.numeric_std.all;
+
+entity mul_213 is
+ port (
+ output : out std_logic_vector(40 downto 0);
+ in_b : in std_logic_vector(31 downto 0);
+ in_a : in std_logic_vector(31 downto 0)
+ );
+end mul_213;
+
+architecture augh of mul_213 is
+
+ signal tmp_res : signed(63 downto 0);
+
+begin
+
+ -- The actual multiplication
+ tmp_res <= signed(in_a) * signed(in_b);
+
+ -- Set the output
+ output <= std_logic_vector(tmp_res(40 downto 0));
+
+end architecture;