Updated readme to include more accurate details of setup.

This commit is contained in:
Matt Guthaus 2017-04-10 11:06:10 -07:00
parent e46ff50269
commit 8bfc46ffef
1 changed files with 26 additions and 21 deletions

47
README
View File

@ -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.