Team Antelope

27
Team Antelope Progress Report

description

Team Antelope. Progress Report. Antelope Team Progress. Finished: Shifter Register File Multiplier Multiply Accumulate ALU CLZ Still Working On: Cache Instruction Decode Integration. Memory system. Cache Unit. Cache Specs. 16 bytes wide 9 bit line address Write-back - PowerPoint PPT Presentation

Transcript of Team Antelope

Page 1: Team Antelope

Team Antelope

Progress Report

Page 2: Team Antelope

Antelope Team Progress

Finished:ShifterRegister FileMultiplierMultiply AccumulateALUCLZ

Still Working On:CacheInstruction DecodeIntegration

Page 3: Team Antelope

Memory system

Page 4: Team Antelope

Cache Unit

Page 5: Team Antelope

Cache Specs

• 16 bytes wide

• 9 bit line address

• Write-back

• data + instr caches– Check for dirty blocks in data cache on writes

• Clock stalls during main memory interaction

Page 6: Team Antelope

32-Bit Barrel Shifter

Carry In / Carry Out

-Carry in only used in RRX (rotate right extended) operations

-Carry out always computed, even though not needed in rotate operations

Page 7: Team Antelope

Carry Out Logic: Two Options

• Separate logic computes Cout early using input and shift amount

Pros:

-Cout signal ready much earlier, no need for propagation

-Simpler bit shifter designs

Cons:

-Many more gates needed

Page 8: Team Antelope

Carry Out Logic: Two Options

• Individual bit shifters compute and propagate Cout signal

Pros:

-Simpler overall design

-Fewer logic gates

Cons:

-Takes longer for Cout to be ready (propagation delay)

-More complicated bit shifters

Page 9: Team Antelope

Conclusion

• Went ahead and implemented Cout logic in the bit shifters

-Don’t really need the signal to be ready any earlier than the rest of the shifter output, especially not at the addition gate cost

-Each shifter computes Cout for its own shift amount and passes it on, or leaves Cout alone if it is disabled

Page 10: Team Antelope

Result propagated through bit shifters

Added 32-bit Shifters

Barrel Shifter

Page 11: Team Antelope

16 Bit-Right Shifter

Page 12: Team Antelope

• 32 additions in parallel

• Logarithmic time result

• 25 = 32, so time equals 5 adds

• Multiply w/accumulate inserted at the end with a multiplexor

Multiplier (MUL/MLA)

Page 13: Team Antelope

Multiplier (MUL/MLA)

Page 14: Team Antelope

Multiplier (MUL/MLA)

Page 15: Team Antelope

Multiplier (MUL/MLA)

Page 16: Team Antelope

Multiplier (MUL/MLA)

Page 17: Team Antelope

Multiplier (MUL/MLA)

Page 18: Team Antelope

• Output equals number of leading zeros on the input (Ex: 00010110 00000011)

• First step: 00010110 00011111

• Then, add one: 00011111 00100000

• Lastly, convert to binary. With a 32-bit input, output will have a 6-digit maximum.

Count leading zeros (CLZ)

Page 19: Team Antelope

Count leading zeros (CLZ)

Page 20: Team Antelope

Count leading zeros (CLZ)

Page 21: Team Antelope

Count leading zeros (CLZ)

Page 22: Team Antelope

Count leading zeros (CLZ)

Page 23: Team Antelope

CLZ Timing

• Time equals:

2x 16-bit OR gate

1x 2-bit OR gate

1x 2-bit XOR gate

•Perhaps faster than an addition!

Page 24: Team Antelope

Register File Complete

• 37 total registers

• 4 outputs Register1 out, Register2 out, CPSR out, and PC out

• 7 inputs: ReadSelect1, ReadSelect2, Mode, WriteEnable, Clk, PC, CPSR

Page 25: Team Antelope
Page 26: Team Antelope

Integration Status

• Most components are complete

• Ready to start running most instructions

• Need to make stage buffers

• Most importantly, need to start figuring out the control structure

Page 27: Team Antelope