DOC PREVIEW
MIT 6 375 - RTL Design Flow

This preview shows page 1-2-3-27-28-29 out of 29 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 29 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

RTL Design FlowPhysical Design: Overall Conceptual FlowResults of PlacementSlide 4Gordian Placement FlowGordian: A Quadratic Placement ApproachIntuitive formulationImproving the intuitive formulationModeling the Net’s Wire LengthSlide 10Quadratic Optimization ProblemGlobal Optimization Using Quadratic PlacementSetting up Global OptimizationLayout After Global OptimizationPartitioningSlide 16Layout after Min-cutAdding Positioning ConstraintsContinue to IterateFirst IterationSecond IterationThird IterationFourth IterationFinal PlacementFinal Placement - 1Final Placement – Standard Cell DesignsFinal Placement – Creating RowsStandard Cell LayoutAnother Series of GordianRTL Design FlowRTLSynthesisHDLnetlistlogicoptimizationnetlistLibrary/modulegeneratorsphysicaldesignlayoutmanualdesignabsq01dclkabsq01dclkPhysical Design: Overall Conceptual FlowRead NetlistInitial PlacementPlacementImprovementCost EstimationRouting RegionDefinitionGlobal RoutingInputPlacementRoutingOutputCompaction/clean-upRouting RegionOrderingDetailed RoutingCost EstimationRoutingImprovementWrite Layout DatabaseFloorplanningFloorplanning3Kurt KeutzerResults of PlacementA bad placementA good placementA. KahngWhat’s good about a good placement?What’s bad about a bad placement?4Kurt KeutzerResults of PlacementBad placement causes routing congestion resulting in:• Increases in circuit area (cost) and wiring• Longer wires  more capacitanceLonger delayHigher dynamic power dissipationGood placement•Circuit area (cost) and wiring decreases• Shorter wires  less capacitanceShorter delayLess dynamic power dissipationGordian Placement FlowComplexityspace: O(m) time: Q( m1.5 log2m)Final placement•standard cell •macro-cell &SOGGlobal Optimization minimization of wire lengthPartitioning of the module set and dissection of the placement regionFinal Placement adoption of style dependent constraintsmodule coordinatesposition constraintsmodule coordinatesRegions with  k modulesData flow in the placement procedure GORDIANGordian: A Quadratic Placement Approach•Global optimization: solves a sequence of quadratic programming problems•Partitioning: enforces the non-overlap constraintsIntuitive formulationGiven a series of points x1, x2, x3, … xnand a connectivity matrix C describing the connections between them (If cij = 1 there is a connection between xi and xj)Find a location for each xj that minimizes the total sum of all spring tensions between each pair <xi, xj> xjxiProblem has an obvious (trivial) solution – what is it?Improving the intuitive formulationTo avoid the trivial solution add constraints: Hx=bThese may be very natural - e.g. endpoints (pads)To integrate the notion of ``critical nets’’Add weights wij to netsxjxiwij - some springs have more tensionshould pull associated vertices closerx1 xnwijModeling the Net’s Wire Length   yyxxLMuvuvvuvvv22module u(xv,yv(xu,yu),(vuvuvupin vulvnet nodexyconnection to other modules( xuvxuuv ;yuvyu y )vuThe length Lv of a net v is measured by the squared distances from its points to the net’s center10Kurt KeutzerCost x1 1002 x1 x22x2 2002 x1Cost 2x1 100 2x1 x2 x2Cost 2x1 x2 2x2 200setting the partial derivatives = 0 we solve for the minimum Cost:Ax + B = 0 = 04  2 2 4x1x2 200 400 = 02  1 1 2x1x2 100 200x1=400/3 x2=500/3x2x1x=100x=200ToyExample:D. PanQuadratic Optimization ProblemDEFABC),(''vu *0 *0 *0000***' )(lAGFEDCBALinearly constrained quadratic programming problem )({minTTRxx }dxCxxm),(vu s.t.)()(lluxAWire-length for movable modulesAccounts for fixed modulesCenter-of-gravity constraintsProblem is computationally tractable, and well behavedCommercial solvers available: mostekGlobal Optimization Using Quadratic PlacementQuadratic placement clumps cells in centerPartitioning divides cells into two regionsPlacement region is also divided into two regionsNew center-of-gravity constraints are added to the constraint matrix to be used on the next level of global optimizationGlobal connectivity is still conservedSetting up Global OptimizationLayout After Global OptimizationA. KahngPartitioning16Kurt KeutzerPartitioningIn GORDIAN, partitioning is used to constrain the movement of modules rather than reduce problem sizeBy performing partitioning, we can iteratively impose a new set of constraints on the global optimization problemAssign modules to a particular blockPartitioning is determined byResults of global placement – initial starting pointSpatial (x,y) distribution of modulesPartitioning costWant a min-cut partitionLayout after Min-cutNow global placement problem will be solved again with two additional center_of_gravity constraintsAdding Positioning Constraints• Partitioning gives us two new “center of gravity” constraints• Simply update constraint matrix• Still a single global optimization problem• Partitioning is not “absolute” • modules can migrate back during optimization• may need to re-partitionContinue to Iterate20Kurt KeutzerFirst IterationA. Kahng21Kurt KeutzerSecond IterationA. Kahng22Kurt KeutzerThird IterationA. Kahng23Kurt KeutzerFourth IterationA. KahngFinal Placement25Kurt KeutzerFinal Placement - 1Earlier steps have broken down the problem into a manageable number of objectsTwo approaches:Final placement for standard cells/gate array – row assignmentFinal placement for large, irregularly sized macro-blocks – slicing – won’t talk about thisFinal Placement – Standard Cell DesignsThis process continues until there are only a few cells in each group(  6 )each group has  6 cellsgroup: smallest partitionAssign cells in each group close together in the same row or nearly in adjacent rowsA. E. Dunlop, B. W. Kernighan, A procedure for placement of standard-cell VLSI circuits, IEEE Trans. on CAD, Vol. CAD-4, Jan , 1985, pp. 92- 9827Kurt KeutzerFinal Placement – Creating Rows1111,21,2 1,21,2222,32,32,32,33333,4 3,43,43,44 4445555554,5 4,5Row-based standard cell designPartitioning of


View Full Document

MIT 6 375 - RTL Design Flow

Documents in this Course
IP Lookup

IP Lookup

15 pages

Verilog 1

Verilog 1

19 pages

Verilog 2

Verilog 2

23 pages

Encoding

Encoding

21 pages

Quiz

Quiz

10 pages

IP Lookup

IP Lookup

30 pages

Load more
Download RTL Design Flow
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view RTL Design Flow and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view RTL Design Flow 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?