
- •Contents
- •Introduction
- •About These Application Notes
- •What Is a Cell?
- •Cell Interconnect Delays
- •What Is Delay Back Annotation?
- •What Is Delay Calculation?
- •Prerequisites and Related Reading
- •Creating a Back Annotator
- •The Programming Language Interface (PLI) Mechanism
- •PLI Access Routines
- •Access Routine Families
- •Required UTILITY Routines
- •Access to Timing Information
- •Effect of Source Protection
- •Where to Look for More Information
- •Back Annotating Delays
- •Examples Used in This Chapter
- •Retrieving a Handle to the Object Associated with the Delay
- •Retrieving a Handle to a Net
- •Retrieving a Handle to a Module Path Delay
- •Retrieving a Handle to a Timing Check
- •Annotating the Delay
- •Determining How and Where to Place Delays
- •Annotating to Cells with Path Delays
- •Annotating to Cells with Lumped or Distributed Delays
- •Libraries with Mixed Cell Timing Descriptions
- •Annotating to Timing Checks
- •Calculating Delays
- •Examples Used in This Chapter
- •Scanning Cell Instances Within the Design
- •Determining the Scope of the Delay Calculation
- •Scan Methodology
- •Scanning Objects Within the Cell Instance
- •Relationship to Modeling Methodology
- •Scanning Path Delays
- •Scanning Cell Output Ports
- •Libraries with Mixed Cell Timing Descriptions
- •Types of Data Needed
- •Coding Data into Cell Descriptions (Attributes)
- •Retrieving Cell I/O Load Factors
- •Load Due to Interconnect Wire
- •Calculating and Annotating the Delays
- •Calculating the Delays
- •Annotating the Delays
- •Example Listings
- •Delay Back Annotators
- •Cell Output Nets to Lumped or Distributed Delay Cells
- •Interconnect Nets to Lumped or Distributed Delay Cells
- •Cell Output Nets to Path Delay Cells
- •Interconnect Nets to Path Delay Cells
- •Delay Calculators
- •Creating and Extracting Data From a Hash Table
- •Random Cell Scan and Cell Output Nets
- •Random Cell Scan and Cell Interconnect Nets
- •Delay Calculation Driven by Cell Output Nets
- •Delay Calculation Driven by a Cell Interconnect Nets
- •Index

Back Annotation and Delay Calculation
Creating a Back Annotator
The routine acc_next_cell_load returns a handle to the load (primitive terminal) inside of the next cell instance that has an input or inout port driven by a specific net. This routine only returns one load handle for each cell input or inout port driven by the net. That is, if a cell input or inout port feeds more than one primitive terminal inside of the cell, only one of the primitive terminal handles will be returned by acc_next_cell_load. The terminal selection in this case is arbitrary. Use acc_next_cell_load to scan all of the cell loads on a net. Use the more general acc_next_load to scan all loads on a net.
The routine acc_count, when called with the acc_next_cell_load argument, returns the number of cell loads on a specific net. Use acc_count with the argument acc_next_load to count all loads on a net.
Effect of Source Protection
The following routines do not access data in protected regions of the source description of a design hierarchy, because they provide information that normally does not appear in cell library data books:
■acc_next_child
■acc_next_net
■acc_next_primitive
■acc_next_terminal
■acc_handle_object
■acc_handle_terminal
Other access routines provide information in data books and thus retrieve data in protected regions, but only when the data has one of these characteristics:
■it is a parameter
■it is associated with a module port—e.g., port names, delays on port drivers
■it resides in a specify block
This relationship between access routines and source protection maintains the integrity of the source protection facility while allowing for most delay back annotation and delay calculation implementations.
For more information about source protection, refer to the Verilog-XL Reference Manual.
October 2000 |
18 |
Product Version 3.2 |

Back Annotation and Delay Calculation
Creating a Back Annotator
Where to Look for More Information
Refer to the PLI 1.0 User Guide and Reference for detailed syntax and usage information on access routines used in these application notes.
October 2000 |
19 |
Product Version 3.2 |