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
2022-10-15 15:34:45 -05:00
1. edit in [pt_sta.tcl ](https://github.com/efabless/caravel/blob/caravel_redesign/scripts/pt_sta.tcl#L69 ) the spef mapping section to add the user project module instantiated in user project wrapper
2022-10-12 16:07:36 -05:00
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/`