-- Pseudo-random number decoder -- -- Signals: -- din: 5 bits pseudo-random number input -- dout: 4 bits binary number output library ieee; use ieee.std_logic_1164.all; ------------------------------------------------------- -- psedo-counter decoder ------------------------------------------------------- entity pcount_decoder is port (din : in std_logic_vector (4 downto 0); dout : out std_logic_vector (3 downto 0) ); end; architecture arch of pcount_decoder is begin dout <= "0000" after 5 ns when (din = "01111") else "0001" after 5 ns when (din = "00111") else "0001" after 5 ns when (din = "10111") else "0010" after 5 ns when (din = "00011") else "0010" after 5 ns when (din = "10011") else "0011" after 5 ns when (din = "00001") else "0011" after 5 ns when (din = "10001") else "0100" after 5 ns when (din = "01000") else "0100" after 5 ns when (din = "11000") else "0101" after 5 ns when (din = "00100") else "0101" after 5 ns when (din = "10100") else "0110" after 5 ns when (din = "00010") else "0110" after 5 ns when (din = "10010") else "0111" after 5 ns when (din = "01001") else "0111" after 5 ns when (din = "11001") else "1000" after 5 ns when (din = "01100") else "1000" after 5 ns when (din = "11100") else "1001" after 5 ns when (din = "00110") else "1001" after 5 ns when (din = "10110") else "1010" after 5 ns when (din = "01011") else "1010" after 5 ns when (din = "11011") else "1011" after 5 ns when (din = "00101") else "1011" after 5 ns when (din = "10101") else "1100" after 5 ns when (din = "01010") else "1100" after 5 ns when (din = "11010") else "1101" after 5 ns when (din = "01101") else "1101" after 5 ns when (din = "11101") else "1110" after 5 ns when (din = "01110") else "1110" after 5 ns when (din = "11110") else "1111" after 5 ns when (din = "11111") else "----" after 5 ns; end arch;