Beruflich Dokumente
Kultur Dokumente
A Design Perspective
Jan M. Rabaey Anantha Chandrakasan Borivoje Nikolic
Design Methodologies
December 10, 2002
Design Methodologie
100,000,000 Transistor/Staff Month 58%/Yr. compound Complexity growth rate 10,000,000 1,000,000 100,000 10,000 1,000 100 10 2009
21%/Yr. compound Productivity growth rate 1993 1995 1999 2007 1997 2001 2003 2005
A growing gap between design complexity and design productivity Source: sematech97
Design Methodologie
Productivity (Trans./Staff-Month)
A Simple Processor
MEMORY INPUT/OUTPUT
CONTROL
DATAPATH
Design Methodologie
A System-on-a-Chip: Example
Courtesy: Philips
Design Methodologie
10-100
Configurable/Parameterizable
Hardwired custom
1-10
None
Somewhat flexible
Fully flexible
Design Methodologie
Design Methodology
Design process traverses iteratively between three abstractions: behavior, structure, and geometry More and more automation for each of these steps
Design Methodologie
Implementation Choices
Digital Circuit Implementation Approaches
Custom
Semicustom
Cell-based
Array-based
Macro Cells
Pre-wired (FPGA's)
Design Methodologie
Courtesy Intel
Design Methodologie
Intel 8080
Intel 8085
Intel 8286
Courtesy Intel
Intel 8486
Design Methodologie
Rows of cells
Routing channel
Design Methodologie
[Brodersen92]
Design Methodologie
Design Methodologie
3-input NAND cell (from ST Microelectronics): C = Load capacitance T = input rise/fall time
Design Methodologie
Placed transistors
Routed cell
Compacted cell
Finished cell
Courtesy Acadabra
Design Methodologie
f0 x0 x1 x2
f1
Design Methodologie
Two-Level Logic
Every logic function can be expressed in sum-of-products format (AND-OR)
minterm
Design Methodologie
x0 x0 x1 x1 x2 x2 Pull-up devices
f0 f1 Pull-up devices
Design Methodologie
A cascade of multiple-output PLAs. Adjacent PLAs are connected via river routing.
BUFFER B U F F E R
- C
PRECHARGE
F F E
BUFFER
- C
PRE-CHARGE
F F E
BUFFER
- C
F F E
- C
No placement and routing needed. Output buffers and the input buffers of the next stage are shared.
PRECHARGE
BUFFER
Courtesy B. Brayton
Design Methodologie
Experimental Results
1.4
Area: RPLAs (2 layers) 1.23 SCs (3 layers) 1.00, NPLAs (4 layers) 1.31 Delay RPLAs 1.04 SCs 1.00 NPLAs 1.09 Synthesis time: for RPLA , synthesis time equals design time; SCs and NPLAs still need P&R.
0.6
0.2 0 2
S C N P
delay
4
L A R P
6
L A
area
Design Methodologie
MacroModules
Design Methodologie
Soft MacroModules
Synopsys DesignCompiler
Design Methodologie
Intellectual Property
Design Methodologie
Design Iteration
Design Methodologie
Courtesy Synopsys
Design Methodologie
Design Methodologie
Late-Binding Implementation
Array-based
Pre-wired (FPGA's)
Design Methodologie
GND
Uncommited Cell
In 1 In2
In3 In4
routing channel
Design Methodologie
S N M O S
Using oxide-isolation
Using gate-isolation
Design Methodologie
From Smith97
Design Methodologie
CLR Q
CLK Q D
GND
From Smith97
Design Methodologie
Sea-of-gates
Random Logic
Design Methodologie
Via-programmable cross-point
metal-6
Design Methodologie
Prewired Arrays
Classification of prewired arrays (or fieldprogrammable devices):
Design Methodologie
Fuse-Based FPGA
antifuse polysilicon ONO dielectric
n+ antifuse diffusion 2 l
From Smith97
Design Methodologie
PLA
PROM
Indicates programmable connection Indicates fixed connection
PAL
Design Methodologie
Programming a PROM
1 X2 X1 X0
: programmed node NA NA f 1 f 0
Design Methodologie
j -wide OR array D Q
OUT
j j
Design Methodologie
A B
0 F 1
Design Methodologie
Design Methodologie
Design Methodologie
updated
xx xx xx xx
x x
F4 F3 F2 F1
x xxxxx
Courtesy Xilinx
Design Methodologie
Interconnect Point
Programmed interconnection
Input/output pin
Cell
Horizontal
tracks
Vertical tracks
Design Methodologie
Network
Switch Box
Connect Box
Interconnect Point
Use overlayed mesh to support longer connections Reduced fanout and reduced resistance
Macrocell
Courtesy Altera
Design Methodologie
Altera MAX
From Smith97
Design Methodologie
LAB1
t PIA
LAB6
Design Methodologie
o w s o f lo g i c m o d u le R o u t i n g c h a n n e l s
Design Methodologie
4 3 CLB 2
3
Connect
Long
12
Quad
4
Long
4
Global
8
Long
4
Carry
2
Direct
Clock
Courtesy Xilinx
Design Methodologie
RAM-based FPGA
Design Methodologie
Design Methodologie
1-mm 2-metal CMOS tech 1.2 x 1.2 mm2 600k transistors 208-pin PGA fclock = 50 MHz
P av
= 3.6 W @ 5V
Design Methodologie
Design at a crossroad
System-on-a-Chip
500 k Gates FPGA MultiSpectral RAM + 1 Gbit DRAM Imager Preprocessing
64 SIMD Processor Array + SRAM Image Conditioning 100 GOPS
Analog
Embedded applications where cost, performance, and energy are the real issues! DSP and control intensive Mixed-mode Combines programmable and application-specific modules Software plays crucial role
Design Methodologie
Addressing the Design Complexity Issue Architecture Reuse Reuse comes in generations
Generation 1st 2nd 3rd 4th Reuse element Standard cells IP blocks Architecture IC Status Well established Being introduced Emerging Early research
Design Methodologie
Architecture ReUse
Design Methodologie
Platform-Based Design
Only the consumer gets freedom of choice; designers need freedom from choice A platform is a restriction on the space of possible implementation (Orfali, et abstraction p.522) choices, providing a well-definedal, 1996,of the underlying
technology for the application developer New platforms will be defined at the architecture-micro-architecture boundary They will be component-based, and will provide a range of choices from structured-custom to fully programmable implementations Key to such approaches is the representation of communication in the platform model
Source:R.Newton
Design Methodologie
Reconfigurable Data-path
Interface
ARM8 Core
Design Methodologie
Embedded memories
Embedded PowerPc
Hardwired multipliers
Design Methodologie
Summary
Digital CMOS Design is kicking and healthy Some major challenges down the road caused by Deep Sub-micron
Super GHz design Power consumption!!!! Reliability making it work Some new circuit solutions are bound to emerge
Who can afford design in the years to come? Some major design methodology change in the making!
Design Methodologie