Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
tools:start [2023/04/07 08:59] rajit [Mangled names] |
tools:start [2024/07/24 14:07] (current) rajit [Tools] |
* [[prs2sim|prs2sim]]: a production rule to sim file converter | * [[prs2sim|prs2sim]]: a production rule to sim file converter |
* [[ext2sp|ext2sp]]: converts magic extract files into a hierarchical spice file | * [[ext2sp|ext2sp]]: converts magic extract files into a hierarchical spice file |
| * [[tools:layout:|Layout generation]] |
* [[lvp|lvp]]: layout versus production rules | * [[lvp|lvp]]: layout versus production rules |
| * [[act2lef|act2lef]]: Generate LEF/DEF from an ACT design |
| * [[act2v|act2v]]: Convert ACT file into a Verilog netlist |
| * [[adepend|adepend]]: Print dependencies of an ACT file |
| * [[chp2prs|chp2prs]]: convert CHP to production rules |
| * [[interact|interact]]: Interactive ACT |
| * [[prs2cells|prs2cells]]: extract ACT cells needed to implement a design |
| * [[v2act|v2act]]: Translate a Verilog netlist into an ACT file |
| * [[asic:timing:xcell:start|xcell]]: Cell library characterizer |
| |
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]], in addition to their own arguments. The standard ACT options include ways to specify technology-specific information, as well as local configuration overrides. | 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]], in addition to their own arguments. The standard ACT options include ways to specify technology-specific information, as well as local configuration overrides. |
* [[http://opencircuitdesign.com/magic/index.html|magic]]: The Magic VLSI layout editor | * [[http://opencircuitdesign.com/magic/index.html|magic]]: The Magic VLSI layout editor |
* [[http://opencircuitdesign.com/irsim/index.html|irsim]]: A switch-level circuit simulator | * [[http://opencircuitdesign.com/irsim/index.html|irsim]]: A switch-level circuit simulator |
* Gemini: a netlist comparison for strict layout-versus-schematic checking {{:tools:gemini-2.7.2.tar.gz|Gemini}} | * Layout versus schematic (LVS) checking: |
| * Gemini: a netlist comparison for strict layout-versus-schematic checking {{:tools:gemini-2.7.2.tar.gz|Gemini}} |
| * [[http://opencircuitdesign.com/netgen/index.html|netgen]]: another tool for LVS |
| |
Two useful concepts to keep in mind when using the ACT tools are //expanded names// and //mangled names//. | Two useful concepts to keep in mind when using the ACT tools are //expanded names// and //mangled names//. |
===== Mangled names ===== | ===== Mangled names ===== |
| |
Expanded ACT type names can contain characters like ''<'','' >', and '','' (among others). Instances can have names like ''a[3].b[5].z'', including the characters ''['', '']'', and ''.''. When exporting an ACT design to another format for use by a third-party tool, names with such characters in them can be potentially problematic. A good example of this is when exporting a SPICE netlist---different versions of SPICE have different syntactic restrictions. To handle this in a disciplined manner, the ACT library has the notion of a //mangled// name. A mangled name is generated by re-writing a user-specified list of special characters with an underscore and a number/character combination. This mapping is invertible, so a name can be unmangled as well. The set of characters to be mangled is specified in the ACT configuration option ''act.mangle_string'' (usually found in the global configuration file ''global.conf''). | Expanded ACT type names can contain characters like ''<'','' >'', and '','' (among others). Instances can have names like ''a[3].b[5].z'', including the characters ''['', '']'', and ''.''. When exporting an ACT design to another format for use by a third-party tool, names with such characters in them can be potentially problematic. A good example of this is when exporting a SPICE netlist---different versions of SPICE have different syntactic restrictions. To handle this in a disciplined manner, the ACT library has the notion of a //mangled// name. A mangled name is generated by re-writing a user-specified list of special characters with an underscore and a number/character combination. This mapping is invertible, so a name can be unmangled as well. The set of characters to be mangled is specified in the ACT configuration option ''act.mangle_string'' (usually found in the global configuration file ''global.conf''). |
| |
The standard name mangling prefix character is an underscore. Name mangling operates character-by-character as follows: | The standard name mangling prefix character is an underscore. Name mangling operates character-by-character as follows: |