lab22-4b.pdf

Part 4 EEP1.pdf

Control Path

<aside> ❗ Before the Lab:

</aside>

Changing the register file

T1

<aside> ✅ Task 1.

On the eep1 sheet delete RF1 and its TR0-3 Viewers, and add a single new regfile8x8 component. Wire the new component as the old one. Using the Properties tab change the Bus Select components controlling the AD1, AD2, AD3 inputs so that they select the new positions and sizes of the a,b fields as in Figure 1.8.

</aside>

FIG 1.1: The new regfile8x8 vs the old one. Note that the TR0-TR3 viewers have relocated to inside the regfile8x8.

FIG 1.1: The new regfile8x8 vs the old one. Note that the TR0-TR3 viewers have relocated to inside the regfile8x8.

FIG 1.2 Inside the regfile8x8 – basically two regfiles in tandem. However, AD1, AD2 and AD3 are 3 bits in width compared to 2 bits to regfile’s previous AD1-AD3.

FIG 1.2 Inside the regfile8x8 – basically two regfiles in tandem. However, AD1, AD2 and AD3 are 3 bits in width compared to 2 bits to regfile’s previous AD1-AD3.

Let’s look at a single regfile. (not shown)

ADDR1-3 are 2 bits each. ADDR1 chooses DOUT1 (2 bits to choose 4 options) , and ADDR2 chooses DOUT2 (2 bits to choose 4 options). ADDR3 chooses which register gets written to, if any (2 bits to choose 4 options) It defaults to R0 obviously, but no write happens unless WEN3 allows it.

AD1 and AD2 has included an additional bit for the MUX to choose between the first or the second regfile (R0-R3 or R4-R7). That additional bit in AD1 handles MUX1 and AD2’s additional bit handles MUX2. The idea is still the same, AD1 chooses DOUT1 and AD2 chooses DOUT2.

What about AD3? AD3 can choose from (R0-R7) to write to.

AD1 What Happens AD2 What Happens AD3 What Happens
000 DOUT1 = Reg0 000 DOUT2 = Reg0 000 DIN3 writes to Reg0 only when WEN3 is 1
001 DOUT1 = Reg1 001 DOUT2 = Reg1 001 DIN3 writes to Reg1 only when WEN3 is 1
010 DOUT1 = Reg2 010 DOUT2 = Reg2 010 DIN3 writes to Reg2 only when WEN3 is 1
011 DOUT1 = Reg3 011 DOUT2 = Reg3 011 DIN3 writes to Reg3 only when WEN3 is 1
100 DOUT1 = Reg4 100 DOUT2 = Reg4 100 DIN3 writes to Reg4 only when WEN3 is 1
101 DOUT1 = Reg5 101 DOUT2 = Reg5 101 DIN3 writes to Reg5 only when WEN3 is 1
110 DOUT1 = Reg6 110 DOUT2 = Reg6 110 DIN3 writes to Reg6 only when WEN3 is 1
111 DOUT1 = Reg7 111 DOUT2 = Reg7 111 DIN3 writes to Reg7 only when WEN3 is 1

Untitled

FIG 1.8.

FIG 1.8.

Changing Decode for the new Instruction Formats