2022-10-12 07:16:18 -05:00
|
|
|
# Caravel Automation scripts
|
|
|
|
|
|
|
|
## Dependencies
|
|
|
|
- [Magic](https://github.com/RTimothyEdwards/magic)
|
|
|
|
- [Klayout](https://github.com/KLayout/klayout)
|
|
|
|
- [Netgen](https://github.com/RTimothyEdwards/netgen)
|
|
|
|
|
|
|
|
## How to run
|
|
|
|
````
|
|
|
|
export CARAVEL_ROOT=<caravel path>
|
|
|
|
export MCW_ROOT=<mgmt core path>
|
2022-10-12 16:07:36 -05:00
|
|
|
export UPRJ_ROOT=<caravel user project path>
|
2022-10-12 07:16:18 -05:00
|
|
|
export PDK_ROOT=<path to pdk>
|
|
|
|
export PDK=<sky130A/B>
|
|
|
|
|
|
|
|
python3 signoff_automation.py [-options]
|
|
|
|
|
|
|
|
usage: signoff_automation.py [-h] [-d] [-l] [-v] [-rtl] [-gl] [-sdf] [-iv] [-sta] [-a]
|
|
|
|
|
|
|
|
optional arguments:
|
2022-10-12 16:07:36 -05:00
|
|
|
-h, --help show this help message and exit
|
2022-10-12 07:16:18 -05:00
|
|
|
|
2022-10-12 16:07:36 -05:00
|
|
|
-drc, --drc_check run drc check
|
2022-10-12 07:16:18 -05:00
|
|
|
|
2022-10-12 16:07:36 -05:00
|
|
|
-l, --lvs_check run lvs check
|
2022-10-12 07:16:18 -05:00
|
|
|
|
2022-10-12 16:07:36 -05:00
|
|
|
-v, --verification run verification
|
2022-10-12 07:16:18 -05:00
|
|
|
|
2022-10-12 16:07:36 -05:00
|
|
|
-rtl, --rtl run rtl verification
|
2022-10-12 07:16:18 -05:00
|
|
|
|
2022-10-12 16:07:36 -05:00
|
|
|
-gl, --gl run gl verification
|
2022-10-12 07:16:18 -05:00
|
|
|
|
2022-10-12 16:07:36 -05:00
|
|
|
-sdf, --sdf run sdf verification
|
2022-10-12 07:16:18 -05:00
|
|
|
|
2022-10-12 16:07:36 -05:00
|
|
|
-iv, --iverilog run verification using iverilog
|
2022-10-12 07:16:18 -05:00
|
|
|
|
2022-10-12 16:07:36 -05:00
|
|
|
-sta, --primetime_sta run STA using PrimeTime
|
2022-10-12 07:16:18 -05:00
|
|
|
|
2022-10-12 16:07:36 -05:00
|
|
|
-d DESIGN, --design DESIGN design under test
|
2022-10-12 07:16:18 -05:00
|
|
|
|
2022-10-12 16:07:36 -05:00
|
|
|
-a, --all run all checks
|
2022-10-12 07:16:18 -05:00
|
|
|
````
|
2022-10-12 16:07:36 -05:00
|
|
|
### How to run Caravel top-level STA including user project wrapper
|
|
|
|
1. edit in [pt_sta.tcl](./pt_sta.tcl) the spef mapping section to add the user project module instantiated in user project wrapper
|
|
|
|
2. run the command
|
|
|
|
````
|
|
|
|
python3 signoff_automation.py -d caravel -sta
|
|
|
|
````
|
2022-10-12 07:16:18 -05:00
|
|
|
## Reports and logs
|
|
|
|
|
|
|
|
Reports can be found `$CARAVEL_ROOT/signoff/<design_name>/`
|
2022-10-12 12:45:06 -05:00
|
|
|
|
2022-10-12 07:16:18 -05:00
|
|
|
Logs can be found at `$CARAVEL_ROOT/scripts/logs/`
|