Asic Design
Asic Design
ET 4351
Alexander de Graaf, EEMCS/ME/CAS
5/20/14
Delft
University of
Technology
• Tools
Synthesis
• Synthesis: Synopsys Design Compiler
• Place & Route: Cadence SOC Encounter
Area Gate
Timing Level
Constraints Netlist • Process
• UMC L90 SP
Place&Route
• Standard cell library
• Faraday:
• fsd0a_a_generic_core
Area Gate Layout
Timing Level GDSII • fod0a_b25_t25_generic_io
Constraints Netlist
• Elaborate
• Reads the intermediate .pvl files and builds the ‘GTECH’ design in DC
memory (unmapped ddc format)
• Sets the current design to the specified design
• Links and auto-loads the specified design
• Allows specification of parameter values: elaborate MY_TOP -
parameters “N=8, M=3”.
ASIC Design: Backend 8 | 100
Area and Timing Constraints
• Modeling clocks
• Environmental attributes
ASIC Design: Backend 9 | 100
Static Timing Analysis
Combinational logic
PI Reg
Start point
Reg
End point
PO
• Path-based STA
• Calculate the Arrival Time (AT) by adding cell delay in timing paths
• Check all path delays to see if the given Required Arrival Time (RAT)
is met
• Reg to Reg
• Tarrival = Tclk1 + TDFF1(clk->Q) + Tpath
• Trequire = Tclk2 - TDFF2(setup)
• Tslack = Trequire - Tarrival
Clk_source
clk1
TDDF1+Tpath
Reg
Tarrival
clk2
Reg
Tsetup
clk1 clk2
Trequire Tslack
TPI Tpath
PI Reg
clk1
Tsetup
clk1
Trequire Tslack
• Reg to PO
clk1
TDDF1+Tpath
PO
Tarrival
Reg
TPO(output delay)
Tslack
clk1 Trequire
Tcycle
TPI+Tpath
PI PO
Tarrival
TPO(output delay)
Tslack
Trequire
Tcycle
• Reg to Reg
• Tarrival = Tclk1 + TDFF1(clk->Q) + Tpath
• Trequire = Tclk2 - TDFF2(hold)
Clk_source
• Tslack = Tarrival - Trequire
clk1
TDDF1+Tpath
Reg
clk2
Reg
clk2 Thold
Tslack
clk1
Trequire
Tarrival
• By default the clock rises at 0ns and has a 50% duty cycle
• By default DC will not “buffer up” the clock network, even when
connected to many clock/enable pins of flip-flops/latches
• The clock network is treated as “ideal” - infinite drive capability
• Zero rise/fall transition times
• Zero skew
• Zero insertion delay or latency
• Estimated skew, latency and transition times can, and should be modeled for
a more accurate representation of clock behavior
reset_design!
create_clock -p 5 -n MCLK Clk!
set_clock_uncertainty 0.5 MCLK!
set_clock_transition 0.08 MCLK!
set_clock_latency -source –max 4
MCLK!
set_clock_latency –max 2 MCLK
The user must specify the latest arrival time of the data at input A
The user must specify the latest arrival time of the data at output B
• Rise and fall transition times on an input port affect the cell
delay of the input gate
Assumptions:
1. The maximum fanout capacitance of any block’s input port is
limited to the equivalent of 10 “and2a1” gates
2. Output ports can drive a maximum of 3 other blocks
3. The driving gate of every output is the cell inv1a1
Filter Parameters:
FIR filter
128 taps
Sample Frequency: 48 kHz
Pass band: 9.6 kHz
Stop band: 11.0 kHz
Data width: 16 bits
Coefficient bit-width: 16 bits
Examples:
SYAA90_128X16X1CM2
SPAA90_512X16X1BM1A
Power Plan
Placement
Route
Verification
Requirements:
• Die size choices
1432.48 µm
• 2mm x 2mm (approx. € 5000)
• Number of IO cells
• Max. 84 (2mm x 2mm)
• Libraries Faraday 90 nm
• Timing: fsd0a_a_generic_core*.lib,
fod0a_b25_t25_generic_io*.lib
• Layout: fsd0a_a_generic_core*.lef,
fod0a_b25_t25_generic_io*.lef
• Considering 2 effects
• Electro-Migration
• Simultaneous Switching outputs
•
System Input
That is Affected
Load
Capacitance
Inductance of
lead frame, Current flow (red) during a high to
bound wired,
low transition causing “bounce.” This
package pin,
etc. can change the input thresholds to
the device as well as result in output
pulses being transmitted to a receiver.
% genIoFile <#N> <#E> <#S> <#W> [<DW> <DH>] < io.spec > filter_top.io
Purpose:
• Develop early physical layout to ensure
that design objectives can be archived
• Minimum area for low cost
• Minimum congestion for design
routable
• Estimate parasitic for delay How:
calculation • Specify size of die, core, IO
• Analysis of power for reliability • Placement of macro blocks
• Gain early visibility into implementation • Fix the areas where
issues standardcell will be placed
• None
• Guide
• Fence
• Region
• Soft Guide
A Halo:
• Keeps standard cells from being
placed to close to macro cells
• Avoid problems when routing
power lines of standard cells
• Sroute
• Padpins
• Blockpins
• StandardCellPins
• Timing Driven:
• Build timing graph before place.
• Meeting setup timing
constraints with routability.
• Limited IPO by upsizing/
downsizing instances.
• Reorder Scan Connection
• nets connected to either the
scan-in or scan-out are ignored.
• Check placement after placed
Place ⇒ Check Placement
Verify ⇒ Geometry
Clock problem:
CT Synthesis report:
• Summary report and detail report
• number of sub trees
• rise/fall insertion delay
• trigger edge skew
• rise/fall skew
• buffer and clock pin transition time
• detailed delay ranges for all buffers add to clocks
• Clock nets
• Saves the generated clock nets
• used to guide clock net routing
• Clock routing guide
• Saves the clock tree routing data
• used as preroute guide while running Trial Route
• Specify eventually
routing features