Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
tools:start [2023/04/07 08:59] rajit [Mangled names] |
tools:start [2023/06/23 11:23] (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 |
| |
* [[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: |