670 likes | 1.61k Views
SOC Encounter v4.1. Speaker: I–Wei Lai Advisor : Tzi-Dar Chiueh Mar. 14, 2005. Outline. Introduction of SOCE v4.1 New Functions inside SOCE v4.1 Design Flow Conclusion Reference. Introduction of SOCE v4.1. Introduction of SOCE v4.1(1/2).
E N D
SOC Encounter v4.1 Speaker: I–Wei Lai Advisor:Tzi-Dar Chiueh Mar. 14, 2005
Outline • Introduction of SOCE v4.1 • New Functions inside SOCE v4.1 • Design Flow • Conclusion • Reference
Introduction of SOCE v4.1(1/2) • SOC EncounterTM is a EDA tool develop by Cadence • From Gate level to GDSII • Support 50+ million gate design at 180nm and below
Introduction of SOCE v4.1 (2/2) • SOCE is a platform and integrates • First Encounter Ultra • CeltIC • NanoRoute • SignalStorm NDC • VoltageStorm • Fire& Ice QXC
Import data SVP Floorplan Stramout Timing analysis powerplan power analysis *CTS synthesis placement Timing Optimization Design Flow Library User data Route *.gds *.DEF
Silicon Virtual Prototype • Providing quick feedback on the design performance • Use Trial Route to build up SVP • Designer can perform • timing analysis (SignalStorm NDC) • power analysis (VoltageStorm) immediately after each step
Trial Route • Quick routing for estimating routing-related congestion and capacitance values • Does not guarantee DRC-clean routing • Does not perform signal integrity analysis • Use WRoute or NRoute for final routing
NanoRoute(1/2) • Nearnano effect • Wire delay • IR drop and SI effect • Suitable for • .13 technology • Chip more than 300K instances
NanoRoute(2/2) • Supports • Timing issue • Signal integrity • Manufacturing Awareness • multi threading • Super threading
Timing Optimization • Optimizing • Correct DRVs • Reduce total negative slack • Setup & hold time • Skew optimization * • Optimizing by using techniques • Adding buffers • Resizing gates • Restructuring the netlist • Remapping logics • Swapping pins
Operation condition Pin type Path Delay Timing constraint TCL format Requiring Data • Library • Physical Library(*.LEF) • Timing Library(*.LIB) • Capacitance Table • Celtic Library • Fire&Ice/VoltageStorm Library • User Data • Gate-Level netlist(*.v) • Timing constraints(*.sdc) • IO constraint(*.ioc)
Environment Setting • Add • source /usr/cadence/SOC/CIC/soc.csh • source /usr/cadence/SOC/CIC/license.csh in your .cshrc • Start SOC Encounter • unix%encounter (don’t run in background mode)
Import data Floorplan Stramout Route powerplan *CT synthesis placement *.gds *.DEF Design Flow Library User data
GUI Design->Design Import…
Global nets Import Design(2/3)
For more accuracy RC extraction (optional) For crosstalk analysis (optional) Save these steps into *.conf *Import Design(3/3)
Save/Restore design • The temporal design can be save or restore at any point during the flow • *.enc
Initial Floorplan view Flight lines Our design hard macro Floorplan->Global Net Connections…
Global Connect 1a. VDD(VSS) 1b. VDD(VSS) 1c.Connect 1’b1(1’b0) to Global nets 2. VDD(VSS) 3. Add to List 4. Repeat 1a,b,c~3 six times
FloorPlan(1/3) Row spacing >1 Row spacing =0
Floorplan(2/3) –Place & *Place hard marco • Floorplan->Place Blocks/Modules->Place • *Select “Place hard macros inside modules” • Use • Floorplan->Edit Floorplan->Flip/Rotate Instances… • Floorplan->Set Block Placement Status… Set block state “pre-state”
Floorplan(3/3) –move the block • Floorplan->Edit Block Halo initial move&rotate add block halo
Powerplan(1/5)-Add Power Ring • Floorplan->Power planning->Add Rings Auto adjust spacing
Powerplan(2/5) -Add Power Ring • Use Wire group prevent slot error • Route->SRoute, Select “Pad pins” connecting power ring to power pad The number of thin rings
Powerplan(3/5)-interleave • Interleaving w/o interleaving
Powerplan(4/5)-add power stripe • Floorplan ->Power Planning -> Add Stripes… • Select “Omit stripes inside block rings” at Advanced tab • Use wire group, too • Route>SRoute, select ”Stripes(unconnectd)” distance between adjacent stripe
Placement • *Specify ScanChain First • Place->Place… select ”Medium effort” or “High effort”,
*CT synthesis(1/3) • Clock->Create Clock Tree Spec… • Clock->Specify Clock Tree…
The color means Phase delay Max/min path *CT synthesis(2/3) 3. Clock->Synthesize Clock Tree 4. Clock->Display->Display Clock Tree clk pad
*CT synthesis(3/3) • Clock->Clock Tree Browser... • open Clock Tree Browser form • Show the detail clock info. and modify the clock tree
Route(1/4)- power route & Add Filler • Route->SRoute…select ”Standard Cell pins ” • Key in • addIOFiller –cell <fillercellname> –prefix PFEED at command line • Fillercellname • PFEED<num> ex: PFEED50 PFEED5 PFEED01 • The number means the size of filler cell
Route(2/4)- nRoute • Route->nRoute assign characteristics to special nets
Route(3/4)-nRoute • SuperThreading • Use .rhosts to get the remote control Global route detail route Final report
Route(4/4)- Add Core Filler • Place->Filler->Add Filler • Fillers are placed from large to small
Streamout • Design->Save->GDS • Design->Save->DEF
SVP Timing analysis power analysis Timing Optimization Design Flow
SVP • Build up SVP before t/p analysis • Place->Place, Select “Prototyping” • Route->Trial Route, select “Prototyping” Physical view Amoeba view
Timing Analysis(1/2) • Timing->Extract RC… • Timing->Timing Analysis • Timing->Timing Debug->Slack Browser
Timing Analysis(2/2) • Slack browser…
Power Analysis(1/4) • Timing->Extract RC… • Power->Edit Pad Location
Power Analysis(2/4) 3. Power->Edit Net Toggle Probability…
Power analysis(3/4) VDD or VSS 4. Power->Power Analysis-> Statistical…
Power analysis(4/4) • Read Pa.report • Power->Display->Display Rail analysis Result… IR drop EM
Timing Optimization • Timing->Optimization