mirror of https://github.com/efabless/caravel.git
31c8f54f24
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. |
||
---|---|---|
.. | ||
tech-files | ||
README.md | ||
add_isosub_layers.sh | ||
check_density.py | ||
chip_io_prep.sh | ||
compositor.py | ||
count_lvs.py | ||
create-caravel-diagram.py | ||
create_top_pins.sh | ||
fix_mag.bash | ||
fix_maglef.bash | ||
gen_gpio_defaults.py | ||
generate_fill.py | ||
generate_fill_orig.py | ||
get_net_length.bash | ||
insert_ant_areas.py | ||
klayout_drc.py | ||
make_bump_bonds.tcl | ||
openframe_build_stub.py | ||
openlane-review.bash | ||
parse_antenna_reports.py | ||
pt_sta.tcl | ||
run_caravan_lvs.sh | ||
run_caravan_lvs_3.sh | ||
run_caravan_lvs_full.sh | ||
run_caravel_lvs.sh | ||
run_caravel_lvs_3.sh | ||
run_caravel_lvs_full.sh | ||
run_chip_io_alt_lvs.sh | ||
run_chip_io_lvs.sh | ||
run_chip_io_openframe_lvs.sh | ||
run_openframe_lvs.sh | ||
run_pt_sta.py | ||
set_user_id.py | ||
setup_githooks.bash | ||
signoff_automation.py | ||
sky130_libs.tcl | ||
sky130_spef_mapping.tcl | ||
update_power_routing_views.sh | ||
verify_defaults_blocks.py |
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
- 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. - 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