|
1 |
| -# eda-netgen |
2 |
| -Netgen for LVS with Magic |
| 1 | +# Netgen |
| 2 | +[Netgen] is a tool for comparing netlists, a process known as LVS, which stands for "Layout vs. Schematic". This is an important step in the integrated circuit design flow, ensuring that the geometry that has been laid out matches the expected circuit. |
| 3 | +Netgen is currently maintained by Tim Edwards (opencircuitdesign.com/netgen) |
| 4 | + |
| 5 | +This repo contains pre-compiled binaries/libraries/etc of **Netgen Version 1.5** for **64-bit 18.04 Ubuntu Linux**. It's also tested on a light-weight Ubuntu-variant LXLE distro. If you are interested in compiling from the source, instructions in Section-[Compiling and Installing Netgen](#compiling-and-installing-netgen) should help. |
| 6 | + |
| 7 | +## Setting up Netgen |
| 8 | + |
| 9 | +- **NOTE**: The below is path is an example. Just make sure it matches your particular path. |
| 10 | +```bash |
| 11 | +export NETGEN_HOME=$HOME/eda-netgen |
| 12 | +export PATH=$PATH:$NETGEN_HOME/bin |
| 13 | +``` |
| 14 | + |
| 15 | +## Compiling and Installing Netgen |
| 16 | + |
| 17 | +- This repo is compiled on Linux AWS Lightsail **5.4.0-1049-aws #51~18.04.1-Ubuntu** |
| 18 | +- Clone and checkout the git repo: |
| 19 | +```bash |
| 20 | +git clone git://opencircuitdesign.com/netgen |
| 21 | +cd netgen |
| 22 | +git checkout netgen-1.5 |
| 23 | +``` |
| 24 | +- Some required packages if not already installed: **Tcl/Tk** (Ubuntu package names: ```tcl-dev, tk-dev```) |
| 25 | +- Configure: To see all configure options ```./configure -----help```. To install in root with all default options just type ```./configure``` |
| 26 | +- To install it in a user directory: |
| 27 | +```bash |
| 28 | +./configure --prefix=$HOME/eda-netgen |
| 29 | +``` |
| 30 | +- Make and install: |
| 31 | +```bash |
| 32 | +make |
| 33 | +make install |
| 34 | +``` |
| 35 | +- **IMPORTANT** If this install directory needs to be used by other users by copying the install directory, replace the absolute paths: eg. ```/home/vlsi/tools/netgen-15 -> $NETGEN_HOME``` |
| 36 | +- In the following files: |
| 37 | +```bash |
| 38 | +bin/netgen, lib/netgen/tcl/netgen.tcl |
| 39 | +``` |
| 40 | +- Additionally, since the ```netgen.tcl``` is sourced from ```bin/netgen``` the environment variable needs to be passed by adding the following statement to ```netgen.tcl```: |
| 41 | +```tcl |
| 42 | +set NETGEN_HOME $::env(NETGEN_HOME) |
| 43 | +``` |
| 44 | + |
| 45 | +## Tasks |
| 46 | +- [ ] Add examples |
| 47 | + |
| 48 | + |
| 49 | +[OpenRAM]: https://openram.soe.ucsc.edu/ |
| 50 | +[OpenRAMgit]: https://github.com/VLSIDA/OpenRAM |
| 51 | +[OpenRAMpaper]: https://ieeexplore.ieee.org/document/7827670/ |
| 52 | +[SCMOS]: https://www.mosis.com/files/scmos/scmos.pdf |
| 53 | +[NGSpice]: http://ngspice.sourceforge.net |
| 54 | +[NGSpiceMan]: http://ngspice.sourceforge.net/docs/ngspice-html-manual/manual.xhtml |
| 55 | +[Magic]: http://opencircuitdesign.com/magic/ |
| 56 | +[Netgen]: http://opencircuitdesign.com/netgen/ |
| 57 | + |
| 58 | + |
0 commit comments