aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/oper01
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-05-16 21:46:38 +0200
committerTristan Gingold <tgingold@free.fr>2020-05-16 21:46:38 +0200
commitac5e38c968ebce2dced8510574bb7e3891686efe (patch)
tree25831f68d71bfa7297115250efd6fee45900b109 /testsuite/synth/oper01
parent2c74d2994ce3bd1c714cacf829845e436160943d (diff)
downloadghdl-ac5e38c968ebce2dced8510574bb7e3891686efe.tar.gz
ghdl-ac5e38c968ebce2dced8510574bb7e3891686efe.tar.bz2
ghdl-ac5e38c968ebce2dced8510574bb7e3891686efe.zip
testsuite/synth: add more tests for static multiplication.
Diffstat (limited to 'testsuite/synth/oper01')
-rw-r--r--testsuite/synth/oper01/snum06.vhdl20
-rwxr-xr-xtestsuite/synth/oper01/testsuite.sh11
2 files changed, 23 insertions, 8 deletions
diff --git a/testsuite/synth/oper01/snum06.vhdl b/testsuite/synth/oper01/snum06.vhdl
new file mode 100644
index 000000000..57f9251d6
--- /dev/null
+++ b/testsuite/synth/oper01/snum06.vhdl
@@ -0,0 +1,20 @@
+entity snum06 is
+end snum06;
+
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+architecture behav of snum06 is
+begin
+ assert signed'("0100") * signed'("001") = signed'("0000100");
+ assert signed'("0101") * signed'("001") = signed'("0000101");
+ assert signed'("0101") * signed'("011") = signed'("0001111");
+ assert signed'("11") * signed'("11") = signed'("0001");
+ assert signed'("10") * signed'("11") = signed'("0010");
+ assert signed'("10") * signed'("01") = signed'("1110");
+ assert signed'("01") * signed'("10") = signed'("1110");
+
+ assert unsigned'("1011") * unsigned'("000011") = unsigned'("0000100001");
+ -- assert false report to_bstring(unsigned'("1011") * unsigned'("000011"));
+end behav;
diff --git a/testsuite/synth/oper01/testsuite.sh b/testsuite/synth/oper01/testsuite.sh
index d91a4e941..b96f0789d 100755
--- a/testsuite/synth/oper01/testsuite.sh
+++ b/testsuite/synth/oper01/testsuite.sh
@@ -3,14 +3,9 @@
. ../../testenv.sh
for t in snum01 snum02 snum03 snum04 snum05 cmp01 cmp02 match01 uns01; do
- analyze $t.vhdl tb_$t.vhdl
- elab_simulate tb_$t --ieee-asserts=disable-at-0
- clean
-
- synth $t.vhdl -e $t > syn_$t.vhdl
- analyze syn_$t.vhdl tb_$t.vhdl
- elab_simulate tb_$t --ieee-asserts=disable-at-0
- clean
+ synth_tb $t
done
+synth_only snum06
+
echo "Test successful"