All Projects → aziesemer → astran

aziesemer / astran

Licence: BSD-2-Clause License
ASTRAN - Automatic Synthesis of Transistor Networks

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
SourcePawn
201 projects
prolog
421 projects
Makefile
30231 projects
shell
77523 projects

ASTRAN

ASTRAN is an acronym for Automatic Synthesis of Transistor Networks. It is a free, open source, physical synthesis framework for Mac and Linux, developed in the microelectronics group (GME) of the Universidade Federal do Rio Grande do Sul (UFRGS), with financial support from CAPES.

It supports automatic layout generation of CMOS cells from a transistor level netlist description in SPICE format. Area overhead compared to high quality hand-made standard-cells layouts is 3.7% on average. Its functionality is being extended to produce complete circuit layouts. Features include transistor sizing, floorplanning, cell placement, and routing. The framework is very modular and new contributions to this project are welcome.

Astran

Features:

  • ASTRAN 3 is under active development and supports 45+nm technology rules (including freePDK45) like: redundant diff contacts, conditional design rules (metal/poly/diff enclosure of contacts, gate extension on diff, diff to gate spacing, metal/poly spacing on dense line-ends), minimum area,...
  • It generates all kinds of logic cells, including non-complementary as PTL;
  • Cell instances can be individually sized before generation to reduce delay;
  • Cell layout generation flow includes: transistor folding, 1-D transistor placement (using Threshold Accepting metaheuristic), intracell routing (using pathfinder and iterated 1-steiner algorithms) and 2-D layout compaction (using ILP);
  • Layouts can be saved in CIF, GDSII and LEF formats. It can also be exported to Cadence ICFB and loaded into Virtuoso;
  • Structural Verilog is supported once you provide a Spice description of each cell;
  • Includes a command line interpreter for increased flexibility, like the ability to run scripts;

Requirements:

  • C++ compiler with support to C++11;
  • Gurobi 5 (it has issues with newer versions, sometimes unfeasible solutions as obtained)

TIP: Download and install always the latest version directly from the GIT repository. Binary versions will not be updated anymore since google closed this service. It's pretty easy to compile.

There is a video tutorial that can be usefull. Any question about the tool, please, send me an email: amziesemerj (at) inf.ufrgs.br

If you are using ASTRAN, please cite: ISVLSI'14 or visit my profile for other works.

Building

  • On Linux

The following procedure was tested in Centos 5.11 and Ubuntu 14.04

git clone https://github.com/aziesemer/astran.git astran
cd astran/Astran
make
  • On Mac OSX

Read the INSTALL.txt file.

Environment (optional)

ASTRAN_PATH needs to point to the astran path.

Using

  • On Command Line

$Astran --shell

  • On GUI

Astran GUI

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].