fastcpu - rice university what is fastcpu? • 6 stage pipeline risc processor • 16 bit...
TRANSCRIPT
![Page 1: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/1.jpg)
1
FastCPU
Arshad HussainLixin Su
Jun Tang
Final Project for ELEC422
![Page 2: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/2.jpg)
2
What is FastCPU?• 6 stage pipeline RISC processor• 16 bit instructions set• 16 bit internal data bus• 8 bit I/O bus• 8-bit CLA adder, 8bit bi-dir Barrel Shifter, 4 bit Multiplier• Tap Controller for serial scan of PC out on a pin for
debugging.• Total number of transistors 8500 (without Pad Frame)• Fastest clock speed: 42 MHz• Status:
– Design and testing of all blocks are complete– IRSim testing from pads is complete!– Mission accomplished!
![Page 3: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/3.jpg)
3
Our PipelineIF1 IF2 ID EX Stall M/W
IF1 IF2 ID EX Stall M/W
1. Stall is inserted to avoid the structural hazard (Due to the pin number limitation, the data and instruction memory accesses share the same 8 pins).
2. There must be an ALU operation before conditional branches. The target address of the next instruction can always be resolved in the ID stage of the current instruction.
3. Data forwarding is used in the ID stage when needed.
![Page 4: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/4.jpg)
4
Instruction Set
![Page 5: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/5.jpg)
5
CPU Schematic
![Page 6: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/6.jpg)
6
Timing Analysis (1)
![Page 7: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/7.jpg)
7
Timing Analysis (2)
![Page 8: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/8.jpg)
8
Timing Analysis (3)
![Page 9: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/9.jpg)
9
Main PLA• 8 inputs
• 21 outputs
• 17 states, 5 status bits
![Page 10: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/10.jpg)
10
Test Access Port Controller – for CPU Debugging
halt_enMain Controller
TAP Controller
tap_en
giving control to the tap controller
State diagram for TAP
Scan Cell
TDI
TDO
![Page 11: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/11.jpg)
11
Scan Cell For TAP
LA LB
MU
X
CAP_SEL CAP_EN UPG_EN
WIN
SIN SOUT
![Page 12: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/12.jpg)
12
Register FileW7
W6
W5
W4
W3
W2
W1
W0
BUFFER
S
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
![Page 13: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/13.jpg)
13
Register File
![Page 14: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/14.jpg)
14
Carry Look-Ahead Adder
![Page 15: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/15.jpg)
15
Carry Look-Ahead Adder
![Page 16: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/16.jpg)
16
Multiplier
![Page 17: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/17.jpg)
17
Barrel Shifter
![Page 18: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/18.jpg)
18
ALU
![Page 19: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/19.jpg)
19
Floor Plan
![Page 20: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/20.jpg)
20
IRSIM Test Code SequencesWe have four testing code sequences
LW R0 #129;
LW R1 #130;
ADD R0 R1 R0;
ADD R0 R0 R1;
JC #114;
LW R4 #168;
LWI R5 #3;
MULT R4 R4 R5;
STORE R4 #168;
LWI R0, #18;
LW R1 #154;
AND R2 R0 R1;
JR #32;
OR R3 R0 R1;
NOT R4 R0;
SLL R5 R0 R1;
SRL R6 R0 R1;
ADD R7 R0 R1;
SW R6 #145;
LW R2 #129;
LWI R3 #70;
(HALT)
SUB R2 R2 R3;
![Page 21: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/21.jpg)
21
Memory Access Testing
![Page 22: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/22.jpg)
22
Memory Access Testing Result
![Page 23: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/23.jpg)
23
TAP Testing ResultLW R2 #129;
LWI R3 #70;
(HALT)
SUB R2 R2 R3;
![Page 24: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/24.jpg)
24
Testing (JZ)LW R2 #129;
LWI R3 #70;
SUB R2 R2 R3;
JZ #85;
![Page 25: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/25.jpg)
25
Testing (JC)LW R0 #129;
LW R1 #130;
ADD R0 R1 R0;
ADD R0 R0 R1;
JC #114;
![Page 26: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/26.jpg)
26
General ALU TestingLWI R0, #18;
LW R1 #154;
AND R2 R0 R1;
JR #32;
OR R3 R0 R1;
NOT R4 R0;
SLL R5 R0 R1;
SRL R6 R0 R1;
ADD R7 R0 R1;
SW R6 #145;
![Page 27: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/27.jpg)
27
Spice Analysis (Adder)
![Page 28: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/28.jpg)
28
Spice Analysis (Barrel Shifter)
![Page 29: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/29.jpg)
29
Spice Analysis (Multiplier)
Longest Path Delay: 12ns
![Page 30: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/30.jpg)
30
Full ChipTiming Analysis with Crystal
and Spice Analysis result:
• The longest path 12ns delay VbSa signal through 4x4 multiplier
• Smallest clock cycle period 24ns for pipeline.
• Max frequency 42 MHz.• 8500 transistors
(excluding the pad frame)
![Page 31: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/31.jpg)
31
What We Have Learned
• Coordination and cooperation!• Always keep yourself on schedule!• Learn fast and apply what you learn fast!
![Page 32: FastCPU - Rice University What is FastCPU? • 6 stage pipeline RISC processor • 16 bit instructions set • 16 bit internal data bus • 8 bit I/O bus • 8-bit CLA adder, 8bit](https://reader031.vdocuments.us/reader031/viewer/2022022501/5aa5ca9f7f8b9a517d8db893/html5/thumbnails/32.jpg)
32