Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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]
Line 8: Line 8:
    * [[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.
Line 22: Line 31:
    * [[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//.
Line 40: Line 51:
 ===== 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: