diff --git a/Makefile b/Makefile index 441c4694..54740c39 100644 --- a/Makefile +++ b/Makefile @@ -46,6 +46,9 @@ MCW_ROOT?=$(PWD)/mgmt_core_wrapper MCW ?=LITEX_VEXRISCV MPW_TAG ?= mpw-5c +# PDK switch varient +export PDK?=sky130B + # Install lite version of caravel, (1): caravel-lite, (0): caravel MCW_LITE?=1 @@ -133,8 +136,8 @@ __ship: quit -noprompt;" > $(UPRJ_ROOT)/mag/mag2gds_caravel.tcl ### Runs from CARAVEL_ROOT @mkdir -p ./signoff/build - #@cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/sky130A MAGTYPE=mag magic -noc -dnull -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc $(UPRJ_ROOT)/mag/mag2gds_caravel.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_ship.out - @cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/sky130A MAGTYPE=mag magic -noc -dnull -rcfile ./.magicrc $(UPRJ_ROOT)/mag/mag2gds_caravel.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_ship.out + #@cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/$(PDK) MAGTYPE=mag magic -noc -dnull -rcfile ${PDK_ROOT}/$(PDK)/libs.tech/magic/$(PDK).magicrc $(UPRJ_ROOT)/mag/mag2gds_caravel.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_ship.out + @cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/$(PDK) MAGTYPE=mag magic -noc -dnull -rcfile ./.magicrc $(UPRJ_ROOT)/mag/mag2gds_caravel.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_ship.out ### @rm $(UPRJ_ROOT)/mag/mag2gds_caravel.tcl truck: check-env uncompress uncompress-caravel @@ -185,8 +188,8 @@ __truck: quit -noprompt;" > $(UPRJ_ROOT)/mag/mag2gds_caravan.tcl ### Runs from CARAVEL_ROOT @mkdir -p ./signoff/build - #@cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/sky130A MAGTYPE=mag magic -noc -dnull -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc $(UPRJ_ROOT)/mag/mag2gds_caravan.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_truck.out - @cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/sky130A MAGTYPE=mag magic -noc -dnull -rcfile ./.magicrc $(UPRJ_ROOT)/mag/mag2gds_caravan.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_truck.out + #@cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/$(PDK) MAGTYPE=mag magic -noc -dnull -rcfile ${PDK_ROOT}/$(PDK)/libs.tech/magic/$(PDK).magicrc $(UPRJ_ROOT)/mag/mag2gds_caravan.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_truck.out + @cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/$(PDK) MAGTYPE=mag magic -noc -dnull -rcfile ./.magicrc $(UPRJ_ROOT)/mag/mag2gds_caravan.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_truck.out ### @rm $(UPRJ_ROOT)/mag/mag2gds_caravan.tcl .PHONY: clean @@ -274,7 +277,7 @@ xor-wrapper: uncompress uncompress-caravel -o signoff/user_project_wrapper_xor/total.txt ### screenshot the result for convenience sh $(CARAVEL_ROOT)/utils/scrotLayout.sh \ - $(PDK_ROOT)/sky130A/libs.tech/klayout/sky130A.lyt \ + $(PDK_ROOT)/$(PDK)/libs.tech/klayout/$(PDK).lyt \ signoff/user_project_wrapper_xor/user_project_wrapper.xor.gds @cat signoff/user_project_wrapper_xor/total.txt @@ -300,7 +303,7 @@ xor-analog-wrapper: uncompress uncompress-caravel -o signoff/user_analog_project_wrapper_xor/total.txt ### screenshot the result for convenience sh $(CARAVEL_ROOT)/utils/scrotLayout.sh \ - $(PDK_ROOT)/sky130A/libs.tech/klayout/sky130A.lyt \ + $(PDK_ROOT)/$(PDK)/libs.tech/klayout/$(PDK).lyt \ signoff/user_analog_project_wrapper_xor/user_analog_project_wrapper.xor.gds @cat signoff/user_analog_project_wrapper_xor/total.txt @@ -333,7 +336,7 @@ $(LVS_BLOCKS): lvs-% : ./mag/%.mag ./verilog/gl/%.v exit;" > ./mag/extract_$*.tcl cd mag && \ export MAGTYPE=maglef; \ - magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc -noc -dnull extract_$*.tcl < /dev/null + magic -rcfile ${PDK_ROOT}/$(PDK)/libs.tech/magic/$(PDK).magicrc -noc -dnull extract_$*.tcl < /dev/null mv ./mag/$*.spice ./spi/lvs rm ./mag/*.ext mv -f ./mag/extract_$*.tcl ./mag/tmp @@ -369,7 +372,7 @@ $(LVS_GDS_BLOCKS): lvs-gds-% : ./gds/%.gds ./verilog/gl/%.v feedback save extract_$*.log;\ exit;" > ./gds/extract_$*.tcl cd gds && \ - magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc -noc -dnull extract_$*.tcl < /dev/null + magic -rcfile ${PDK_ROOT}/$(PDK)/libs.tech/magic/$(PDK).magicrc -noc -dnull extract_$*.tcl < /dev/null mv ./gds/$*.spice ./spi/lvs rm ./gds/*.ext mv -f ./gds/extract_$*.tcl ./gds/tmp @@ -432,7 +435,7 @@ DRC_BLOCKS = $(foreach block, $(BLOCKS), drc-$(block)) $(DRC_BLOCKS): drc-% : ./gds/%.gds echo "Running DRC on $*" mkdir -p ./gds/tmp - cd gds && export DESIGN_IN_DRC=$* && export MAGTYPE=mag; magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc -noc -dnull $(CARAVEL_ROOT)/gds/drc_on_gds.tcl < /dev/null + cd gds && export DESIGN_IN_DRC=$* && export MAGTYPE=mag; magic -rcfile ${PDK_ROOT}/$(PDK)/libs.tech/magic/$(PDK).magicrc -noc -dnull $(CARAVEL_ROOT)/gds/drc_on_gds.tcl < /dev/null @echo "DRC result: ./gds/tmp/$*.drc" # Antenna @@ -441,7 +444,7 @@ ANTENNA_BLOCKS = $(foreach block, $(BLOCKS), antenna-$(block)) $(ANTENNA_BLOCKS): antenna-% : ./gds/%.gds echo "Running Antenna Checks on $*" mkdir -p ./gds/tmp - cd gds && export DESIGN_IN_ANTENNA=$* && export MAGTYPE=mag; magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc -noc -dnull $(CARAVEL_ROOT)/gds/antenna_on_gds.tcl < /dev/null 2>&1 | tee ./tmp/$*.antenna + cd gds && export DESIGN_IN_ANTENNA=$* && export MAGTYPE=mag; magic -rcfile ${PDK_ROOT}/$(PDK)/libs.tech/magic/$(PDK).magicrc -noc -dnull $(CARAVEL_ROOT)/gds/antenna_on_gds.tcl < /dev/null 2>&1 | tee ./tmp/$*.antenna mv -f ./gds/*.ext ./gds/tmp/ @echo "Antenna result: ./gds/tmp/$*.antenna" @@ -460,7 +463,7 @@ $(MAG_BLOCKS): mag2gds-% : ./mag/%.mag uncompress expand;\ gds write $*.gds;\ exit;" > ./mag/mag2gds_$*.tcl - cd ./mag && magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc -noc -dnull mag2gds_$*.tcl < /dev/null + cd ./mag && magic -rcfile ${PDK_ROOT}/$(PDK)/libs.tech/magic/$(PDK).magicrc -noc -dnull mag2gds_$*.tcl < /dev/null rm ./mag/mag2gds_$*.tcl mv -f ./mag/$*.gds ./gds/ @@ -476,7 +479,7 @@ $(MAG_BLOCKS): mag2lef-% : ./mag/%.mag uncompress load $*;\ lef write $*.lef;\ exit;" > ./mag/mag2lef_$*.tcl - cd ./mag && magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc -noc -dnull mag2lef_$*.tcl < /dev/null + cd ./mag && magic -rcfile ${PDK_ROOT}/$(PDK)/libs.tech/magic/$(PDK).magicrc -noc -dnull mag2lef_$*.tcl < /dev/null rm ./mag/mag2lef_$*.tcl mv -f ./mag/$*.lef ./lef/ @@ -492,7 +495,7 @@ $(MAG_BLOCKS): mag2lef-% : ./mag/%.mag uncompress # load $*;\ # lef write $*.lef;\ # exit;" > ./mag/mag2lef_$*.tcl -# cd ./mag && magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc -noc -dnull mag2lef_$*.tcl < /dev/null +# cd ./mag && magic -rcfile ${PDK_ROOT}/$(PDK)/libs.tech/magic/$(PDK).magicrc -noc -dnull mag2lef_$*.tcl < /dev/null # rm ./mag/mag2lef_$*.tcl # mv -f ./mag/$*.lef ./lef/ @@ -508,27 +511,27 @@ $(RCX_BLOCKS): rcx-% : ./def/%.def echo "Running RC Extraction on $*" mkdir -p ./def/tmp # merge techlef and standard cell lef files - python3 $(OPENLANE_ROOT)/scripts/mergeLef.py -i $(PDK_ROOT)/sky130A/libs.ref/$(STD_CELL_LIBRARY)/techlef/$(STD_CELL_LIBRARY).tlef $(PDK_ROOT)/sky130A/libs.ref/$(STD_CELL_LIBRARY)/lef/*.lef $(PDK_ROOT)/sky130A/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/techlef/$(SPECIAL_VOLTAGE_LIBRARY).tlef $(PDK_ROOT)/sky130A/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lef/*.lef $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lef/*.lef -o ./def/tmp/merged.lef + python3 $(OPENLANE_ROOT)/scripts/mergeLef.py -i $(PDK_ROOT)/$(PDK)/libs.ref/$(STD_CELL_LIBRARY)/techlef/$(STD_CELL_LIBRARY).tlef $(PDK_ROOT)/$(PDK)/libs.ref/$(STD_CELL_LIBRARY)/lef/*.lef $(PDK_ROOT)/$(PDK)/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/techlef/$(SPECIAL_VOLTAGE_LIBRARY).tlef $(PDK_ROOT)/$(PDK)/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lef/*.lef $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lef/*.lef -o ./def/tmp/merged.lef echo "\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__tt_025C_1v80.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__tt_025C_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__tt_025C_3v30_lv1v80.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_gpiov2_tt_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_hvc_wpad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_tt_100C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_power_lvc_wpad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_xres4v2_tt_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__gpiov2_pad_tt_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vdda_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssa_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped3_pad_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped3_pad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped_pad_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__tt_025C_1v80.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__tt_025C_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__tt_025C_3v30_lv1v80.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_gpiov2_tt_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_hvc_wpad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_tt_100C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_power_lvc_wpad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_xres4v2_tt_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__gpiov2_pad_tt_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vdda_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssa_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped3_pad_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped3_pad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped_pad_tt_025C_1v80_3v30.lib;\ set std_cell_lef ./def/tmp/merged.lef;\ - set sram_lef $(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef;\ + set sram_lef $(PDK_ROOT)/$(PDK)/libs.ref/sky130_sram_macros/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef;\ if {[catch {read_lef \$$std_cell_lef} errmsg]} {\ puts stderr \$$errmsg;\ exit 1;\ @@ -567,7 +570,7 @@ $(RCX_BLOCKS): rcx-% : ./def/%.def set_wire_rc -signal -layer met2;\ set_wire_rc -clock -layer met5;\ define_process_corner -ext_model_index 0 X;\ - extract_parasitics -ext_model_file ${PDK_ROOT}/sky130A/libs.tech/openlane/rcx_rules.info -corner_cnt 1 -max_res 50 -coupling_threshold 0.1 -cc_model 10 -context_depth 5;\ + extract_parasitics -ext_model_file ${PDK_ROOT}/$(PDK)/libs.tech/openlane/rcx_rules.info -corner_cnt 1 -max_res 50 -coupling_threshold 0.1 -cc_model 10 -context_depth 5;\ write_spef ./spef/$*.spef" > ./def/tmp/rcx_$*.tcl ## Generate Spef file docker run -it -v $(OPENLANE_ROOT):/openlane -v $(PDK_ROOT):$(PDK_ROOT) -v $(PWD):/caravel -e PDK_ROOT=$(PDK_ROOT) -u $(shell id -u $(USER)):$(shell id -g $(USER)) $(OPENLANE_IMAGE_NAME) \ @@ -575,7 +578,7 @@ $(RCX_BLOCKS): rcx-% : ./def/%.def ## Run OpenSTA echo "\ set std_cell_lef ./def/tmp/merged.lef;\ - set sram_lef $(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef;\ + set sram_lef $(PDK_ROOT)/$(PDK)/libs.ref/sky130_sram_macros/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef;\ if {[catch {read_lef \$$std_cell_lef} errmsg]} {\ puts stderr \$$errmsg;\ exit 1;\ @@ -591,23 +594,23 @@ $(RCX_BLOCKS): rcx-% : ./def/%.def }\ };\ set_cmd_units -time ns -capacitance pF -current mA -voltage V -resistance kOhm -distance um;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__tt_025C_1v80.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__tt_025C_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/sky130_fd_sc_hvl__tt_025C_3v30_lv1v80.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_gpiov2_tt_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_hvc_wpad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_tt_100C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_power_lvc_wpad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_xres4v2_tt_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__gpiov2_pad_tt_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vdda_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssa_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped3_pad_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped3_pad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped_pad_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__tt_025C_1v80.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__tt_025C_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/sky130_fd_sc_hvl__tt_025C_3v30_lv1v80.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_gpiov2_tt_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_hvc_wpad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_tt_100C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_power_lvc_wpad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_xres4v2_tt_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__gpiov2_pad_tt_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vdda_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssa_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped3_pad_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped3_pad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped_pad_tt_025C_1v80_3v30.lib;\ read_verilog ./verilog/gl/$*.v;\ link_design $*;\ read_spef ./spef/$*.spef;\ @@ -625,23 +628,23 @@ caravel_timing_typ: ./def/caravel.def ./sdc/caravel.sdc ./verilog/gl/caravel.v c mkdir -p ./def/tmp ## Run OpenSTA echo "\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__tt_025C_1v80.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__tt_025C_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__tt_025C_3v30_lv1v80.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_gpiov2_tt_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_hvc_wpad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_tt_100C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_power_lvc_wpad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_xres4v2_tt_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__gpiov2_pad_tt_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vdda_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssa_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped3_pad_tt_025C_1v80_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped3_pad_tt_025C_1v80_3v30_3v30.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped_pad_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__tt_025C_1v80.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__tt_025C_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__tt_025C_3v30_lv1v80.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_gpiov2_tt_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_hvc_wpad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_tt_100C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_power_lvc_wpad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_xres4v2_tt_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__gpiov2_pad_tt_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vdda_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssa_hvc_clamped_pad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped3_pad_tt_025C_1v80_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped3_pad_tt_025C_1v80_3v30_3v30.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped_pad_tt_025C_1v80_3v30.lib;\ read_verilog $(MCW_ROOT)/verilog/gl/mgmt_core.v;\ read_verilog $(MCW_ROOT)/verilog/gl/DFFRAM.v;\ read_verilog $(MCW_ROOT)/verilog/gl/mgmt_core_wrapper.v;\ @@ -781,22 +784,22 @@ caravel_timing_slow: ./def/caravel.def ./sdc/caravel.sdc ./verilog/gl/caravel.v mkdir -p ./def/tmp ## Run OpenSTA echo "\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__ss_100C_1v60.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__ss_100C_1v65.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__ss_100C_1v65_lv1v40.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_gpiov2_ss_ss_100C_1v40_1v65.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_hvc_wpad_ss_100C_1v60_3v00_3v00.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_ss_100C_1v40_1v65.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_power_lvc_wpad_ss_100C_1v60_3v00_3v00.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_xres4v2_ss_ss_100C_1v40_1v65.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__gpiov2_pad_wrapped_ss_ss_100C_1v60_3v00.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped_pad_ss_100C_1v60_3v00_3v00.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vdda_hvc_clamped_pad_ss_100C_1v60_3v00_3v00.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vdda_hvc_clamped_pad_ss_100C_1v60_3v00_3v00.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped3_pad_ss_100C_1v40_1v65.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped3_pad_ss_100C_1v60_3v00_3v00.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped_pad_ss_100C_1v60_3v00.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__ss_100C_1v60.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__ss_100C_1v65.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__ss_100C_1v65_lv1v40.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_gpiov2_ss_ss_100C_1v40_1v65.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_hvc_wpad_ss_100C_1v60_3v00_3v00.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_ss_100C_1v40_1v65.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_power_lvc_wpad_ss_100C_1v60_3v00_3v00.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_xres4v2_ss_ss_100C_1v40_1v65.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__gpiov2_pad_wrapped_ss_ss_100C_1v60_3v00.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped_pad_ss_100C_1v60_3v00_3v00.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vdda_hvc_clamped_pad_ss_100C_1v60_3v00_3v00.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vdda_hvc_clamped_pad_ss_100C_1v60_3v00_3v00.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped3_pad_ss_100C_1v40_1v65.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped3_pad_ss_100C_1v60_3v00_3v00.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped_pad_ss_100C_1v60_3v00.lib;\ read_verilog $(MCW_ROOT)/verilog/gl/mgmt_core.v;\ read_verilog $(MCW_ROOT)/verilog/gl/DFFRAM.v;\ read_verilog $(MCW_ROOT)/verilog/gl/mgmt_core_wrapper.v;\ @@ -933,23 +936,23 @@ caravel_timing_fast: ./def/caravel.def ./sdc/caravel.sdc ./verilog/gl/caravel.v mkdir -p ./def/tmp ## Run OpenSTA echo "\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__ff_n40C_1v95.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__ff_n40C_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__ff_n40C_4v40_lv1v95.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_gpiov2_ff_ff_n40C_1v95_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_hvc_wpad_ff_n40C_1v95_5v50_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_ff_n40C_1v95_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_ff_n40C_1v95_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_power_lvc_wpad_ff_n40C_1v95_5v50_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_xres4v2_ff_ff_n40C_1v95_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__gpiov2_pad_wrapped_ff_ff_n40C_1v95_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped_pad_ff_n40C_1v95_5v50_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vdda_hvc_clamped_pad_ff_n40C_1v95_5v50_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssa_hvc_clamped_pad_ff_n40C_1v95_5v50_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped3_pad_ff_n40C_1v95_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped3_pad_ff_n40C_1v95_5v50_5v50.lib;\ - read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped_pad_ff_n40C_1v95_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__ff_n40C_1v95.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__ff_n40C_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(SPECIAL_VOLTAGE_LIBRARY)/lib/$(SPECIAL_VOLTAGE_LIBRARY)__ff_n40C_4v40_lv1v95.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_gpiov2_ff_ff_n40C_1v95_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_hvc_wpad_ff_n40C_1v95_5v50_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_ff_n40C_1v95_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_ground_lvc_wpad_ff_n40C_1v95_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_power_lvc_wpad_ff_n40C_1v95_5v50_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_fd_io__top_xres4v2_ff_ff_n40C_1v95_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__gpiov2_pad_wrapped_ff_ff_n40C_1v95_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped_pad_ff_n40C_1v95_5v50_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vdda_hvc_clamped_pad_ff_n40C_1v95_5v50_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssa_hvc_clamped_pad_ff_n40C_1v95_5v50_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped3_pad_ff_n40C_1v95_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vccd_lvc_clamped3_pad_ff_n40C_1v95_5v50_5v50.lib;\ + read_liberty $(PDK_ROOT)/$(PDK)/libs.ref/$(IO_LIBRARY)/lib/sky130_ef_io__vssd_lvc_clamped_pad_ff_n40C_1v95_5v50.lib;\ read_verilog $(MCW_ROOT)/verilog/gl/mgmt_core.v;\ read_verilog $(MCW_ROOT)/verilog/gl/DFFRAM.v;\ read_verilog $(MCW_ROOT)/verilog/gl/mgmt_core_wrapper.v;\ @@ -1267,9 +1270,9 @@ open-pdks: .PHONY: sky130 sky130: - if [ -d "$(PDK_ROOT)/sky130A" ]; then \ - echo "Deleting exisiting $(PDK_ROOT)/sky130A" && \ - rm -rf $(PDK_ROOT)/sky130A && sleep 2;\ + if [ -d "$(PDK_ROOT)/$(PDK)" ]; then \ + echo "Deleting exisiting $(PDK_ROOT)/$(PDK)" && \ + rm -rf $(PDK_ROOT)/$(PDK) && sleep 2;\ fi docker run --rm\ -v $(PDK_ROOT):$(PDK_ROOT)\ @@ -1290,12 +1293,12 @@ sky130: " .PHONY: gen-sources gen-sources: - touch $(PDK_ROOT)/sky130A/SOURCES - printf "skywater-pdk " >> $(PDK_ROOT)/sky130A/SOURCES - cd $(PDK_ROOT)/skywater-pdk && git rev-parse HEAD >> $(PDK_ROOT)/sky130A/SOURCES - printf "open_pdks " >> $(PDK_ROOT)/sky130A/SOURCES - cd $(PDK_ROOT)/open_pdks && git rev-parse HEAD >> $(PDK_ROOT)/sky130A/SOURCES - printf "magic $(PDK_MAGIC_COMMIT)" >> $(PDK_ROOT)/sky130A/SOURCES + touch $(PDK_ROOT)/$(PDK)/SOURCES + printf "skywater-pdk " >> $(PDK_ROOT)/$(PDK)/SOURCES + cd $(PDK_ROOT)/skywater-pdk && git rev-parse HEAD >> $(PDK_ROOT)/$(PDK)/SOURCES + printf "open_pdks " >> $(PDK_ROOT)/$(PDK)/SOURCES + cd $(PDK_ROOT)/open_pdks && git rev-parse HEAD >> $(PDK_ROOT)/$(PDK)/SOURCES + printf "magic $(PDK_MAGIC_COMMIT)" >> $(PDK_ROOT)/$(PDK)/SOURCES .RECIPE: manifest manifest: mag/ maglef/ verilog/rtl/ Makefile diff --git a/mag/.magicrc b/mag/.magicrc index 12328c6f..e13f2766 100755 --- a/mag/.magicrc +++ b/mag/.magicrc @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -puts stdout "Sourcing design .magicrc for technology sky130A ..." +puts stdout "Sourcing design .magicrc for technology $::env(PDK) ..." # Put grid on 0.005 pitch. This is important, as some commands don't # rescale the grid automatically (such as lef read?). @@ -29,17 +29,17 @@ drc euclidean on # Allow override of PDK path from environment variable PDKPATH if {[catch {set PDKPATH $env(PDKPATH)}]} { - set PDKPATH "$::env(PDK_ROOT)/sky130A" + set PDKPATH "$::env(PDK_ROOT)/$::env(PDK)" } # loading technology -tech load $PDKPATH/libs.tech/magic/sky130A.tech +tech load $PDKPATH/libs.tech/magic/$::env(PDK).tech # load device generator -source $PDKPATH/libs.tech/magic/sky130A.tcl +source $PDKPATH/libs.tech/magic/$::env(PDK).tcl # load bind keys (optional) -# source $PDKPATH/libs.tech/magic/sky130A-BindKeys +# source $PDKPATH/libs.tech/magic/$::env(PDK)-BindKeys # set units to lambda grid snap lambda diff --git a/mag/run_caravan_lvs.sh b/mag/run_caravan_lvs.sh index fedf4392..94729d12 100755 --- a/mag/run_caravan_lvs.sh +++ b/mag/run_caravan_lvs.sh @@ -3,7 +3,7 @@ echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null if [ ! -f caravan.spice ]; then -magic -dnull -noconsole -rcfile $PDK_ROOT/sky130A/libs.tech/magic/sky130A.magicrc << EOF +magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF drc off crashbackups stop load caravan @@ -18,4 +18,4 @@ rm -f *.ext fi export NETGEN_COLUMNS=60 -netgen -batch lvs "caravan.spice caravan" "../verilog/gl/caravan.v caravan" $PDK_ROOT/sky130A/libs.tech/netgen/sky130A_setup.tcl comp.out +netgen -batch lvs "caravan.spice caravan" "../verilog/gl/caravan.v caravan" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl comp.out diff --git a/mag/run_caravel_lvs.sh b/mag/run_caravel_lvs.sh index 893a2ba9..2d080800 100755 --- a/mag/run_caravel_lvs.sh +++ b/mag/run_caravel_lvs.sh @@ -3,7 +3,7 @@ echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null if [ ! -f caravel.spice ]; then -magic -dnull -noconsole -rcfile $PDK_ROOT/sky130A/libs.tech/magic/sky130A.magicrc << EOF +magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF drc off crashbackups stop load caravel @@ -18,4 +18,4 @@ rm -f *.ext fi export NETGEN_COLUMNS=60 -netgen -batch lvs "caravel.spice caravel" "../verilog/gl/caravel.v caravel" $PDK_ROOT/sky130A/libs.tech/netgen/sky130A_setup.tcl comp.out +netgen -batch lvs "caravel.spice caravel" "../verilog/gl/caravel.v caravel" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl comp.out diff --git a/mag/run_chip_io_alt_lvs.sh b/mag/run_chip_io_alt_lvs.sh index 50417a95..0ea18a8e 100755 --- a/mag/run_chip_io_alt_lvs.sh +++ b/mag/run_chip_io_alt_lvs.sh @@ -3,7 +3,7 @@ echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null if [ ! -f caravan.spice ]; then -magic -dnull -noconsole -rcfile $PDK_ROOT/sky130A/libs.tech/magic/sky130A.magicrc << EOF +magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF drc off crashbackups stop load caravan @@ -18,4 +18,4 @@ rm -f *.ext fi export NETGEN_COLUMNS=60 -netgen -batch lvs "caravan.spice chip_io_alt" "../verilog/gl/chip_io_alt.v chip_io_alt" $PDK_ROOT/sky130A/libs.tech/netgen/sky130A_setup.tcl comp.out +netgen -batch lvs "caravan.spice chip_io_alt" "../verilog/gl/chip_io_alt.v chip_io_alt" $PDK_ROOT/$PDK/libs.tech/netgen/$PDK_VARIENT_setup.tcl comp.out diff --git a/mag/run_chip_io_lvs.sh b/mag/run_chip_io_lvs.sh index 2de89736..2917edae 100755 --- a/mag/run_chip_io_lvs.sh +++ b/mag/run_chip_io_lvs.sh @@ -3,7 +3,7 @@ echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null if [ ! -f caravel.spice ]; then -magic -dnull -noconsole -rcfile $PDK_ROOT/sky130A/libs.tech/magic/sky130A.magicrc << EOF +magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF drc off crashbackups stop load caravel @@ -18,4 +18,4 @@ rm -f *.ext fi export NETGEN_COLUMNS=60 -netgen -batch lvs "caravel.spice chip_io" "../verilog/gl/chip_io.v chip_io" $PDK_ROOT/sky130A/libs.tech/netgen/sky130A_setup.tcl comp.out +netgen -batch lvs "caravel.spice chip_io" "../verilog/gl/chip_io.v chip_io" $PDK_ROOT/$PDK/libs.tech/netgen/$PDK_VARIENT_setup.tcl comp.out diff --git a/openlane/Makefile b/openlane/Makefile index 4e0a630e..ccd0ce96 100644 --- a/openlane/Makefile +++ b/openlane/Makefile @@ -46,9 +46,9 @@ endif -v $(PDK_ROOT):$(PDK_ROOT) \ -v $(PWD)/..:$(PWD)/.. \ -v $(CARAVEL_ROOT):$(CARAVEL_ROOT) \ - -v $(MGMT_AREA_ROOT):$(MGMT_AREA_ROOT) \ -e PDK_ROOT=$(PDK_ROOT) \ -e CARAVEL_ROOT=$(CARAVEL_ROOT) \ + -e PDK=$(PDK) \ -u $(shell id -u $(USER)):$(shell id -g $(USER)) \ $(OPENLANE_IMAGE_NAME) sh -c $(OPENLANE_INTERACTIVE_COMMAND);\ else\ @@ -56,7 +56,7 @@ endif -v $(PDK_ROOT):$(PDK_ROOT) \ -v $(PWD)/..:$(PWD)/.. \ -v $(CARAVEL_ROOT):$(CARAVEL_ROOT) \ - -v $(MGMT_AREA_ROOT):$(MGMT_AREA_ROOT) \ + -e PDK=$(PDK) \ -e PDK_ROOT=$(PDK_ROOT) \ -e CARAVEL_ROOT=$(CARAVEL_ROOT) \ -u $(shell id -u $(USER)):$(shell id -g $(USER)) \ diff --git a/scripts/make_bump_bonds.tcl b/scripts/make_bump_bonds.tcl index ade81d6b..2ba7b65a 100755 --- a/scripts/make_bump_bonds.tcl +++ b/scripts/make_bump_bonds.tcl @@ -21,7 +21,7 @@ namespace path {::tcl::mathop ::tcl::mathfunc} if {[catch {set PDKPATH $env(PDKPATH)}]} { - set PDKPATH "$::env(PDK_ROOT)/sky130A" + set PDKPATH "$::env(PDK_ROOT)/$::env(PDK)" } source $PDKPATH/libs.tech/magic/current/bump_bond_generator/bump_bond.tcl diff --git a/spi/lvs/run_lvs.sh b/spi/lvs/run_lvs.sh index 25c27a1d..044aec04 100755 --- a/spi/lvs/run_lvs.sh +++ b/spi/lvs/run_lvs.sh @@ -15,6 +15,6 @@ # SPDX-License-Identifier: Apache-2.0 -NETGEN_SETUP=$PDK_ROOT/sky130A/libs.tech/netgen/sky130A_setup.tcl +NETGEN_SETUP=$PDK_ROOT/$PDK/libs.tech/netgen/"$PDK"_setup.tcl netgen -batch lvs "$1 $3" "$2 $3" ${NETGEN_SETUP} $2_comp.out -json | tee $2_comp_lvs.log diff --git a/verilog/dv/caravel/mgmt_soc/caravan/Makefile b/verilog/dv/caravel/mgmt_soc/caravan/Makefile index eeae210b..c07892ed 100644 --- a/verilog/dv/caravel/mgmt_soc/caravan/Makefile +++ b/verilog/dv/caravel/mgmt_soc/caravan/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -73,14 +73,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/gpio/Makefile b/verilog/dv/caravel/mgmt_soc/gpio/Makefile index 9b79802d..2b2c2f17 100644 --- a/verilog/dv/caravel/mgmt_soc/gpio/Makefile +++ b/verilog/dv/caravel/mgmt_soc/gpio/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -73,14 +73,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/gpio_mgmt/Makefile b/verilog/dv/caravel/mgmt_soc/gpio_mgmt/Makefile index a1df46e0..c49ae9f6 100644 --- a/verilog/dv/caravel/mgmt_soc/gpio_mgmt/Makefile +++ b/verilog/dv/caravel/mgmt_soc/gpio_mgmt/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -73,14 +73,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/hkspi/Makefile b/verilog/dv/caravel/mgmt_soc/hkspi/Makefile index eb19b51a..7e3221c5 100644 --- a/verilog/dv/caravel/mgmt_soc/hkspi/Makefile +++ b/verilog/dv/caravel/mgmt_soc/hkspi/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -73,14 +73,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/hkspi_power/Makefile b/verilog/dv/caravel/mgmt_soc/hkspi_power/Makefile index ffe9fd69..24d41ff6 100644 --- a/verilog/dv/caravel/mgmt_soc/hkspi_power/Makefile +++ b/verilog/dv/caravel/mgmt_soc/hkspi_power/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/irq/Makefile b/verilog/dv/caravel/mgmt_soc/irq/Makefile index 97598de9..610bd102 100644 --- a/verilog/dv/caravel/mgmt_soc/irq/Makefile +++ b/verilog/dv/caravel/mgmt_soc/irq/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -73,14 +73,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif diff --git a/verilog/dv/caravel/mgmt_soc/mem/Makefile b/verilog/dv/caravel/mgmt_soc/mem/Makefile index b6590cda..a894215f 100644 --- a/verilog/dv/caravel/mgmt_soc/mem/Makefile +++ b/verilog/dv/caravel/mgmt_soc/mem/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -73,14 +73,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/mprj_bitbang/Makefile b/verilog/dv/caravel/mgmt_soc/mprj_bitbang/Makefile index 229dde9a..33b15328 100644 --- a/verilog/dv/caravel/mgmt_soc/mprj_bitbang/Makefile +++ b/verilog/dv/caravel/mgmt_soc/mprj_bitbang/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/mprj_ctrl/Makefile b/verilog/dv/caravel/mgmt_soc/mprj_ctrl/Makefile index e1b13b60..893a88cf 100644 --- a/verilog/dv/caravel/mgmt_soc/mprj_ctrl/Makefile +++ b/verilog/dv/caravel/mgmt_soc/mprj_ctrl/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/pass_thru/Makefile b/verilog/dv/caravel/mgmt_soc/pass_thru/Makefile index fbe5db6e..76af266c 100644 --- a/verilog/dv/caravel/mgmt_soc/pass_thru/Makefile +++ b/verilog/dv/caravel/mgmt_soc/pass_thru/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/perf/Makefile b/verilog/dv/caravel/mgmt_soc/perf/Makefile index 8e4c9797..59fb2d7c 100644 --- a/verilog/dv/caravel/mgmt_soc/perf/Makefile +++ b/verilog/dv/caravel/mgmt_soc/perf/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/pll/Makefile b/verilog/dv/caravel/mgmt_soc/pll/Makefile index 25874c1b..d51fd6ac 100644 --- a/verilog/dv/caravel/mgmt_soc/pll/Makefile +++ b/verilog/dv/caravel/mgmt_soc/pll/Makefile @@ -22,7 +22,7 @@ BEHAVIOURAL_MODELS = ../../ GCC_PATH?=/ef/apps/bin GCC_PREFIX?=riscv32-unknown-elf -PDK_PATH?=$(PDK_ROOT)/sky130A +PDK_PATH?=$(PDK_ROOT)/$(PDK) SIM_DEFINES = -DFUNCTIONAL -DSIM @@ -73,14 +73,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif diff --git a/verilog/dv/caravel/mgmt_soc/qspi/Makefile b/verilog/dv/caravel/mgmt_soc/qspi/Makefile index 96fd19f3..c4853892 100644 --- a/verilog/dv/caravel/mgmt_soc/qspi/Makefile +++ b/verilog/dv/caravel/mgmt_soc/qspi/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/spi_master/Makefile b/verilog/dv/caravel/mgmt_soc/spi_master/Makefile index 5e257562..37155905 100644 --- a/verilog/dv/caravel/mgmt_soc/spi_master/Makefile +++ b/verilog/dv/caravel/mgmt_soc/spi_master/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/sram_exec/Makefile b/verilog/dv/caravel/mgmt_soc/sram_exec/Makefile index 5e951a27..d8ea97c1 100644 --- a/verilog/dv/caravel/mgmt_soc/sram_exec/Makefile +++ b/verilog/dv/caravel/mgmt_soc/sram_exec/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/sram_ro/Makefile b/verilog/dv/caravel/mgmt_soc/sram_ro/Makefile index 2ed6d631..c2d48212 100644 --- a/verilog/dv/caravel/mgmt_soc/sram_ro/Makefile +++ b/verilog/dv/caravel/mgmt_soc/sram_ro/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -73,14 +73,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/storage/Makefile b/verilog/dv/caravel/mgmt_soc/storage/Makefile index 08e6f7cd..d4a5bde0 100644 --- a/verilog/dv/caravel/mgmt_soc/storage/Makefile +++ b/verilog/dv/caravel/mgmt_soc/storage/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -73,14 +73,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/sysctrl/Makefile b/verilog/dv/caravel/mgmt_soc/sysctrl/Makefile index 8bfb5c67..106f019d 100644 --- a/verilog/dv/caravel/mgmt_soc/sysctrl/Makefile +++ b/verilog/dv/caravel/mgmt_soc/sysctrl/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/timer/Makefile b/verilog/dv/caravel/mgmt_soc/timer/Makefile index fc03d063..ba8dce66 100644 --- a/verilog/dv/caravel/mgmt_soc/timer/Makefile +++ b/verilog/dv/caravel/mgmt_soc/timer/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/timer2/Makefile b/verilog/dv/caravel/mgmt_soc/timer2/Makefile index 9c408bc2..1ecbd6b0 100644 --- a/verilog/dv/caravel/mgmt_soc/timer2/Makefile +++ b/verilog/dv/caravel/mgmt_soc/timer2/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/uart/Makefile b/verilog/dv/caravel/mgmt_soc/uart/Makefile index 024a9564..45b1d843 100644 --- a/verilog/dv/caravel/mgmt_soc/uart/Makefile +++ b/verilog/dv/caravel/mgmt_soc/uart/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/caravel/mgmt_soc/user_pass_thru/Makefile b/verilog/dv/caravel/mgmt_soc/user_pass_thru/Makefile index 1659de5b..21c452ac 100644 --- a/verilog/dv/caravel/mgmt_soc/user_pass_thru/Makefile +++ b/verilog/dv/caravel/mgmt_soc/user_pass_thru/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../.. RTL_PATH = $(VERILOG_PATH)/rtl BEHAVIOURAL_MODELS = ../../ @@ -72,14 +72,14 @@ check-env: ifndef PDK_ROOT $(error PDK_ROOT is undefined, please export it before running make) endif -ifeq (,$(wildcard $(PDK_ROOT)/sky130A)) - $(error $(PDK_ROOT)/sky130A not found, please install pdk before running make) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK))) + $(error $(PDK_ROOT)/$(PDK) not found, please install pdk before running make) endif ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc )) $(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make) endif # check for efabless style installation -ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog)) +ifeq (,$(wildcard $(PDK_ROOT)/$(PDK)/libs.ref/*/verilog)) SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE endif # ---- Clean ---- diff --git a/verilog/dv/wb_utests/chip_io/Makefile b/verilog/dv/wb_utests/chip_io/Makefile index 4bd731a0..76a39f0a 100644 --- a/verilog/dv/wb_utests/chip_io/Makefile +++ b/verilog/dv/wb_utests/chip_io/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH = $(PDK_ROOT)/sky130A +PDK_PATH = $(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../ RTL_PATH = $(VERILOG_PATH)/rtl diff --git a/verilog/dv/wb_utests/mgmt_protect/Makefile b/verilog/dv/wb_utests/mgmt_protect/Makefile index 7dd78663..11ca168e 100644 --- a/verilog/dv/wb_utests/mgmt_protect/Makefile +++ b/verilog/dv/wb_utests/mgmt_protect/Makefile @@ -14,7 +14,7 @@ # # SPDX-License-Identifier: Apache-2.0 -PDK_PATH?=$(PDK_ROOT)/sky130A +PDK_PATH?=$(PDK_ROOT)/$(PDK) VERILOG_PATH = ../../../ RTL_PATH = $(VERILOG_PATH)/rtl diff --git a/xschem/xschemrc b/xschem/xschemrc index c09fee8e..f188ff9d 100644 --- a/xschem/xschemrc +++ b/xschem/xschemrc @@ -31,13 +31,13 @@ set XSCHEM_LIBRARY_PATH {} append XSCHEM_LIBRARY_PATH ${XSCHEM_SHAREDIR}/xschem_library #### include skywater libraries. Here i use [pwd]. This works if i start xschem from here. append XSCHEM_LIBRARY_PATH :$env(PWD) -append XSCHEM_LIBRARY_PATH :/usr/share/pdk/sky130A/libs.tech/xschem -# append XSCHEM_LIBRARY_PATH :/mnt/sda7/home/schippes/pdks/sky130A/libs.tech/xschem +append XSCHEM_LIBRARY_PATH :/usr/share/pdk/$env(PDK)/libs.tech/xschem +# append XSCHEM_LIBRARY_PATH :/mnt/sda7/home/schippes/pdks/$env(PDK)/libs.tech/xschem #### add ~/.xschem/xschem_library (USER_CONF_DIR is normally ~/.xschem) append XSCHEM_LIBRARY_PATH :$USER_CONF_DIR/xschem_library if {[catch {set PDKPATH $env(PDKPATH)}]} { - set PDKPATH "/usr/local/share/pdk/sky130A" + set PDKPATH "/usr/local/share/pdk/$env(PDK)" } ###########################################################################