diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-05-16 21:46:38 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-05-16 21:46:38 +0200 |
commit | ac5e38c968ebce2dced8510574bb7e3891686efe (patch) | |
tree | 25831f68d71bfa7297115250efd6fee45900b109 /testsuite/synth/oper01 | |
parent | 2c74d2994ce3bd1c714cacf829845e436160943d (diff) | |
download | ghdl-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.vhdl | 20 | ||||
-rwxr-xr-x | testsuite/synth/oper01/testsuite.sh | 11 |
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" |