In the first version, store the input and the output in registers (i.e. by using an assignment statement in a clocked process block) but all other computations should be done in a combinational block (i.e. no clock) that sits between the input and output registers. Additional comments: Read the other specifications in the pdf, how to write the vhdl code?