1
0
mirror of https://github.com/aolofsson/oh.git synced 2025-01-30 02:32:53 +08:00
This commit is contained in:
Andreas Olofsson 2016-02-15 16:38:48 -05:00
parent 45b28344e3
commit 68e109e693
24 changed files with 63 additions and 94 deletions

View File

@ -17,7 +17,8 @@ The structure is designed to simplify implementation scripts and maximize portab
![alt tag](docs/directory_structure.png) ![alt tag](docs/directory_structure.png)
* **docs**: Common documents and design guidelines * **docs**: Open source documents and design guidelines
* **common**: Open source tcl script and software
* **foundry name ("foundry1")**: tsmc, gf, tower, smic, umc, etc * **foundry name ("foundry1")**: tsmc, gf, tower, smic, umc, etc
* **process name ("process1")**: 28slp, 65g, etc * **process name ("process1")**: 28slp, 65g, etc
* **hard ip name**: pdk, stdlib, io, sram, serdes, etc * **hard ip name**: pdk, stdlib, io, sram, serdes, etc

View File

@ -1,2 +0,0 @@
source ../$VENDOR/$TOOL/01_setup.tcl

View File

@ -1,2 +0,0 @@
source ../$VENDOR/$TOOL/01_read_design.tcl

View File

@ -1,2 +0,0 @@
source ../$VENDOR/$TOOL/03_read_design.tcl

View File

@ -1,2 +0,0 @@
source ../$VENDOR/$TOOL/01_setup_corners.tcl

View File

@ -1 +0,0 @@
source ../$VENDOR/$TOOL/01_floorplan.tcl

View File

@ -1 +0,0 @@
source ../$VENDOR/$TOOL/01_check_design.tcl

View File

@ -1 +0,0 @@
source ../$VENDOR/$TOOL/06_compile.tcl

View File

@ -1,2 +0,0 @@
source ../$VENDOR/$TOOL/01_dft.tcl

View File

@ -1,2 +0,0 @@
source ../$VENDOR/$TOOL/08_optimize.tcl

View File

@ -1,2 +0,0 @@
source ../$VENDOR/$TOOL/10_output_design.tcl

View File

@ -3,8 +3,12 @@ Vendor agnostic synthesis wrappers
The following TCL mush be defined before running the flow. Also, clearly the vendor specific files must be in place. The following TCL mush be defined before running the flow. Also, clearly the vendor specific files must be in place.
| SHELL VARIABLE | DESCRIPTION |
|------------------|-------------------------------------|
| $PROCESS_HOME | Path to foundry process |
| $OH_HOME | Path to OH repo home |
| VARIABLE | DESCRIPTION | | TCL VARIABLE | DESCRIPTION |
|------------------|-------------------------------------| |------------------|-------------------------------------|
| $OH_VENDOR | synopsys, cadence, etc | | $OH_VENDOR | synopsys, cadence, etc |
| $OH_TOOL | dc, rc, etc | | $OH_TOOL | dc, rc, etc |
@ -14,6 +18,7 @@ The following TCL mush be defined before running the flow. Also, clearly the ven
| $OH_CONSTRAINTS | Timing constraints file | | $OH_CONSTRAINTS | Timing constraints file |
## Example ## Example
```tcl ```tcl
set OH_DESIGN "ecore" ; # top level module set OH_DESIGN "ecore" ; # top level module
set OH_FILES "../../../hdl/$OH_DESIGN.v \ set OH_FILES "../../../hdl/$OH_DESIGN.v \

View File

