ELEC6027 VLSI Design Project Design and Implement a Novel 16

advertisement
ELEC6027 VLSI Design Project
Task:
Design and Implement a Novel 16-bit Microprocessor in
0.35µm CMOS (C035U)
•
Complete IC Design Flow
•
Complex System
– Importance of Systematic Approach
– Modular Design & Test
– Manage Complexity through Hierarchy
•
Team Exercise
1
ELEC6027 VLSI Design Project
1.
Research Document
Milestones
WED week 4
(19th February 2014)
WED week 5
(26th Feb 2014)
WED week 6
(5th March 2014)
WED week 7
(12th March 2014)
• Report on Preliminary Research
2.
Initial Design
• Instruction Set, Datapath Diagram
3.
Behavioural Model
• SystemVerilog
4.
Cross Simulation
• SystemVerilog Control Unit, Magic Datapath
5.
Final Design
FRI week 10
(2nd May 2014)
Tue week 12
(13th May 2014)
• Full Magic Design, Programmer’s Guide
6.
Project Report
• Report on Design and Implementation
2
ELEC6027 VLSI Design Project
Initial Design
Instruction Set
Datapath Diagram
ADD
Syntax
ADD Ry, Rz, Rx
Semantics
Rx <- Ry + Rz
Coding
1011011 x y z
PC
IR
3
R0 (=0)
R1
R2
R3
ELEC6027 VLSI Design Project
Behavioural Model
Test Program
CPU
Control
module control()
Multiply
Datapath
module datapath()
ALU
module alu()
endmodule
endmodule
endmodule
4
Assembly Language
ADD R1,R2,R1
CMP R2,R1
BNE .start
Machine Code (hex)
F3A0
A002
240A
ELEC6027 VLSI Design Project
Cross Simulation
CPU
Topslice_0
Datapath
Bitslice_15
Control
module control()
endmodule
(magic)
Bitslice_14
Bitslice_13
Bitslice_12
Bitslice_11
Bitslice_10
Bitslice_9
Bitslice_8
Bitslice_7
Bitslice_6
Bitslice_5
Bitslice_4
Bitslice_3
Bitslice_2
Bitslice_1
Bitslice_0
Bottomslice_0
Test Program
Multiply
Assembly Language
ADD R1,R2,R1
CMP R2,R1
BNE .start
Machine Code (hex)
F3A0
A002
240A
The submitted SystemVerilog control module may well be a newer version than that submitted
with the behavioural model, in which case a newer SystemVerilog datapath module must also be
submitted.
5
ELEC6027 VLSI Design Project
Final Design
CPU
Cpu_core
Test Programs
Control
Programmer’s Guide
Multiply
Datapath
Assembly Language
ADD R1,R2,R1
CMP Random
R2,R1
BNE .start
Assembly Language
Machine Code
SRL (hex)
R1,R1
F3A0 XOR Factorial
R1,1,R2
A002 ST R3,[8204]
Assembly Language
240A
Machine Code
LD [8004],R3
(hex)
1F1F JSR .fact
4442 SBC R2,1,R2
0330
Machine Code (hex)
E220
0010
8004
Programmer’s Model
Instruction Set
Programming Tips
Example Code
An updated SystemVerilog behavioural model of the processor must be submitted with the final
design.
6
week MON TUE
1
2
3
4
WED
Research
Report
Initial
Design
5
6
THU mini milestones
LAB Confirm Teams
LAB Declaration of
Specialisms
LAB t.b.a.
LAB Draft Design
LAB
Behavioural LAB
Model
7
Cross
Simulation
LAB
8
9
LAB
LAB
10
11
12
LAB
—
Project
Report
Initial Behavioural
Model (executes at least
4 instructions)
Simulation of Basic
Datapath (including
ALU and Data Registers)
Simulation of Placed
and Routed Control Unit
t.b.a.
Simulation of First Cut
Chip in Pad Ring
t.b.a.
FRI
Behavioural
Model with
Interrupts
Final Design
ELEC6027 VLSI Design Project
Thursday Lectures
Week Time Topic
1 10:00 Introduction
This lecture
2 10:00 Basic Processor Design
Including RISCish and CISCish examples
3 10:00 Processor Datapath Design
Including RISCish and CISCish example
4 10:00 Behavioural Modelling
This seminar is intended for SystemVerilog specialists only
5 10:00 Advanced Bitslice Design
This seminar is intended for Datapath specialists only
8
Download