Format fixes to README.md

This commit is contained in:
Matt Guthaus 2017-11-09 11:22:14 -08:00
parent 95f1a24f72
commit 4e3f90cbcd
1 changed files with 37 additions and 42 deletions

View File

@ -19,23 +19,23 @@
export OPENRAM_HOME="$HOME/OpenRAM/compiler" export OPENRAM_HOME="$HOME/OpenRAM/compiler"
export OPENRAM_TECH="$HOME/OpenRAM/technology" export OPENRAM_TECH="$HOME/OpenRAM/technology"
``` ```
For example, in csh/tcsh, add to your .cshrc/.tcshrc: For example, in csh/tcsh, add to your .cshrc/.tcshrc:
``` ```
setenv OPENRAM_HOME "$HOME/OpenRAM/compiler" setenv OPENRAM_HOME "$HOME/OpenRAM/compiler"
setenv OPENRAM_TECH "$HOME/OpenRAM/technology" setenv OPENRAM_TECH "$HOME/OpenRAM/technology"
``` ```
- If you are using FreePDK, you should also have that set up and have the - If you are using FreePDK, you should also have that set up and have the
environment variable point to the PDK. environment variable point to the PDK.
For example, in bash, add to your .bashrc: For example, in bash, add to your .bashrc:
``` ```
export FREEPDK45="/bsoe/software/design-kits/FreePDK45" export FREEPDK45="/bsoe/software/design-kits/FreePDK45"
``` ```
For example, in csh/tcsh, add to your .tcshrc: For example, in csh/tcsh, add to your .tcshrc:
``` ```
setenv FREEPDK45 "/bsoe/software/design-kits/FreePDK45" setenv FREEPDK45 "/bsoe/software/design-kits/FreePDK45"
``` ```
We do not distribute the PDK, but you may get it from: We do not distribute the PDK, but you may get it from:
https://www.eda.ncsu.edu/wiki/FreePDK45:Contents https://www.eda.ncsu.edu/wiki/FreePDK45:Contents
# DIRECTORY STRUCTURE # DIRECTORY STRUCTURE
@ -84,17 +84,16 @@ report with status information.
# CREATING CUSTOM TECHNOLOGIES # CREATING CUSTOM TECHNOLOGIES
- All setup scripts should be in the setup_scripts directory under the All setup scripts should be in the setup_scripts directory under the
$OPENRAM_TECH 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
``` ```
Each setup script should be named as: setup_openram_{tech name}.py. Each setup script should be named as: setup_openram_{tech name}.py.
- Each specific technology (e.g., freepdk45) should be a subdirectory
(e.g., $OPENRAM_TECH/freepdk45) and include certain folders and files:
Each specific technology (e.g., freepdk45) should be a subdirectory
(e.g., $OPENRAM_TECH/freepdk45) and include certain folders and files:
1. gds_lib folder with all the .gds (premade) library cells. At a 1. gds_lib folder with all the .gds (premade) library cells. At a
minimum this includes: minimum this includes:
* ms_flop.gds * ms_flop.gds
@ -146,54 +145,52 @@ Mac, but you can also use Calibre, Magic, etc.
1. Calibre 1. Calibre
Start the Calibre DESIGNrev viewer in the temp directory and load your GDS file: Start the Calibre DESIGNrev viewer in the temp directory and load your GDS file:
``` ```
calibredrv temp.gds calibredrv temp.gds
``` ```
Select Verification->Start RVE and select the results database file in Select Verification->Start RVE and select the results database file in
the new form (e.g., test1.drc.db). This will start the RVE (results the new form (e.g., test1.drc.db). This will start the RVE (results
viewer). Scroll through the check pane and find the DRC check with an viewer). Scroll through the check pane and find the DRC check with an
error. Select it and it will open some numbers to the right. Double error. Select it and it will open some numbers to the right. Double
click on any of the errors in the result browser. These will be click on any of the errors in the result browser. These will be
labelled as numbers "1 2 3 4" for example will be 4 DRC errors. labelled as numbers "1 2 3 4" for example will be 4 DRC errors.
In the viewer ">" opens the layout down a level. In the viewer ">" opens the layout down a level.
2. Glade 2. Glade
You can view errors in Glade as well. I like this because it is on my laptop. You can view errors in Glade as well. I like this because it is on my laptop.
You can get it from: You can get it from: http://www.peardrop.co.uk/glade/
http://www.peardrop.co.uk/glade/ To remote display over X windows, you need to disable OpenGL acceleration or use vnc
or something. You can disable by adding this to your .bashrc in bash:
To remote display over X windows, you need to disable OpenGL acceleration or use vnc
or something. You can disable by adding this to your .bashrc in bash:
``` ```
export GLADE_USE_OPENGL=no export GLADE_USE_OPENGL=no
``` ```
or in .cshrc/.tcshrc in csh/tcsh: or in .cshrc/.tcshrc in csh/tcsh:
``` ```
setenv GLADE_USE_OPENGAL no setenv GLADE_USE_OPENGAL no
``` ```
To use this with the FreePDK45 or SCMOS layer views you should use the To use this with the FreePDK45 or SCMOS layer views you should use the
tech files. Then create a .glade.py file in your user directory with tech files. Then create a .glade.py file in your user directory with
these commands to load the technology layers: these commands to load the technology layers:
``` ```
ui().importCds("default", ui().importCds("default",
"/Users/mrg/techfiles/freepdk45/display.drf", "/Users/mrg/techfiles/freepdk45/display.drf",
"/Users/mrg/techfiles/freepdk45/FreePDK45.tf", 1000, 1, "/Users/mrg/techfiles/freepdk45/FreePDK45.tf", 1000, 1,
"/Users/mrg/techfiles/freepdk45/layers.map") "/Users/mrg/techfiles/freepdk45/layers.map")
``` ```
Obviously, edit the paths to point to your directory. To switch Obviously, edit the paths to point to your directory. To switch
between processes, you have to change the importCds command (or you between processes, you have to change the importCds command (or you
can manually run the command each time you start glade). can manually run the command each time you start glade).
To load the errors, you simply do Verify->Import Caliber Errors select To load the errors, you simply do Verify->Import Caliber Errors select
the .db file from calibre. the .db file from calibre.
It is possible to use other viewers as well, such as: 3. It is possible to use other viewers as well, such as:
* LayoutEditor http://www.layouteditor.net/ * LayoutEditor http://www.layouteditor.net/
* Magic http://opencircuitdesign.com/magic/ * Magic http://opencircuitdesign.com/magic/
# CONTRIBUTING TO OPENRAM # CONTRIBUTING TO OPENRAM
@ -215,14 +212,13 @@ How to get the code and add contributions to OpenRAM.
4. Set up a new upstream that points to MY OpenRAM repository that you 4. Set up a new upstream that points to MY OpenRAM repository that you
forked (only first time): forked (only first time):
``` ```
git remote add upstream https://github.com/mguthaus/OpenRAM.git git remote add upstream https://github.com/mguthaus/OpenRAM.git
``` ```
You now have two remotes for this project: You now have two remotes for this project:
* origin which points to your GitHub fork of the project. You can read * origin which points to your GitHub fork of the project. You can read
and write to this remote. and write to this remote.
* upstream which points to the main project's GitHub repository. You can * upstream which points to the main project's GitHub repository. You can
only read from this remote. only read from this remote.
You can remove remotes with You can remove remotes with
``` ```
git remote remove upstream git remote remove upstream
@ -282,7 +278,6 @@ How to get the code and add contributions to OpenRAM.
``` ```
Remember origin is your copy on github and useful-branch-name is the Remember origin is your copy on github and useful-branch-name is the
branch that you made to contain all your changes. branch that you made to contain all your changes.
The -u flag links this branch with the remote one, so that in the The -u flag links this branch with the remote one, so that in the
future, you can simply type git push origin. future, you can simply type git push origin.