Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tools:start [2023/01/14 10:56] rajit |
tools:start [2024/07/24 14:07] (current) rajit [Tools] |
||
---|---|---|---|
Line 8: | Line 8: | ||
* [[prs2sim|prs2sim]]: | * [[prs2sim|prs2sim]]: | ||
* [[ext2sp|ext2sp]]: | * [[ext2sp|ext2sp]]: | ||
+ | * [[tools: | ||
* [[lvp|lvp]]: | * [[lvp|lvp]]: | ||
+ | * [[act2lef|act2lef]]: | ||
+ | * [[act2v|act2v]]: | ||
+ | * [[adepend|adepend]]: | ||
+ | * [[chp2prs|chp2prs]]: | ||
+ | * [[interact|interact]]: | ||
+ | * [[prs2cells|prs2cells]]: | ||
+ | * [[v2act|v2act]]: | ||
+ | * [[asic: | ||
- | These are core ACT tools--i.e. tools that use the core ACT library and take ACT files as input. They also accept the standard ACT [[stdoptions|command-line arguments]], | + | These are core ACT tools--i.e. tools that use the core ACT library and take ACT files as input. They also accept the standard ACT [[:stdoptions:start|command-line arguments]], |
Standalone tools: | Standalone tools: | ||
Line 22: | Line 31: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
- | * Gemini: a netlist comparison for strict layout-versus-schematic checking {{: | + | * Layout versus schematic (LVS) checking: |
+ | | ||
+ | * [[http:// | ||
+ | Two useful concepts to keep in mind when using the ACT tools are //expanded names// and //mangled names//. | ||
+ | ===== Expanded names ===== | ||
+ | A concept one should be familiar with, especially when debugging and/or understanding error messages is the notion of expanded names. This is best illustrated with an example. Consider the following templated process definition: | ||
+ | <code act> | ||
+ | template< | ||
+ | |||
+ | example< | ||
+ | example< | ||
+ | </ | ||
+ | The type of the process defined is '' | ||
+ | |||
+ | If the template list contains multi-dimensional arrays, the expanded name contains a linear list of the parameters separated by commas. | ||
+ | |||
+ | ===== Mangled names ===== | ||
+ | |||
+ | Expanded ACT type names can contain characters like ''<'','' | ||
+ | |||
+ | The standard name mangling prefix character is an underscore. Name mangling operates character-by-character as follows: | ||
+ | | ||
+ | * A character that is not in the mangle string is a pass-through, | ||
+ | * If a character is at position k in the name mangling string, it is replaced with an underscore followed by k. The position character is 0 to 9 for positions 0 to 9, followed by a-z. Up to 36 characters can be mangled. | ||
+ | |||
+ | Name mangling can at most double the length of the string. | ||
+ | |||
+ | Process names have a special case in terms of name mangling. If an expanded process has no parameters, its mangled name is obtained simply be omitting the trailing ''<>'' |