Latest update: 04/07/2022
Relevant product(s): L-Edit / Nitro / TDI
Operating systems: Windows/Linux
Versions affected: All
Relevant area(s): Design / P&R
Summary
The pin placement of your design’s floorplan generated for P&R can be customised in two methods:
- By drawing the floorplan and the pins in L-Edit
- By customising your P&R scripts to source pin locations and insert them during P&R
This article describes these two methods in detail.
Details
Pin placement by drawing in L-Edit
The pre-requisites to this method include:
- Knowledge of the PDK’s special layer name or purpose(s) that are used for ports/pins (e.g. Metal1:pin)
- Your OA design must have already been set up with the appropriate technology settings
The steps to follow this method are:
- Open the floorplan cell in L-Edit
- Select the appropriate layer from the Layer Palette
- Select the box port tool
- Begin drawing the ports on the floorplan
- Use the alignment tools if you wish to align the ports to edges
- Update the cell from the “Database” toolbar and ensure the pins are listed in the SDL Navigator
This concludes this method, you may proceed with the P&R once these steps have been completed.
Pin placement by scripting
For the scripting approach, you need to configure your project to a customised NRF flow. Please see this article on NRF customisation: https://www.eda-solutions.com/tn052/
Once NRF has been customised, please add this segment to the NRF scripts. Your script would be run in the floorplanning (2_floorplan.tcl) script after the netlist is read in.
For example this is the pin placement script. It defines a procedure to fix the pins, then sources the list:
#fix_pin_procedure metal_layer x-coord y-coord pin_name
fix_pin_procedure { pin_layer x_coord y_coord pin_name } {
set_pin_constraints -pin $pin_name -x_location $x_coord -y_location $y_coord -layers "MET${pin_layer}"
}
source pin_list_enc.tcl
The pin_list_enc.tcl would have a call to fix_pin_procedure for of all the pins:
#fix_pin_procedure metal_layer x-coord y-coord pin_name
fix_pin_procedure 2 181.095 0.495 pin_test\[2\]
References
[1] Nitro-SoC Command Reference: https://docs.sw.siemens.com/en-US/product/876717818/doc/DC202010001.docs.nitro_cmd_ref.en_us?audience=external
[2] Nitro SoC User’s Manual: https://docs.sw.siemens.com/en-US/doc/876717818/DC202010001.docs.nitro_user.en_us/manualtitle