Giter VIP home page Giter VIP logo

ICGlue is a Tcl-Library for scripted HDL generation

ICGlue is a C/Tcl based library and tool for scripted generation of hardware description. The focus here is on simplifying to create module hierarchy, connectivity and configuration via register-files. Created output contains modules in a hardware description language (currently only systemverilog/verilog) and register-file documentation.

Features

Current features are:

  • Read in a user-defined Tcl construction script to describe hierarchy, connectivity and config registers.
  • Run some sanity checks.
  • Write out code/documentation defined by customizable Tcl-based templates.

Planned features: see todo-list.

Documentation

For an overview see icglue. For library documentation build the doxygen documentation by running

make docs

and browse it in firefox by running

make showdocs

Dependencies

Main

  • glib2
  • tcl8.6

Optional

  • nagelfar (for Tcl syntax checks)
  • doxygen (for source code documentation)

Build

  • gcc
  • make
  • pkg-config (with configs for glib2 and Tcl - otherwise you need to patch lib/Makefile)

Test

  • iverilog
  • libpcl (portable coroutine library)

Build

Run

make

to build core library and Tcl package. Run

make everything

to build doxygen-Documentation (needs doxygen) and nagelfar syntaxfiles as well (needs nagelfar installed).

Install

Run e.g.

DESTDIR=/opt/icglue make install

to install to /opt/icglue.

Developers

See developers.

Licensing

If not stated otherwise: GNU GPLv3 (see license).

Note: The license applies especially to the tool itself and its default templates, but, similar to a compiler or any other kind of data processing tool, the license does not affect the input handed to the tool or the output generated by it.

Acknowledgement

After the initial phase, most of the work for ICGlue was done at the Chair of Highly-Parallel VLSI Systems and Neuro-Microelectronics (HPSN) at TU Dresden (see HPSN). It is inspired by its predecessor icsng developed by Jens-Uwe Schlüssler.

ICGlue's Projects

icglue icon icglue

A Tcl-Library for scripted HDL generation

stimc icon stimc

a lightweight Verilog-vpi Wrapper for Stimuli Generation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.