diff options
-rw-r--r-- | testsuite/synth/issue1408/fixed_point_example.vhdl | 19 | ||||
-rwxr-xr-x | testsuite/synth/issue1408/testsuite.sh | 7 |
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" |