import design
import_designs orca.v \\ -format verilog \\ -top ORCA_TOP
Can be replaced by:
read_verilog –netlist orca.v current_design ORCA_TOP uniquify link
save_mw_cel –as ORCA_TOP
4 design planning
DP Features Flat vs. Hierarchical
Create the Starting Floorplan
Connecting Power and Ground Ports
The macro cells and modules in your design contain power and ground pins that must be connected before initializing the floorplan.
icc_shell>
derive_pg_connection -power_net VDD -power_pin VDD \\ -ground_net VSS -ground_pin VSS
In the case of a single voltage design, the -power_net name and -ground_net name options are required.
Using the GUI Menu Command to Perform Power and Ground Connections
To perform automatic power and ground and tie connections, Note:
Make sure the PG network already exists in the design before you run the
derive_pg_connection -tie command. If you run the derive_pg_connection –tiecommand before the PG network is created, it can cause unexpected results for the PGtie-off connections in the design flow.
Creating Power and Ground Ports(optional)
Depending on the floorplan creation flow you use, you can add top-level power and groundports at the same time that you connect the power and ground pins in your design. Use thederive_pg_connection command with the -create_ports top option to automatically create ports for the nets specified by the -power_net and -ground_net options. In the GUI,choose Preroute > Derive PG Connection. In the Derive Power Ground Connection dialogbox that opens, select “Manual connection” and then select Top as the “Create port” option.
Adding Power, Ground, and Corner Cells(optional)
Physical-only cells for power, ground, and corner placement might not be part of the synthesized netlist and must be added to design. Use the create_cell command to add aleaf or hierarchical cell to the current design.
Setting the I/O Pad Constraints(optional)
Before initializing the floorplan, you can create placement and spacing settings for I/O padsby using the set_pad_physical_constraints command. This command specifies the padcell ordering, orientation, placement side, offset from die edge, and pad-to-pad spacing foreach I/O pad. After setting the constraints with the
set_pad_physical_constraintscommand, the initialize_floorplan command places the I/O pad cells accordingly. Theconstraints are stored in the Milkyway database when you save the design.
The initialize_floorplan command places constrained pads first. Any
unconstrainedpads are placed next, using any available pad location. The tool does not placeunconstrained pads between consecutively ordered constrained pads.
The following example script portion describes two corner pad locations and several I/O padlocations for the floorplan.
create_cell {cornerll cornerlr cornerul cornerur} cornercell create_cell {vss1left vss1right vss1top vss1bottom} vsscell # additional create_cell commands not shown
set_pad_physical_constraints -pad_name \set_pad_physical_constraints -pad_name \# additional corner pad constraints not shown
set_pad_physical_constraints -pad_name \set_pad_physical_constraints -pad_name \# additional left side pad constraints not shown
set_pad_physical_constraints -pad_name \-side 2 -order 1 set_pad_physical_constraints -pad_name \-side 2 -order 2 # additional top side pad constraints not shown
set_pad_physical_constraints -pad_name \-side 3 -order 1
set_pad_physical_constraints -pad_name \-side 3 -order 2
# additional right side pad constraints not shown
set_pad_physical_constraints -pad_name \set_pad_physical_constraints -pad_name \# additional bottom side pad constraints not shown
Setting the Pin Constraints
You can use the set_pin_physical_constraints command to set constraints on individual pins or nets. Use the set_fp_pin_constraints command to set global constraints for a block. If a conflict arises between the individual pin constraints and
theglobal pin constraints, the individual pin constraints have higher priority. The constraints arestored in the Milkyway database.
Saving the Pin and Pad Constraints
You can save the current pin and pad constraints for your design with the
write_pin_pad_physical_constraints command. This command creates a constraintsfile that contains set_pin_physical_constraints and
set_pad_physical_constraintscommands that you can use to reapply pin and pad constraints. The positional informationfor the pins and pads is based on their current location in the design.
To create the pin and pad constraints file, use
thewrite_pin_pad_physical_constraintscommand (or by choosing Floorplan > Write Pin/Pad Physical Constraints in the GUI).
Reading an Existing Pad and Pin Constraints File
Use the read_pin_pad_physical_constraints command (or by choosing
Floorplan >Read Pin/Pad Physical Constraints in the GUI) to read a file that contains set_pin_physical_constraints and set_pad_physical_constraints
commands. Theread_pin_pad_physical_constraints command applies the constraints to the currentdesign or to another design that you specify.
The constraints defined in the file can either remove the current constraints or append tothem, based on the behavior you choose. For example, if physical constraints for pin A arespecified and you do not define any constraints for pin A in the constraints file, theread_pin_pad_physical_constraints command removes the existing physicalconstraints on pin A by default. To maintain the existing constraints and append newconstraints contained in the constraints file, specify the -append option (or click the“Append” check box in the GUI).
Reporting the Pad and Pin Constraints
Use the report_pin_pad_physical_constraints command to display a list of set_pin_physical_constraints and set_pad_physical_constraints
commands thatdefine the pin and pad constraints for the current design. You can report only pin constraints,only pad constraints, only chip-level pad constraints, or all constraints depending on thecommand options you specify.