caravel/scripts
Tim Edwards 31c8f54f24 Modified the openframe padframe so that the GPIO "wrapped"
cells are replaced with the base cells.  Routing to pins
is instead done in the "gpio_connects" cells while
improving on the original routing (fewer cross-overs,
multiple vias per contact, wider buses for the analog
signals).  Made small adjustments to many of the openframe
wrapper pins to keep them all on a 10nm grid.  Moved the
connections previously from the "wrapped" GPIO cell back
from the openframe project border, so that the border can
be clear of all blockages.  Added the DEF file of the
wrapper (previously only in the openframe example repo)
to the def/ directory.  Note:  The modified LVS scripts
depend on the gate-level netlists of the frame, which
have been committed in a prior pull request.  This pull
request does not conflict with those files.
2023-09-25 19:26:09 -04:00
..
tech-files update signoff scripts to support caravan as top-level design 2022-10-25 07:43:39 -07:00
README.md update signoff scripts to add the logs to `./signoff` 2022-11-06 06:19:15 -08:00
add_isosub_layers.sh Simple update to add a script that adds the isolated substrate 2022-10-17 15:41:30 -04:00
check_density.py added missing scripts 2021-12-01 11:03:45 -08:00
chip_io_prep.sh Final LVS run reports for caravel and caravan top levels, showing LVS 2022-11-11 15:40:08 -05:00
compositor.py remove hard-coded sky130A in rcfile path from scripts 2023-09-12 07:23:34 -07:00
count_lvs.py added missing scripts 2021-12-01 11:03:45 -08:00
create-caravel-diagram.py added missing scripts 2021-12-01 11:03:45 -08:00
create_top_pins.sh Delete create_top_pins.sh 2022-10-18 17:33:49 +02:00
fix_mag.bash get the right filepath in fix_mag 2022-10-18 04:55:54 -07:00
fix_maglef.bash make scripts executable 2022-10-18 04:54:54 -07:00
gen_gpio_defaults.py updates for caravan tapeout 2023-05-24 20:30:36 -07:00
generate_fill.py remove hard-coded sky130A in rcfile path from scripts 2023-09-12 07:23:34 -07:00
generate_fill_orig.py added missing scripts 2021-12-01 11:03:45 -08:00
get_net_length.bash feat: print the log file of get_net_length 2022-11-01 06:27:39 -07:00
insert_ant_areas.py update the gate area for antenna violations to be the smallest gate area in the SCL 2023-04-10 06:57:50 -07:00
klayout_drc.py update signoff scripts to add the logs to `./signoff` 2022-11-06 06:19:15 -08:00
make_bump_bonds.tcl Introduction of PDK variable (#39) 2022-04-08 09:05:58 -07:00
openframe_build_stub.py Copied files from the original pull request into a new one. Includes 2023-05-08 16:29:24 -04:00
openlane-review.bash feat: add self review data fetch helper script 2022-11-01 06:26:12 -07:00
parse_antenna_reports.py added antenna report parser python 2022-11-10 07:04:12 -08:00
pt_sta.tcl ~ update generated sdfs and timing models for caravan (1f54cf2) 2023-05-31 05:14:08 -07:00
run_caravan_lvs.sh issue-105: caravel & caravan.mag: relabel top-level v*_core power nets (label PLUS underlying met5); (#110) 2022-08-26 23:03:00 -07:00
run_caravan_lvs_3.sh added physical verification reports 2023-05-31 11:09:10 +03:00
run_caravan_lvs_full.sh Corrected the pull-up definition and revised the CSB definition to 2022-10-05 10:02:24 -04:00
run_caravel_lvs.sh issue-105: caravel & caravan.mag: relabel top-level v*_core power nets (label PLUS underlying met5); (#110) 2022-08-26 23:03:00 -07:00
run_caravel_lvs_3.sh updated lvs script 2023-04-20 17:34:20 +02:00
run_caravel_lvs_full.sh Numerous bug fixes, ending in clean full LVS for both caravel and caravan. (#76) 2022-04-19 19:05:27 -07:00
run_chip_io_alt_lvs.sh Numerous bug fixes, ending in clean full LVS for both caravel and caravan. (#76) 2022-04-19 19:05:27 -07:00
run_chip_io_lvs.sh Numerous bug fixes, ending in clean full LVS for both caravel and caravan. (#76) 2022-04-19 19:05:27 -07:00
run_chip_io_openframe_lvs.sh Modified the openframe padframe so that the GPIO "wrapped" 2023-09-25 19:26:09 -04:00
run_openframe_lvs.sh Modified the openframe padframe so that the GPIO "wrapped" 2023-09-25 19:26:09 -04:00
run_pt_sta.py ~ update STA signoff scripts to the latest version used for caravel (4d4129b) 2023-04-19 04:28:25 -07:00
set_user_id.py update make ship and set_user_id.py 2023-04-20 16:50:36 -07:00
setup_githooks.bash misc: scripts to prevent & fix bad mag paths 2022-10-18 04:51:32 -07:00
signoff_automation.py + add caravan (29426a0) generated sdf and timing models 2023-05-30 09:14:56 -07:00
sky130_libs.tcl ~ update STA signoff scripts to the latest version used for caravel (4d4129b) 2023-04-19 04:28:25 -07:00
sky130_spef_mapping.tcl + add caravan (29426a0) generated sdf and timing models 2023-05-30 09:14:56 -07:00
update_power_routing_views.sh Caravel redesign new top (#300) 2022-10-18 17:24:07 -07:00
verify_defaults_blocks.py Updated the verify_defaults_blocks.py script to also check the 2023-04-24 09:22:29 -04:00

README.md

Caravel Automation scripts

Dependencies

How to run

export CARAVEL_ROOT=<caravel path>
export MCW_ROOT=<mgmt core path>
export UPRJ_ROOT=<caravel user project path>
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:
  -h, --help                    show this help message and exit

  -drc, --drc_check             run drc check

  -l, --lvs_check               run lvs check

  -v, --verification            run verification

  -rtl, --rtl                   run rtl verification

  -gl, --gl                     run gl verification

  -sdf, --sdf                   run sdf verification

  -iv, --iverilog               run verification using iverilog

  -sta, --primetime_sta         run STA using PrimeTime

  -d DESIGN, --design DESIGN    design under test

  -a, --all                     run all checks

How to run Caravel top-level STA including user project wrapper

  1. edit in spef_mapping.tcl to add mapping of the modules instantiated in user_project_wrapper/user_analog_project_wrapper to their spef. this is required to enable hierarchical parasitic annotation.
  2. run the command
python3 signoff_automation.py -d caravel -sta

Reports and logs

Reports can be found at $CARAVEL_ROOT/signoff/<design_name>/

Logs can be found at $CARAVEL_ROOT/signoff/<design_name>/standalone_pvr/logs and $CARAVEL_ROOT/signoff/<design_name>/primetime-signoff/logs

If the design is related to the Management Core SoC, $CARAVEL_ROOT is replaced by $MCW_ROOT for the reports and logs