Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

abl2tikz is subpart of the Circuit2TikZ project. It provides an easy way to create CircuiTikZ code for exporting schematics in TikZ from ADS/Cadence

License

Notifications You must be signed in to change notification settings

Circuit2TikZ/abl2tikz

Repository files navigation

abl2TikZ ("ADS Board Link to TikZ") is a Converter Tool that converts schematics already designed in your EDA design tool to CircuiTikZ. The idea is to avoid redrawing the circuitry for your document if you already have it drawn in your simulation tool. It supports every EDA tool allowing for XML export (such as Cadence Allegro, Cadence Virtuoso, Altium, etc.), though it is currently mostly maintained for Keysights Path Wave Advanced Design System (ADS). The tool runs on Windows and Unix-based systems as a command-line tool, providing TikZ code from your XML file exported from your simulation tool.

abl2tikz

Command line tool for converting Keysight ADS schematics to CircuiTikZ

Prerequisites

This is a Node.js package and thus an installation of node and npm (usually bundled with node) is necessary. Node.js version 18 (LTS) was used for development. It is not necessary to match this version, but it is recommended not to use outdated releases.

NPM is on some systems by default configured to install global packages to a folder only admins can access. This can be resolved either by using admin rights on every (global) package installation or by changing NPMs prefix. Global installation of this package is not necessary, but it makes using it easier, as it can be run form within any directory.

You can check your current prefix with

npm config get prefix -g

and alter it with

npm config set prefix <MY-GLOBAL-PREFIX> -g

NPMs documentation suggests %APPDATA%\npm or %LOCALAPPDATA%\npm for Windows and ~/.npm-global for Linux/macOS. In order to run globally installed programs, the PATH variable should contain <MY-GLOBAL-PREFIX>/bin. As this depends on your system and the Node.js (installer) version, it is recommended to check the documentation and your configuration before applying any changes.

NPM provides information about this topic on several sites:

Installation

Abl2tikz is not (yet) uploaded to a public repository like npmjs.com. In order to use it you must either download the newest release as an archive (abl2tikz-*.tgz) or pull it from GitLab.

There are three options for installing:

  • install globally
  • link
  • install

Plain install just fetches dependencies. It can then only be executed from within the package directory. Link(ing) works similar, but also creates a link in the global prefix to this package. It can therefore be executed in any directory, as long as the package directory isn't moved or deleted. The global install instead copies the package to the global prefix and then fetches dependencies. The package (folder) can therefore be removed while the program still works within any directory.

Install from tarball

For a global install, run the following command in a shell/command prompt. If you don't want to install globally, just omit the -g.

npm install -g path/to/abl2tikz-x.x.x.tgz # replace with your path

If you install locally, the program is now in node_modules/abl2tikz/. You can now (optionally) link it. To do so, you must first change to this directory and then run npm link:

cd node_modules/abl2tikz/
npm link

Install from git or directory

Clone/pull the current version from git or download from GitLab and extract the files. Open a shell or command prompt and navigate to the extracted folder. If you list the folder contents, you should see this readme file.

Then decide if you want to install locally:

npm install

install globally:

npm install -g

or install (locally) and link globally:

npm link

Usage

If installed globally (or linked), the CLI can be run using

abl2tikz <arguments ...>

Otherwise, the path to the file cli.mjs must be typed every time

node path/to/abl2tikz/cli.mjs <arguments ...>

There are three supported commands:

  • convert
  • list-cells
  • list-schematics Abl2tikz and every command have a built-in help. E.g. to show the help for convert, just type
abl2tikz convert --help

Usage example

Let's say you have exported the file myProject.xml from Keysight ADS using Advanced Board Link. You can now list all cells and schematics using

abl2tikz list-schematics myProject.xml

creating the output

Schematics of main:
 - my schematic
Schematics of connections:
 - test schematic
 - schematic

You could now convert the schematic my schematic from the cell main to the file innovativeSchematic.pgf:

abl2tikz convert --cellname main --schematicname "my schematic" myProject.xml innovativeSchematic.pgf

About

abl2tikz is subpart of the Circuit2TikZ project. It provides an easy way to create CircuiTikZ code for exporting schematics in TikZ from ADS/Cadence

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published