Assignment 3
Assignment 3
STEP 0: Draw the detailed architecture level diagram of the processor naming and depicting
the various architectural blocks (e.g. register file, instruction memory, ALU, pipeline registers,
PC and combinational functional blocks).
STEP 1: Create Verilog/ VHDL behavioural models for each of the architectural blocks.
(Register file, Instruction memory, ALU, Pipeline registers, PC)
STEP 2: Build the top level structural model of the processor by instantiating and
interconnecting the architectural blocks created in step 1.
reg2 = 60 reg1 = 40
reg5 = 40 reg4 = 60
31 14 9 4 0
SUB 0 - - - - -010
NAND 0 - - - - -011
NOR 0 - - - - -100
The register file has 32 number of 32 bit registers. The data in registers is stored as integers in
2s complement binary representation. Assume that register file has two 32-bit read ports: A and
B for data reading and one 32 bit write port: C for data writing. At the rising edge of the clock
the read ports A and B output the data from the registers whose addresses are present at port A
address and port B address respectively if the enable read port A and enable read port B signals
are true. At the falling edge of a clock data is written to the register whose address is present at
Port C address if write enable Port C is true. Design the pipeline registers such that they are
latched at the rising edge of the clock. Specify the size and format of all pipeline registers
including the fields holding the decoded control signals as well as data.
The instruction memory is of size 64 bytes. A read operation from the memory outputs 4
consecutive bytes of information (starting from the byte address provided to the memory) at the
negative edge of clock if the read enable instruction memory signal is true. Byte addresses to be
provided to memory must be either 0 or multiples of 4.