Vous êtes sur la page 1sur 11

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

Abstraction levels
0234 2FE4 14DA
0F AB 34

System level
+

>

Algorithmic level &

RT level

Logic level

Physical level

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 1

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

R ectangle / P olygon -G rou p

S tan dard -C ell / Su b-cell

M acro-cell

B lock / C h ip

C hip / B oard

P h ysical D om ain

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 2


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-transformations

S y n th esis

B eh aviou ral D om ain A n aly sis S tru ctu ral D om ain

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 )

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 3

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

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 4


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

Synthesis systems

• System synthesis

• Interface synthesis

• High-level synthesis

• Formal synthesis

• RTL synthesis

• Logic synthesis

• Test synthesis

• Physical synthesis

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 5

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

Synthesis levels and tasks


• System Level Synthesis
• Clustering
• Communication synthesis
• High-Level Synthesis
• Resource or time constrained scheduling
• Resource allocation
• Binding
• Register-Transfer Level Synthesis
• Data-path synthesis
• Controller synthesis
• Logic Level Synthesis
• Logic minimization
• Optimization, overhead removal
• Physical Level Synthesis
• Library mapping
• Placement
• Routing

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 6


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

control control control

PE C M PE C M PE C M

• Control units - micro-controllers, FSMs, etc.


• Processing elements - CPUs, DSPs, custom made, etc.
• Communication units - hard-wired, programmable, etc.
• Memories - DRAMs, SRAMs, register files, etc.

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 7

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

Level Behavioral domain Structural domain Physical domain

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

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 8


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

ASIC design flow


• [Smith97]

VHDL/Verilog
Prelayout Design entry
simulation
netlist
Logic synthesis

System partitioning

Postlayout Floorplanning chip


simulation
Placement
back-annotated
netlist block
Circuit Routing
extraction logic cells

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 9

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

System-on-a Chip Design Process

• [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.

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 10


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

Canonical HW view

Pheripherals

Memory
PROCESSOR controller MEMORY

System bus

I/O Data I/O


Interface transformation Interface

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 11

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

Waterfall vs. Spiral

• Traditional ASIC development follows so called waterfall model.

• In WF model, the project transitions from phase to phase in a step function,


never returning to the activities of the previous phase.
(“Tossing” the project over the wall from one team to the next)
But:
• Complexity increases
• Geometry shrinks
• Time-to-market pressure increases

• 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.

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 12


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

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

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 13

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

System-on-a-chip design flow

• Parallel, concurrent development of HW and SW

• Parallel verification and synthesis of modules

• Floor-planning and place-and-route included in the synthesis

• Modules developed only if a predesigned hard and soft macro is not available

• Planned iteration throughput

• All aspects of HW and SW design are addressed concurrently -


functionality, timing, physical design, and verification

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 14


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

System-on-a-chip design flow

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

Trial Top−level Top−level Application


placement synthesis verification testing

FINAL PLACE AND ROUTE


TAPEOUT

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 15

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

• Write complete specifications for the system or subsystem being designed

• Refine its architecture and algorithms, including SW design and HW/SW


cosimulation if necessary

• Decompose the architecture into well-defined macros

• Design or select macros (recursion here!)

• Integrate macros into the top level; verify functionality and timing

• Deliver the subsystem/system to the next higher level of integration;


at the top level this is tapeout

• Verify all aspects of the design (functionality, timing, etc.)

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 16


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

... vs. Bottom-up

• There are:
• Synthesis and emulation tools
• Libraries of reusable macros

• The design can be started at lowest level as well!

• At top level is difficult to estimate acceptable complexity of lowest level blocks


==> let’s mix approaches to meet in the middle.
• Faster
• Fewer iterations

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 17

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

• SUN Microsystems approach on developing UltraSPARC processor

• Single team form architectural definition through place and route

• Fast first pass

• Multiple consequential iterations

• Another approach is “correct by construction”, where the intent is to get the


design completely right during the first pass
• Complexity of the UltraSparc processor (processor system) excluded the use of
“correct by construction” approach

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 18


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

The Specification Problem

• Specification phase is considered to be the most crucial, challenging, and


lengthy phase of the project

• Initial specifications has to be recursively developed, verified, and refined until


they are detailed enough to allow RTL coding to begin

• Perfect specification yields:


• fast recovery of mistakes during following stages
• cheaper documentation

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 19

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)

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 20


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

System Design Process

• System specification
• Functions, performance, cost, development time

• Model refinement and test


• Focus on the algorithm, not the implementation!

• HW/SW partitioning (decomposition)


• ... largely a manual process
• Finally, define interfaces between SW and HW, and specify communication protocol

• Block specification
• Elaborate hardware specification and software specification

• System behavioral model and cosimulation


• Cosimulate and refine (The cosimulation continues throughout the design process)

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 21

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

Inventory of tools for the IP Creator


Specifications Adobe Framemaker
Revision Control Rational Clearcase
Project Tracking Microsoft Project
Design Entry GNU Emacs
Verification Language Synopsys VERA
HDL Language Verilog
HDL Lint LEDA Proton
Simulation Synopsys VCS
Code Coverage Synopsys Covermeter
Synthesis Synopsys Design Compiler
Static Timing Synopsys Primetime
RTL Translation Avant! Nova-Trans
Formal Verification Synopsys Formality
IP Packaging Synopsys coreBuilder
IP Delivery Synopsys coreConsultant
Building Block IP Synopsys DesignWare

 Kalle Tammemäe / Peeter Ellervee vlsi - design methodology - 22

Vous aimerez peut-être aussi