-- Umgesetzt´wird der Aiken in den -- 3 Excess Code und umgekehrt abhängig -- vom Steuersignal s. library ieee; use ieee.std_logic_1164.all; entity aiken_to_3_excess is port (s : in std_logic; x : in std_logic_vector (3 downto 0); z : out std_logic_vector (3 downto 0); e : out std_logic); end entity aiken_to_3_excess; architecture verhalten of aiken_to_3_excess is signal sx, ez : std_logic_vector (4 downto 0); begin sx <= s & x; with sx select -- Ab hier Umwandlung von Aiken in 3 Excess-Code (s = 0) ez <= "00011" when "00000", "00100" when "00001", "00101" when "00010", "00110" when "00011", "00111" when "00100", "01000" when "01011", "01001" when "01100", "01010" when "01101", "01011" when "01110", "01100" when "01111", -- Ab hier Umwandlung von 3 Excess in Aiken-Code (s = 1) "00000" when "10011", "00001" when "10100", "00010" when "10101", "00011" when "10110", "00100" when "10111", "01011" when "11000", "01100" when "11001", "01101" when "11010", "01110" when "11011", "01111" when "11100", -- Fehlersignal e, falls Code nicht umgesetzt werden kann -- Alle Ausgänge werden dann hochohmig geschaltet "1ZZZZ" when others; z <= ez (3 downto 0); e <= ez (4); end architecture verhalten;