public interface DelayModel
Modifier and Type | Method and Description |
---|---|
short |
getBELIndex(String belName)
TODO - Revisit this is part of the DelayModel
Gets the equivalent timing model index for this BEL
|
int |
getEncodedConfigCode(String value)
TODO - Revisit this as part of the DelayModel
Gets the encoded config code for the value (belname:paramsetting)
|
Short |
getIntraSiteDelay(SiteTypeEnum siteTypeName,
String frBelPin,
String toBelPin)
Get the delay in ps between two bel pins within the given site name.
|
short |
getLogicDelay(short belIdx,
String frBelPin,
String toBelPin)
Get the delay between input and output pins of a bel.
|
short |
getLogicDelay(short belIdx,
String frBelPin,
String toBelPin,
int encodedConfig)
Get the delay between input and output pins of a bel.
|
Short getIntraSiteDelay(SiteTypeEnum siteTypeName, String frBelPin, String toBelPin)
siteTypeName
- The name of the site type, such as SLICEL and SLICEM.frBelPin
- The bel pin which is the driver of the connection. Thus, it must be a bel output pin.
The bel name must be included, ie., AFF2/D. An input site pin is considered a valid frBelPin.toBelPin
- The bel pin which is the sink of the connection (a bel input pin, or an output site pin).IllegalArgumentException
- if the given siteTypeName is not recognized by the model.short getLogicDelay(short belIdx, String frBelPin, String toBelPin, int encodedConfig)
belIdx
- The unique BEL timing model index, see DelayModel.getBELIndex(String)
.frBelPin
- An input bel pin. It must NOT include bel name.toBelPin
- An output bel pin. It must NOT include bel name.encodedConfig
- A list of config_name:value of the bel, ie., {CYINIT_BOT:GND, CARRY_TYPE:SINGLE_CY8}.
What is the possible config_name and its value?
Ones need to look at the logic delay files used for DelayModelSource_text to find that out.
Where to get the config's value from the design?
There is no uniform way to find the value. It is to determined per case.
For example, some configs of carry8 is from bel, while some from cell.IllegalArgumentException
- if the given bel is not recognized by the model.short getLogicDelay(short belIdx, String frBelPin, String toBelPin)
belIdx
- The unique BEL timing model index, see DelayModel.getBELIndex(String)
.frBelPin
- An input bel pin. It must NOT include bel name.toBelPin
- An output bel pin. It must NOT include bel name.IllegalArgumentException
- if the given bel is not recognized by the model.int getEncodedConfigCode(String value)
short getBELIndex(String belName)
belName
- Name of the BEL