mirror of https://github.com/VLSIDA/OpenRAM.git
Updated readme to include more accurate details of setup.
This commit is contained in:
parent
e46ff50269
commit
8bfc46ffef
47
README
47
README
|
|
@ -3,7 +3,7 @@ BASIC SETUP
|
||||||
|
|
||||||
-The OpenRAM compiler has very few dependencies:
|
-The OpenRAM compiler has very few dependencies:
|
||||||
|
|
||||||
1) ngspice-25 or later or HSpice I-2013.12-1 or later
|
1) ngspice-26 or later or HSpice I-2013.12-1 or later
|
||||||
2) Python 2.7 and higher (currently excludes Python 3 and up)
|
2) Python 2.7 and higher (currently excludes Python 3 and up)
|
||||||
3) a setup script for each technology
|
3) a setup script for each technology
|
||||||
4) a technology directory for each technology with the base cells
|
4) a technology directory for each technology with the base cells
|
||||||
|
|
@ -13,11 +13,16 @@ the compiler source directory. OPENERAM_TECH should point to a root
|
||||||
technology directory that contains subdirs of all other technologies.
|
technology directory that contains subdirs of all other technologies.
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
export OPENRAM_HOME="/Users/mrg/openram/compiler"
|
export OPENRAM_HOME="$HOME/OpenRAM/compiler"
|
||||||
export OPENRAM_TECH="/Users/mrg/openram/technology"
|
export OPENRAM_TECH="$HOME/OpenRAM/technology"
|
||||||
|
|
||||||
|
- If you are using FreePDK, you should also have that set up and have the
|
||||||
|
environment variable point to the PDK:
|
||||||
|
|
||||||
|
export FREEPDK45="/bsoe/software/design-kits/FreePDK45"
|
||||||
|
|
||||||
-All setup scripts should be in the setup_scripts directory under the
|
-All setup scripts should be in the setup_scripts directory under the
|
||||||
technology directory. Please look at the following file for an
|
$OPENRAM_TECH directory. Please look at the following file for an
|
||||||
example of what is needed for OpenRAM:
|
example of what is needed for OpenRAM:
|
||||||
|
|
||||||
$OPENRAM_TECH/setup_scripts/setup_openram_freepdk45.py
|
$OPENRAM_TECH/setup_scripts/setup_openram_freepdk45.py
|
||||||
|
|
@ -64,23 +69,6 @@ technology/freepdk45 - example configuration library for freepdk45 technology no
|
||||||
technology/scn3me_subm - example configuration library SCMOS technology node
|
technology/scn3me_subm - example configuration library SCMOS technology node
|
||||||
technology/setup_scripts - setup scripts to customize your PDKs and OpenRAM technologies
|
technology/setup_scripts - setup scripts to customize your PDKs and OpenRAM technologies
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
Example to output/input .gds layout files from/to Cadence
|
|
||||||
|
|
||||||
1) To create your component layouts, you should stream them to
|
|
||||||
individual gds files using our provided layermap and flatten
|
|
||||||
cells. For example,
|
|
||||||
|
|
||||||
strmout -layerMap layers.map -library sram -topCell $i -view layout -flattenVias -flattenPcells -strmFile ../gds_lib/$i.gds
|
|
||||||
|
|
||||||
2) To stream a layout back into Cadence, do this:
|
|
||||||
|
|
||||||
strmin -layerMap layers.map -attachTechFileOfLib NCSU_TechLib_FreePDK45 -library sram_4_32 -strmFile sram_4_32.gds
|
|
||||||
|
|
||||||
When you import a gds file, make sure to attach the correct tech lib
|
|
||||||
or you will get incorrect layers in the resulting library.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
UNIT TESTS
|
UNIT TESTS
|
||||||
|
|
@ -112,3 +100,20 @@ This updates a git repository, checks out code, and sends an email
|
||||||
report with status information.
|
report with status information.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
Example to output/input .gds layout files from/to Cadence
|
||||||
|
|
||||||
|
1) To create your component layouts, you should stream them to
|
||||||
|
individual gds files using our provided layermap and flatten
|
||||||
|
cells. For example,
|
||||||
|
|
||||||
|
strmout -layerMap layers.map -library sram -topCell $i -view layout -flattenVias -flattenPcells -strmFile ../gds_lib/$i.gds
|
||||||
|
|
||||||
|
2) To stream a layout back into Cadence, do this:
|
||||||
|
|
||||||
|
strmin -layerMap layers.map -attachTechFileOfLib NCSU_TechLib_FreePDK45 -library sram_4_32 -strmFile sram_4_32.gds
|
||||||
|
|
||||||
|
When you import a gds file, make sure to attach the correct tech lib
|
||||||
|
or you will get incorrect layers in the resulting library.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue