Build a 4-bit linear-feedback shift register (LFSR) .
An LFSR is essentially a shift register where a few of the bits are set to result of XOR-ing other bits in the register. This results in the shift register producing a pseudo-random series of numbers. With careful construction, the pattern can be made to cycle through all possible combinations of bits (except for all 0s) before repeating.
Your 4-bit LFSR should use the design below. When reset, the value should be 0000_0001.
entity lfsr4 is
clk : in std_logic;
reset : in std_logic;
count : out std_logic_vector(3 downto 0)
architecture synth of lfsr4 is
count <= "0000";