pd flow document

Upload: jaswanth-teja

Post on 02-Jun-2018

221 views

Category:

Documents


2 download

TRANSCRIPT

  • 8/10/2019 PD Flow Document

    1/4

    ###### This document is to give a idea about the PD Flow #####

    DATA PREPARATION:

    Make a setup file which contains all the files mentioned below:

    .vg (generally DFT Inserted netlist) .sdc (timing constraint file) .libs .lefs (tech lef, macro lef and std. cell lefs) .io (pin assignment file if any) .cdbs (celtic libraries for cross talk analysis) Libgens

    AUDIT CHECKS

    Check the design for the type of cells, IO Pin, Physical infocheckDesign all outDir

    Check the design for check timing loops, combo loops

    check_timing

    Utilization Memory aspect ratio wrt core aspect ratio Check for preplace timing

    timeDesign prePlace outDir

    FLOORPLAN

    Define global net connectivityglobalNetConnect VDD -type pgpin -pin VDD* -inst * -module {} -override -verboseglobalNetConnect VSS -type pgpin -pin VSS* -inst * -module {} -override -verbose

    Fix Io pin status Add endCaps (at both the ends of each std. cell row)

    addEndCap -postCap -preCap

    Place macros Add soft blockages around macros Spacing between macros (based on no. of pins, making sure enough space is left

    between macros for timing fixes) Add tapCells

    addWellTap -cell -cellInterval 50.00 -checkerBoard -fixedGap -startRowNum 1

  • 8/10/2019 PD Flow Document

    2/4

    Add endCaps (along the edges of the macros)addEndCap -postCap -preCap

    Check the placementcheckPlace

    Save the designsaveDesign DBS/init.enc

    PG PLAN

    Draw the PG StripesFor vertical layer

    addStripe -block_ring_top_layer_limit -max_same_layer_jog_length -padcore_ring_bottom_layer_limit -set_to_set_distance -ybottom_offset -stacked_via_top_layer -padcore_ring_top_layer_limit -spacing -merge_stripes_value

    -direction horizontal -layer -block_ring_bottom_layer_limit -width -nets {VSS VDD } -stacked_via_bottom_layer -allow_jog_block_ring

    For horizontal layeraddStripe -block_ring_top_layer_limit -max_same_layer_jog_length -padcore_ring_bottom_layer_limit -set_to_set_distance -stacked_via_top_layer -padcore_ring_top_layer_limit -spacing -xleft_offset -allow_jog_padcore_ring -xright_offset -layer -block_ring_bottom_layer_limit -width -nets {VSS VDD } -stacked_via_bottom_layer

    -allow_jog_block_ring add viaseditPowerVia -skip_via_on_wire_shape {Ring Followpin Corewire Blockwire IowirePadring Fillwire Noshape} -bottom_layer -add_vias 1 -top_layer

    SRoutesroute -connect { corePin floatingStripe} -layerChangeRange { lower_layer_nametop_layer_name } -blockPinTarget { nearestTarget } -deleteExistingRoutes -checkAlignedSecondaryPin 1 -allowJogging 0 -crossoverViaBottomLayer -allowLayerChange 0 -targetViaTopLayer -

    crossoverViaTopLayer -targetViaBottomLayer -viaConnectToShape { stripe } -corePinMaxViaWidth -corePinLayer 2 -targetPenetration { stripe }

    Check for opens and shorts Save the design

    saveDesign DBS/init.enc

  • 8/10/2019 PD Flow Document

    3/4

    PLACE

    Attach the IO BuffersattachIOBuffer -in -out -port -markFixed -excludeClockNet -baseName MPIN_BUF -excNetFile

    Set the attributes for placementTo specify the tool to perform placement based on timing driven, congestion driven,module aware placement, so on.

    Place the std. CellsplaceDesign

    Check the placementcheckPlace

    Tool generally performs trial route automatically. Check for congestion (make sure there

    are no local hotspots and the congestion value is in the specified limit) Save the designsaveDesign DBS/place.enc

    PRE CTS OPT

    This is the 1 st optimization in the design The optimization can be done by giving priority to the specific path groups, we can use

    the creatPathGroup option to create the path groups.optDesign preCTS outDir -numPaths

    Save the designsaveDesign DBS/prects.enc

    CTS

    Before creating the clock tree spec, we must enable the all modes (func,scan,mbist,bscan) in which the design is being run

    Generate the clock tree speccreateClockTreeSpec file -buffer_list

    Set the skew value, insertion delay, leaf and non leaf transition, list of inverters andbuffers to be used.

    Clock group, leaf pins, exclude pins, Specify the NDR (non default rules) Macro models Analyze the clock tree and check the coverage of the clock tree network

    ckSynthesis check -forceReconvergent

  • 8/10/2019 PD Flow Document

    4/4

    Build the clockckSynthesis -forceReconvergent

    Save the designsaveDesign DBS/cts.enc

    POST CTS OPT

    In postCTS stage, we can perform the optimization for both setup and hold.

    Optimize the design by propagating the clocks To propagate the clocks use set_propagated_clocks [all_clocks]

    optDesign postCTS outDir -numPaths to optimize for holdoptDesign postCTS hold outDir -numPaths

    Save the designsaveDesign DBS/postcts.enc

    DETAIL ROUTE

    Perform the detail route Make sure the attributes for SI aware route is set

    globalDetailRoute Save the design

    saveDesign DBS/route.enc

    POSTROUTE OPT

    Optimize the design if any timing violations are thereoptDesign postRoute

    Save the designsaveDesign DBS/postroute.enc

    PDV Check the design for shorts, opens Perform LVS, LPC, DRC, Antenna Checks