aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/issue1408
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-07-27 06:55:47 +0200
committerTristan Gingold <tgingold@free.fr>2020-07-27 06:55:47 +0200
commita41a740c1b1d4569ad2f27096a9760c1789630a6 (patch)
treea84fc38f3f1adeb0dbae60c81793a12a8020d18f /testsuite/synth/issue1408
parent5a7f21194a2f7353a70570cbbab0f2cac06ed020 (diff)
downloadghdl-a41a740c1b1d4569ad2f27096a9760c1789630a6.tar.gz
ghdl-a41a740c1b1d4569ad2f27096a9760c1789630a6.tar.bz2
ghdl-a41a740c1b1d4569ad2f27096a9760c1789630a6.zip
testsuite/synth: add a test for #1408
Diffstat (limited to 'testsuite/synth/issue1408')
-rw-r--r--testsuite/synth/issue1408/fixed_point_example.vhdl19
-rwxr-xr-xtestsuite/synth/issue1408/testsuite.sh7
2 files changed, 26 insertions, 0 deletions
diff --git a/testsuite/synth/issue1408/fixed_point_example.vhdl b/testsuite/synth/issue1408/fixed_point_example.vhdl
new file mode 100644
index 000000000..620401a84
--- /dev/null
+++ b/testsuite/synth/issue1408/fixed_point_example.vhdl
@@ -0,0 +1,19 @@
+library ieee;
+ use ieee.std_logic_1164.all;
+ use ieee.fixed_pkg.all;
+ use ieee.fixed_float_types.all;
+
+entity fixed_point_example is
+end fixed_point_example;
+
+architecture behavioral of fixed_point_example is
+ -- from fixed point user guide:
+ -- Result of "Signed Reciprocal(A)" has range "-A'right downto -A'left-1".
+ -- Result of "Unsigned Reciprocal(A)" has range "-A'right +1 downto -A'left".
+ constant C_SIGNED_VALUE : sfixed(7 downto 0) := (others => '0');
+ constant C_RECIPROCAL_SIGNED_VALUE : sfixed(0 downto -8) := reciprocal(C_SIGNED_VALUE);
+
+ constant C_UNSIGNED_VALUE : ufixed(7 downto 0) := (others => '0');
+ constant C_RECIPROCAL_UNSIGNED_VALUE : ufixed(1 downto -7) := reciprocal(C_UNSIGNED_VALUE);
+begin
+end behavioral;
diff --git a/testsuite/synth/issue1408/testsuite.sh b/testsuite/synth/issue1408/testsuite.sh
new file mode 100755
index 000000000..0e17da673
--- /dev/null
+++ b/testsuite/synth/issue1408/testsuite.sh
@@ -0,0 +1,7 @@
+#! /bin/sh
+
+. ../../testenv.sh
+
+synth --expect-failure --std=08 fixed_point_example.vhdl -e
+
+echo "Test successful"