This is a topic that frequently comes up on both internal and external forums. And the answer is right in the Encounter Digital Implementation System (EDI) User Guide, but unless you already know that, you may not think to look for it there.
At some point, all of us have looked at a timing report, and reviewed the list of cells that EDI added during timing optimization. Then we wondered, "Hmmm. What does that prefix mean?" I'm sure you've seen the prefixes of the form FE_PHC, FE_RC, FE_OFC, etc. They do have specific meanings, and when debugging a timing path, it can be very helpful to know where these cells came from.
The following list is located in the EDI User Guide. It's at the end of the Optimizing Timing chapter, in a section called Default Naming Conventions.
Prefix | Description | Command |
FE_MDBC | Instance added by multi-driver net buffering | optDesign |
FE_MDBN | Net added by multi-driver net buffering | optDesign |
FE_OCP_DRV_C | Instance added by DRV fixing | optDesign |
FE_OCP_DRV_N | Net added by DRV fixing | optDesign |
FE_OCP_RBC | Instance added by rebuffering | optDesign |
FE_OCP_RBN | Net added by rebuffering | optDesign |
FE_OCPC | Instance added by critical path optimization | optDesign |
FE_OCPN | Net added by critical path optimization | optDesign |
FE_OFC | Buffer instance added by rule-based buffer insertion | insertRepeater/optDesign |
FE_OFN | Buffer net added by rule-based buffer insertion | insertRepeater/optDesign |
FE_PHC | Instance added by hold time repair | optDesign |
FE_PHN | Net added by hold time repair | optDesign |
FE_PSBC | Instance added by buffer insertion in optDesign -postRoute | optDesign |
FE_PSBN | Net added by buffer insertion in optDesign -postRoute | optDesign |
FE_PSC | Instance added by postroute setuprepair | optDesign |
FE_PSN | Net added by postroute setup repair | optDesign |
FE_RC | Instance created by netlist restructuring | optDesign |
FE_RN | Net created by netlist restructuring | optDesign |
FE_USC | Instance added during useful skew optimization | optDesign |
Hopefully this information will help you debug a timing path gone wrong, and prompt you to check out the EDI User Guide!
Here are two previous blogs related to debugging timing in EDI:
Demo: Calling Global Timing Debug for a Single Path
An Interview with Global Timing Debug Architect Thad McCracken
- Kari Summers