Supported Tools¶
CACE supports a variety of EDA tools. See the entries below for a list of supported tools and their implemented functionality.
ngspice¶
Perform spice simulation using ngspice.
Arguments:
template:<string>The template schematic under thetemplates/folder for simulation.jobs(optional):<int|'max'>The number of jobs (threads) that CACE allocates for a single simulation run. Make sure to setnum_threadstoCACE{jobs}in the template testbench. If not specified, the default is 1.collate(optional):<string>Used to collate results for Monte Carlo simulations.format(optional):<'ascii'>The file format of the ngspice result. Currently onlyasciiis supported.suffix(optional):<string>File extension of the result file. For example:.data.variables:<List[string|null]>A list of results inside the result file. Usenullto ignore a column.script(optional):<string>Name of a Python script in the script folder. It will be executed on the results of each simulation.script_variables(optional):<List[string|null]>A list of results generated by the specified Python script. These results are available in addition to the ones specified undervariables.spiceinit_path(optional):<string>Path to a spiceinit file that is copied to the simulation directory and renamed to.spiceinit. If not specified, the PDK spiceinit is used.
Results: The results depend on the variables and optionally the script_variables arguments.
magic_drc¶
Perform DRC (Design Rule Check) with magic.
Arguments:
args(optional):<list[string]>Additional args that are passed to magic.gds_flatten(optional):<true/false>Flatten the GDSII layout prior to running DRC. If not specified, the default is false.
Results:
drc_errors:<int>Number of DRC errors.
magic_area¶
Perform area measurements with magic.
Arguments:
args(optional):<list[string]>Additional args that are passed to magic.
Results:
area:<float>Area of the design in µm²width:<float>Width of the design in µm.height:<float>Height of the design in µm.
magic_antenna_check¶
Perform the magic antenna check to find antenna violations in the layout.
Arguments:
args(optional):<list[string]>Additional args that are passed to magic.gds_flatten(optional):<true/false>Flatten the GDSII layout prior to running DRC.
Results:
antenna_violations:<int>The number of antenna violations.
netgen_lvs¶
Note
The netgen_lvs tool always compares the schematic netlist with the layout extracted netlist, independent of the selected netlist source.
Perform LVS (Layout VS Schematic) with netgen.
Arguments:
args:<list[string]>Additional args that are passed to netgen.script:<string>A custom LVS script relative toscripts/.
Results:
lvs_errors:<int>Number of LVS errors.
klayout_drc¶
Perform DRC (Design Rule Check) with KLayout.
Arguments:
jobs(optional):<int|'max'>The number of jobs (threads) that CACE allocates for running DRC. If not specified, the default is 1.args(optional):<list[string]>Additional args that are passed to KLayout. For example['-rd', 'feol=true'].drc_script_path(optional):<string>Path to a KLayout DRC deck that is used to run DRC. If not specified, the PDK DRC deck is used.
Results:
drc_errors:<int>Number of DRC errors.
klayout_lvs¶
Perform LVS (Layout VS Schematic) with KLayout.
Arguments:
args(optional):<list[string]>Additional args that are passed to KLayout. For example['-rd', 'variable=value'].script(optional):<string>A custom LVS script relative toscripts/.
Results:
lvs_errors:<int>Number of LVS errors.
Missing a tool?¶
If you are missing a tool or functionality, please open an issue here.