Innovus18.12 Hier Flow Tutorial
Innovus18.12 Hier Flow Tutorial
Hierarchical PE Team
February 2019
Hierarchical
Prototyping Design
Assembly &
Planning Block Signoff
Implementation Analysis
.
.
.
FlexModel
Need user intervention to can be used Block
get final detailed/production Implementation
floorplan
Performance
✓ BlackBox
✓ Shell Model
✓ FlexModel Boundary
flexmodel
flop
flexmodel
✓ Hierarchical FlexModel
flexmodel 1st Level
✓ Full Netlist of Logic
Accuracy
Allows designers to start floorplanning and timing analysis much earlier without a real netlist
6 © 2019 Cadence Design Systems, Inc. All rights reserved worldwide.
FlexModel Abstraction
^
^
Flip Flops
F
Combinatorial logic ^ ^
F F
^
Macro
F
F
^
F FlexFiller F
F
F
Interface logic F
^
F
Module/Macro Placement
Congestion &
Timing OK?
Optional
Cluster Modules into Groups
Define Partitions
8 © 2019 Cadence Design Systems, Inc. All rights reserved worldwide.
Hierarchical Design Planning Flow Load in a design with
partition floorplan/macro
Original netlist placement/power
structure
FlexModel
Generation
Cell Placement
Feedthrough Insertion
Pin Assignment
Partition &
savePartition
replace_proto_model
Optional
Top-level
Block Implementation
Implementation
Specify ILMs
Running all
tasks/targets
Generating
the setup
Generating psPM models
Generating
FlexModels
Generating partitions
Generating
top & partitioned block designs
Running chip
assembly
Debugging the
design in Innovus
Dummy tasks
NOTE:
• proto_model will not be created if Makefile is run with pspm=0 and flexmodel =0
• timingReports will not be created if Makefile is run with pspm=0
• PTN_flex dir will not be created if Makefile is run with flexmodel=0
PTN directory for the flow running WITHOUT PTN directory for the flow running WITH creating
creating FlexMode (make flexmode=0) FlexModel (make flexmode=1)
Note:
• *.enc.dat in both flows have full netlist. Just the name is different.
• “_proto_full” is added to design name when FlexModels is using in the flow.