1
0
mirror of https://github.com/aolofsson/oh.git synced 2025-01-17 20:02: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)
* **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
* **process name ("process1")**: 28slp, 65g, 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.
| 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_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 |
## Example
```tcl
set OH_DESIGN "ecore" ; # top level module
set OH_FILES "../../../hdl/$OH_DESIGN.v \

View File

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

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