diff options
Diffstat (limited to 'testsuite/synth/sns01/unaries.vhdl')
-rw-r--r-- | testsuite/synth/sns01/unaries.vhdl | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/testsuite/synth/sns01/unaries.vhdl b/testsuite/synth/sns01/unaries.vhdl new file mode 100644 index 000000000..3a58f6592 --- /dev/null +++ b/testsuite/synth/sns01/unaries.vhdl @@ -0,0 +1,33 @@ +library ieee; +use ieee.std_logic_1164.all; + +entity unaries is + port ( + l4 : std_logic_vector (3 downto 0); + + plus_u4u : out std_logic_vector (3 downto 0); + plus_s4s : out std_logic_vector (3 downto 0); + minus_s4s : out std_logic_vector (3 downto 0); + abs_s4s : out std_logic_vector (3 downto 0); + + plus_u4v : out std_logic_vector (3 downto 0); + plus_s4v : out std_logic_vector (3 downto 0); + minus_s4v : out std_logic_vector (3 downto 0); + abs_s4v : out std_logic_vector (3 downto 0)); +end unaries; + +library ieee; +use ieee.std_logic_arith.all; + +architecture behav of unaries is +begin + plus_u4u <= std_logic_vector (unsigned'(+unsigned(l4))); + plus_s4s <= std_logic_vector (signed'(+signed(l4))); + minus_s4s <= std_logic_vector (signed'(-signed(l4))); + abs_s4s <= std_logic_vector (signed'(abs signed(l4))); + + plus_u4v <= +unsigned(l4); + plus_s4v <= +signed(l4); + minus_s4v <= -signed(l4); + abs_s4v <= abs signed(l4); +end behav; |