@ -1,65 +1,80 @@
#SET PATH #SET PATH
set LOCALPATH [file dirname [ info script ]] set LOCALPATH [file dirname [ info script ]]
############################################################################## set OH_VENDOR synopsys
# STEP1: SETUP TOOL set OH_TOOL dc
###############################################################################
source $LOCALPATH/01_setup.tcl ################################
# STEP1: SETUP PROCESS
################################
############################################################################### source $LOCALPATH/01_setup_process.tcl
# STEP2: READ DESIGN FILES
###############################################################################
source $LOCALPATH/02_read_design.tcl ################################
# STEP2: SETUP LIBRARIES
################################
############################################################################### source $LOCALPATH/02_setup_libs.tcl
# STEP3: READ CONSTRAINTS
###############################################################################
source $LOCALPATH/03_read_constraints.tcl ################################
# STEP3: CONFIGURE TOOL
################################
############################################################################### source $LOCALPATH/03_configure_tool.tcl
# STEP4: SETUP CORNERS
###############################################################################
source $LOCALPATH/04_setup_corners.tcl ################################
# STEP4: READ DESIGN FILES
################################
############################################################################### source $LOCALPATH/04_read_design.tcl
# STEP5: READ FLROOPLAN
###############################################################################
source $LOCALPATH/05_floorplan.tcl ################################
# STEP5: READ CONSTRAINTS
################################
############################################################################## source $LOCALPATH/05_read_constraints.tcl
# STEP6: CHECK DESIGN
##############################################################################
source $LOCALPATH/06_check_design.tcl ################################
# STEP6: SETUP CORNERS
################################
############################################################################## source $LOCALPATH/06_setup_corners.tcl
# STEP7: COMPILE
##############################################################################
source $LOCALPATH/07_compile.tcl ################################
# STEP7: READ FLROOPLAN
################################
############################################################################### source $LOCALPATH/07_floorplan.tcl
# STEP8: DFT
###############################################################################
source $LOCALPATH/08_dft.tcl ################################
# STEP8: CHECK DESIGN
################################
############################################################################### source $LOCALPATH/08_check_design.tcl
# STEP9: OPTIMIZE
###############################################################################
source $LOCALPATH/09_optimize.tcl ################################
# STEP9: COMPILE
################################
############################################################################### source $LOCALPATH/09_compile.tcl
# STEP10: WRITE NETLIST (AND OTHER FILES)
###############################################################################
source $LOCALPATH/10_write_netlist.tcl ################################
# STEP10: DFT
################################
source $LOCALPATH/10_dft.tcl
################################
# STEP11: OPTIMIZE
################################
source $LOCALPATH/11_optimize.tcl
################################
# STEP12: WRITE NETLIST (AND OTHER FILES)
################################
source $LOCALPATH/12_write_netlist.tcl
exit exit

View File

@ -1,4 +0,0 @@
## CONTENTS
* "pdk": process specific technology files provided by foundry
* Process node specific hard IP like standard logic libraries, general purpose IO, SERDS, memory macros

View File

@ -1,2 +0,0 @@
## CONTENTS
* Various IP vendors. ipco1, ipco2, etc

View File

@ -1,3 +0,0 @@
#FOLDER CONTENTS
Symbolic links to the latest user guides and datasheets in the "proprietary directory"

View File

@ -1,7 +0,0 @@
#FOLDER CONTENTS
* Scripts needed to setup up IP in the various EDA tools to take design from design to Tcl files needed to set up the setup.tc
* back_end: directory with links to back end views (GDS, LEF, etc)
* front_end: directory with links to front end views (verilog, lib, etc)

View File

@ -1,3 +0,0 @@
## CONTENTS
EDA specific folders and symbolic links to "proprietary" directory fron end views (GDS, lef, milkyway, etc)

View File

@ -1,3 +0,0 @@
## CONTENTS
EDA specific folders and symbolic links to "proprietary" directory. Contains symbolic links to front end views (verilog, lib)

View File

@ -1,4 +0,0 @@
## CONTENTS
* proprietary: files from vendor
* eda1: EDA tool specific setup files

View File

@ -1,3 +0,0 @@
## CONTENTS
* Links to eda specific files from proprietary pdk directory
* Technology setup scripts on a per tool basis (synthesis, P&R as examples)

View File

@ -1,2 +0,0 @@
## CONTENTS
* Various IP vendors. ipco1, ipco2, etc

View File

@ -1,2 +0,0 @@
## CONTENTS
* Various IP vendors. ipco1, ipco2, etc

View File

@ -1,2 +0,0 @@
## CONTENTS
* Various IP vendors. ipco1, ipco2, etc