Abstraction Levels: System Level
Abstraction Levels: System Level
Abstraction Levels: System Level
Abstraction levels
0234 2FE4 14DA
0F AB 34
System level
+
>
RT level
Logic level
Physical level
D e p a r t m e n t o f C o m p u t e r E n g i n e e r i n g
Y-chart
S ystem level
A lgorithm ic level
B eh aviou ral D om ain S tru ctu ral D om ain
R egister transfer level
System Sp ecification
L ogic level C P U , M em ory
A lgorithm P rocessor, Su b-system
R egister-transfer specification C ircu it level A L U , R egister, M U X
B oo lean E qu ation G ate, F lip -flop
D ifferen tial E qu ation Tran sistor
M acro-cell
B lock / C h ip
C hip / B oard
P h ysical D om ain
Y-transformations
S y n th esis
Re
fin
em
Ab ent
s tr a
c tio O p tim iz atio n
n G en era tio n
E x tra ctio n
P hysical D om ain
(G e o m e trica l D o m a in )
D e p a r t m e n t o f C o m p u t e r E n g i n e e r i n g
Levels revealed
Hierarchy
Abstraction Supporting tools
level
System space-time behavior as instruction, flow-charts, diagrams,
timing & pin assignment specifications high-level languages
Architecture global organization of HDLs, floor-planning block diagrams
functional entities for clock cycle and area estimation
Register binding data flow functional modules synthesis, simulation, verification, test
transfer and microinstructions analysis, resource use evaluation
Functional primitive operations and libraries, module generators, sche-
modules control methods matic entry, test
Logic Boolean function of Schematic entry, synthesis and simu-
gate circuits lation, verification, PLA tools
Switch electrical properties of RC extraction, timing verification,
transistor circuits electrical analysis
Layout geometric constraints layout editor/compactor, netlist extrac-
tor, DRC, placement and routing
Synthesis systems
• System synthesis
• Interface synthesis
• High-level synthesis
• Formal synthesis
• RTL synthesis
• Logic synthesis
• Test synthesis
• Physical synthesis
D e p a r t m e n t o f C o m p u t e r E n g i n e e r i n g
Hierarchical decomposition
control control
PE C M PE C M
PE C M PE C M PE C M
D e p a r t m e n t o f C o m p u t e r E n g i n e e r i n g
Design phases
• Design phases in a top-down language driven design methodology
Architectural design
System Specification
System partitioning
High Level Synthesis
Algorithm Structural Design
RTL Synthesis
Controller Synthesis
Datapath
RTL Logic Design
synthesis
Datapath controller
Logic Synthesis
Logic Layout Design
Datapath Compiler
FPGA Compilation
ASIC P+R
Circuit
Custom Cell Systems
[Turnbull1992] and P+R
VHDL/Verilog
Prelayout Design entry
simulation
netlist
Logic synthesis
System partitioning
D e p a r t m e n t o f C o m p u t e r E n g i n e e r i n g
• [Keating98]
The canonical or generic form of System-on-a-Chip design consists of
• a microprocessor and its memory subsystem
(8 -- 64 bit, RISC/CISC, multiple processors, DSPs, single/multilevel memory system,
SRAM/DRAM, ...);
• a datapath that includes interfaces to the external system
(PCI, Ethernet, USB, A/D, D/A, ...);
• blocks that perform transformations on data received from the external system
(graphical coprocessor, network router, ...);
• another I/O interface to the external system.
Canonical HW view
Pheripherals
Memory
PROCESSOR controller MEMORY
System bus
D e p a r t m e n t o f C o m p u t e r E n g i n e e r i n g
• In the spiral model, the design teams work on multiple aspects of the design
simultaneously, incrementally improving in each area as the design converges
on completion.
Waterfall model
Specification
1111
0000
development
RTL code
0000
1111
0000
1111
development
Functional
0000
1111
00000
11111 Design
verification
00000 information
11111
Synthesis 0000
1111
0000
1111
flow
0000
1111
Timing 00000
11111
00000
11111
verification
00000
11111
Works well until Place and 00000
11111
100k gates 00000
11111
0.5 µ m
route
00000
11111
Prototype 0000
1111
0000
1111
build and test
0000
1111
Deliver to system integration and software test
D e p a r t m e n t o f C o m p u t e r E n g i n e e r i n g
• Modules developed only if a predesigned hard and soft macro is not available
TIME
SYSTEM DESIGN AND VERIFICATION
S P E C I F I C A T I O N S
PHYSICAL TIMING HARDWARE SOFTWARE
Area, power, I/O timing, Algorithm Application
clock tree clock freq. development, prototype
design macro decom. development
Preliminary Block Block Applicaton
timing selection/ prototype
floorplan specification design testing
Updated Block Block Application
floorplans synthesis verification development
Updated Top−level Application
floorplans HDL testing
D e p a r t m e n t o f C o m p u t e r E n g i n e e r i n g
Top-down
• Integrate macros into the top level; verify functionality and timing
• There are:
• Synthesis and emulation tools
• Libraries of reusable macros
D e p a r t m e n t o f C o m p u t e r E n g i n e e r i n g
Construct by correction
D e p a r t m e n t o f C o m p u t e r E n g i n e e r i n g
Specification requirements
HW SW
Functionality Functionality
Timing Timing
Performance Performance
Interface to SW Interface to HW
Physical design issues SW structure, kernel
such as area, power
• There are:
• Formal specifications - no implementation details (VSPEC for VHDL)
• Executable specification (C, C++, SDL, VHDL, Verilog)
• System specification
• Functions, performance, cost, development time
• Block specification
• Elaborate hardware specification and software specification
D e p a r t m e n t o f C o m p u t e r E n g i n e e r i n g