Design a MIPS 32 by 32 Register File
Group 6: 1. Le Minh Hoang 2. Le Hong Thang 3. Luong Tran Nhat Trung
Prof. Ho Viet Viet LA: Nguyen Van Hieu
Report Lab 1 – Group 6 – EE471- 09ECE
Page 1
Table of content:
Abstract Block Diagram Decoder module Multiplexor module Register module Regfile module Simulation result Trade-off
Report Lab 1 – Group 6 – EE471- 09ECE
Page 2
ABSTRACT:
The purpose of this design problem is to design a 32x32 register file that can write data in and read 2 ports data at the same time. The value of each register in the register file remains unchanged until the next write signal is enabled and the write data is available.
BLOCK DIAGRAM:
+ Decoder block: decoding the 5-bit signal from Write Register to choose which register is used to write the data. This block only works when the signal from RegWrite is sent to activate the block. + There are 32 register from 0 to 31, the register 0 contains only bit 0 as default. The data signal from WriteData will be sent to the chosen register from the decoder block.
Report Lab 1 – Group 6 – EE471- 09ECE
Page 3
+ Each bit from 32 register will send to the Multiplexor block and, this block will receive 32 bits from each register each time. + The Read Register 1 and 2 will choose which bit from 32 register will be read out in Read Data 1 and 2 from the Multiplexor block. + 32 register are designed from the DFF, each register has 32 bits, each bit is 1 DFF
DECODER:
+ 5-bit input and 32-bit output + Decoding to choose which register will be written WR[0] 0 0 0 0 0 0 ... 1 1 WR[1] 0 0 0 0 0 0 ... 1 1 WR[2] 0 0 0 0 1 1 ... 1 1 WR[3] 0 0 1 1 0 0 ... 1 1 WR[4] 0 1 0 1 0 1 ... 0 1 WE[0] 1 0 0 0 0 0 ... 0 0 WE[1] 0 1 0 0 0 0 ... 0 0 WE[2] 0 0 1 0 0 0 ... 0 0 WE[3] 0 0 0 1 0 0 ... 0 0 WE[4] 0 0 0 0 1 0 ... 0 0 WE[5] 0 0 0 0 0 1 ... 0 0 ... ... ... ... ... ... ... ... ... ... WE[30] 0 0 0 0 0 0 ... 1 0 WE[31] 0 0 0 0 0 0