Routing Constraint Flow
About this task
To use routing constraints, follow this procedure:
Procedure
- Determine which nets and cells should be constrained.
- Run the Efinity software, adjusting your design for each iteration, until the nets meet timing.
-
When the nets meet timing, use an .ini file to tell the
software to save the placement and routing data to templates. (See Generate .rcf Template)
-
For Trion devices, set
--route_dump_constraint_file="on"to generate <project>.route2, which is later used in the constraint flow.
-
For Trion devices, set
-
Do not make any changes to the design and re-compile.
The software creates these template files:
- Placement template <project>.out.placeloc
- Routing template <project>.rcf.template
The routing traces file is <project>.troutingtraces for Titanium and Topaz, and <project>.route2 for Trion.
Additionally, the process generates <project>.placer_keepout, which is later used by the placer in the constraint flow.
- Move these files out of the outflow directory; for example, move them up one level to the main project directory.
- Copy and paste the cells and nets you want to constrain from the two template files to your own files. You do not want to copy everything! (See Creating a Routing Constraint File and Creating a Location Assignment File)
- Add your new constraint files to an .ini file. (See Enabling Routing Constraints)
- Continue to change your design as needed. When you compile, the software will place and route the constrained logic and nets as defined in the constraint files.