ICGlue — a Tcl-Library for scripted HDL generation


ICGlue consists of:

ICGlue I/O:

icglue concept


ICGlue executable

The main tool for the user. It reads in a custom user-defined construction Tcl-script (see construct) and writes out the generated files in multiple files as defined by the templates.

For help on tool invocation run

icglue --help


man icglue

in case you have the ICGlue manpage in your man path.

Backward compatibility

If the file has the extention .sng or .icng, it will try to parse the input as icsng syntax and translate them to corresponding icglue commands.

Note: Not all features of icsng are supported.

Migration from icsng

The icsng2icglue script parses an icsng-file, writes out an icglue equivalent script and converts the icsng-generated verilog-files for ICGlue (pragma -> keepblock substitution).

For help on tool invocation run

icsng2icglue --help


man icsng2icglue

ICGlue library

The core library consists of:

For more details have a look into the source code or the generated doxygen documentation.


Templates are a combination of an init Tcl-script for template setup and a set of template-files within one template directory. For details have a look at templates.