Skip to content

Commit e83e2b9

Browse files
author
Marwan Abbas
committed
added PDK_VARIENT variable
1 parent 3fee299 commit e83e2b9

20 files changed

+119
-116
lines changed

Makefile

+32-29
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ LARGE_FILES_GZ_SPLIT += $(addsuffix .00.split, $(ARCHIVES))
4646
MCW_ROOT?=$(PWD)/mgmt_core_wrapper
4747
MCW ?=LITEX_VEXRISCV
4848

49+
# PDK switch varient
50+
export PDK_VARIENT?=sky130B
51+
4952
# Install lite version of caravel, (1): caravel-lite, (0): caravel
5053
MCW_LITE?=1
5154

@@ -125,7 +128,7 @@ __ship:
125128
exit;" > $(UPRJ_ROOT)/mag/mag2gds_caravel.tcl
126129
### Runs from CARAVEL_ROOT
127130
@mkdir -p ./signoff/build
128-
@cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/sky130A magic -noc -dnull $(UPRJ_ROOT)/mag/mag2gds_caravel.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_ship.out
131+
@cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/$(PDK_VARIENT) magic -noc -dnull $(UPRJ_ROOT)/mag/mag2gds_caravel.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_ship.out
129132
### @rm $(UPRJ_ROOT)/mag/mag2gds_caravel.tcl
130133

131134
truck: check-env uncompress uncompress-caravel
@@ -168,7 +171,7 @@ __truck:
168171
exit;" > $(UPRJ_ROOT)/mag/mag2gds_caravan.tcl
169172
### Runs from CARAVEL_ROOT
170173
@mkdir -p ./signoff/build
171-
@cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/sky130A magic -noc -dnull $(UPRJ_ROOT)/mag/mag2gds_caravan.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_truck.out
174+
@cd $(CARAVEL_ROOT)/mag && PDKPATH=${PDK_ROOT}/$(PDK_VARIENT) magic -noc -dnull $(UPRJ_ROOT)/mag/mag2gds_caravan.tcl 2>&1 | tee $(UPRJ_ROOT)/signoff/build/make_truck.out
172175
### @rm $(UPRJ_ROOT)/mag/mag2gds_caravan.tcl
173176

174177
.PHONY: clean
@@ -256,7 +259,7 @@ xor-wrapper: uncompress uncompress-caravel
256259
-o signoff/user_project_wrapper_xor/total.txt
257260
### screenshot the result for convenience
258261
sh $(CARAVEL_ROOT)/utils/scrotLayout.sh \
259-
$(PDK_ROOT)/sky130A/libs.tech/klayout/sky130A.lyt \
262+
$(PDK_ROOT)/$(PDK_VARIENT)/libs.tech/klayout/$(PDK_VARIENT).lyt \
260263
signoff/user_project_wrapper_xor/user_project_wrapper.xor.gds
261264
@cat signoff/user_project_wrapper_xor/total.txt
262265

@@ -282,7 +285,7 @@ xor-analog-wrapper: uncompress uncompress-caravel
282285
-o signoff/user_analog_project_wrapper_xor/total.txt
283286
### screenshot the result for convenience
284287
sh $(CARAVEL_ROOT)/utils/scrotLayout.sh \
285-
$(PDK_ROOT)/sky130A/libs.tech/klayout/sky130A.lyt \
288+
$(PDK_ROOT)/$(PDK_VARIENT)/libs.tech/klayout/$(PDK_VARIENT).lyt \
286289
signoff/user_analog_project_wrapper_xor/user_analog_project_wrapper.xor.gds
287290
@cat signoff/user_analog_project_wrapper_xor/total.txt
288291

@@ -313,7 +316,7 @@ $(LVS_BLOCKS): lvs-% : ./mag/%.mag ./verilog/gl/%.v
313316
exit;" > ./mag/extract_$*.tcl
314317
cd mag && \
315318
export MAGTYPE=maglef; \
316-
magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc -noc -dnull extract_$*.tcl < /dev/null
319+
magic -rcfile ${PDK_ROOT}/$(PDK_VARIENT)/libs.tech/magic/$(PDK_VARIENT).magicrc -noc -dnull extract_$*.tcl < /dev/null
317320
mv ./mag/$*.spice ./spi/lvs
318321
rm ./mag/*.ext
319322
mv -f ./mag/extract_$*.tcl ./mag/tmp
@@ -350,7 +353,7 @@ $(LVS_GDS_BLOCKS): lvs-gds-% : ./gds/%.gds ./verilog/gl/%.v
350353
feedback save extract_$*.log;\
351354
exit;" > ./gds/extract_$*.tcl
352355
cd gds && \
353-
magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc -noc -dnull extract_$*.tcl < /dev/null
356+
magic -rcfile ${PDK_ROOT}/$(PDK_VARIENT)/libs.tech/magic/$(PDK_VARIENT).magicrc -noc -dnull extract_$*.tcl < /dev/null
354357
mv ./gds/$*.spice ./spi/lvs
355358
rm ./gds/*.ext
356359
mv -f ./gds/extract_$*.tcl ./gds/tmp
@@ -413,7 +416,7 @@ DRC_BLOCKS = $(foreach block, $(BLOCKS), drc-$(block))
413416
$(DRC_BLOCKS): drc-% : ./gds/%.gds
414417
echo "Running DRC on $*"
415418
mkdir -p ./gds/tmp
416-
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
419+
cd gds && export DESIGN_IN_DRC=$* && export MAGTYPE=mag; magic -rcfile ${PDK_ROOT}/$(PDK_VARIENT)/libs.tech/magic/$(PDK_VARIENT).magicrc -noc -dnull $(CARAVEL_ROOT)/gds/drc_on_gds.tcl < /dev/null
417420
@echo "DRC result: ./gds/tmp/$*.drc"
418421

419422
# Antenna
@@ -422,7 +425,7 @@ ANTENNA_BLOCKS = $(foreach block, $(BLOCKS), antenna-$(block))
422425
$(ANTENNA_BLOCKS): antenna-% : ./gds/%.gds
423426
echo "Running Antenna Checks on $*"
424427
mkdir -p ./gds/tmp
425-
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
428+
cd gds && export DESIGN_IN_ANTENNA=$* && export MAGTYPE=mag; magic -rcfile ${PDK_ROOT}/$(PDK_VARIENT)/libs.tech/magic/$(PDK_VARIENT).magicrc -noc -dnull $(CARAVEL_ROOT)/gds/antenna_on_gds.tcl < /dev/null 2>&1 | tee ./tmp/$*.antenna
426429
mv -f ./gds/*.ext ./gds/tmp/
427430
@echo "Antenna result: ./gds/tmp/$*.antenna"
428431

@@ -441,7 +444,7 @@ $(MAG_BLOCKS): mag2gds-% : ./mag/%.mag uncompress
441444
expand;\
442445
gds write $*.gds;\
443446
exit;" > ./mag/mag2gds_$*.tcl
444-
cd ./mag && magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc -noc -dnull mag2gds_$*.tcl < /dev/null
447+
cd ./mag && magic -rcfile ${PDK_ROOT}/$(PDK_VARIENT)/libs.tech/magic/$(PDK_VARIENT).magicrc -noc -dnull mag2gds_$*.tcl < /dev/null
445448
rm ./mag/mag2gds_$*.tcl
446449
mv -f ./mag/$*.gds ./gds/
447450

@@ -457,7 +460,7 @@ $(MAG_BLOCKS): mag2lef-% : ./mag/%.mag uncompress
457460
load $*;\
458461
lef write $*.lef;\
459462
exit;" > ./mag/mag2lef_$*.tcl
460-
cd ./mag && magic -rcfile ${PDK_ROOT}/sky130A/libs.tech/magic/sky130A.magicrc -noc -dnull mag2lef_$*.tcl < /dev/null
463+
cd ./mag && magic -rcfile ${PDK_ROOT}/$(PDK_VARIENT)/libs.tech/magic/$(PDK_VARIENT).magicrc -noc -dnull mag2lef_$*.tcl < /dev/null
461464
rm ./mag/mag2lef_$*.tcl
462465
mv -f ./mag/$*.lef ./lef/
463466

@@ -473,12 +476,12 @@ $(RCX_BLOCKS): rcx-% : ./def/%.def
473476
echo "Running RC Extraction on $*"
474477
mkdir -p ./def/tmp
475478
# merge techlef and standard cell lef files
476-
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 -o ./def/tmp/merged.lef
479+
python3 $(OPENLANE_ROOT)/scripts/mergeLef.py -i $(PDK_ROOT)/$(PDK_VARIENT)/libs.ref/$(STD_CELL_LIBRARY)/techlef/$(STD_CELL_LIBRARY).tlef $(PDK_ROOT)/$(PDK_VARIENT)/libs.ref/$(STD_CELL_LIBRARY)/lef/*.lef -o ./def/tmp/merged.lef
477480
echo "\
478-
read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__tt_025C_1v80.lib;\
479-
read_liberty $(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\
481+
read_liberty $(PDK_ROOT)/$(PDK_VARIENT)/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__tt_025C_1v80.lib;\
482+
read_liberty $(PDK_ROOT)/$(PDK_VARIENT)/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\
480483
set std_cell_lef ./def/tmp/merged.lef;\
481-
set sram_lef $(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef;\
484+
set sram_lef $(PDK_ROOT)/$(PDK_VARIENT)/libs.ref/sky130_sram_macros/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef;\
482485
if {[catch {read_lef \$$std_cell_lef} errmsg]} {\
483486
puts stderr \$$errmsg;\
484487
exit 1;\
@@ -517,15 +520,15 @@ $(RCX_BLOCKS): rcx-% : ./def/%.def
517520
set_wire_rc -signal -layer met2;\
518521
set_wire_rc -clock -layer met5;\
519522
define_process_corner -ext_model_index 0 X;\
520-
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;\
523+
extract_parasitics -ext_model_file ${PDK_ROOT}/$(PDK_VARIENT)/libs.tech/openlane/rcx_rules.info -corner_cnt 1 -max_res 50 -coupling_threshold 0.1 -cc_model 10 -context_depth 5;\
521524
write_spef ./spef/$*.spef" > ./def/tmp/rcx_$*.tcl
522525
## Generate Spef file
523526
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) \
524527
sh -c " cd /caravel; openroad -exit ./def/tmp/rcx_$*.tcl |& tee ./def/tmp/rcx_$*.log"
525528
## Run OpenSTA
526529
echo "\
527530
set std_cell_lef ./def/tmp/merged.lef;\
528-
set sram_lef $(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef;\
531+
set sram_lef $(PDK_ROOT)/$(PDK_VARIENT)/libs.ref/sky130_sram_macros/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef;\
529532
if {[catch {read_lef \$$std_cell_lef} errmsg]} {\
530533
puts stderr \$$errmsg;\
531534
exit 1;\
@@ -541,8 +544,8 @@ $(RCX_BLOCKS): rcx-% : ./def/%.def
541544
}\
542545
};\
543546
set_cmd_units -time ns -capacitance pF -current mA -voltage V -resistance kOhm -distance um;\
544-
read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__tt_025C_1v80.lib;\
545-
read_liberty $(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\
547+
read_liberty $(PDK_ROOT)/$(PDK_VARIENT)/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__tt_025C_1v80.lib;\
548+
read_liberty $(PDK_ROOT)/$(PDK_VARIENT)/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\
546549
read_verilog ./verilog/gl/$*.v;\
547550
link_design $*;\
548551
read_spef ./spef/$*.spef;\
@@ -560,8 +563,8 @@ mgmt_core_wrapper_timing: ./verilog/gl/mgmt_core_wrapper.v ./spef/mgmt_core_wrap
560563
mkdir -p ./def/tmp
561564
## Run OpenSTA
562565
echo "\
563-
read_liberty $(PDK_ROOT)/sky130A/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__ss_100C_1v60.lib;\
564-
read_liberty $(PDK_ROOT)/sky130A/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\
566+
read_liberty $(PDK_ROOT)/$(PDK_VARIENT)/libs.ref/$(STD_CELL_LIBRARY)/lib/$(STD_CELL_LIBRARY)__ss_100C_1v60.lib;\
567+
read_liberty $(PDK_ROOT)/$(PDK_VARIENT)/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib;\
565568
read_verilog ./verilog/gl/mgmt_core.v;\
566569
read_verilog ./verilog/gl/DFFRAM.v;\
567570
read_verilog ./verilog/gl/mgmt_core_wrapper.v;\
@@ -664,12 +667,12 @@ skywater-library: check-env $(PDK_ROOT)/skywater-pdk
664667
git submodule update --init libraries/$(SPECIAL_VOLTAGE_LIBRARY)/latest && \
665668
git submodule update --init libraries/$(PRIMITIVES_LIBRARY)/latest
666669

667-
gen-sources: $(PDK_ROOT)/sky130A
668-
touch $(PDK_ROOT)/sky130A/SOURCES
669-
echo -ne "skywater-pdk " >> $(PDK_ROOT)/sky130A/SOURCES
670-
cd $(PDK_ROOT)/skywater-pdk && git rev-parse HEAD >> $(PDK_ROOT)/sky130A/SOURCES
671-
echo -ne "open_pdks " >> $(PDK_ROOT)/sky130A/SOURCES
672-
cd $(PDK_ROOT)/open_pdks && git rev-parse HEAD >> $(PDK_ROOT)/sky130A/SOURCES
670+
gen-sources: $(PDK_ROOT)/$(PDK_VARIENT)
671+
touch $(PDK_ROOT)/$(PDK_VARIENT)/SOURCES
672+
echo -ne "skywater-pdk " >> $(PDK_ROOT)/$(PDK_VARIENT)/SOURCES
673+
cd $(PDK_ROOT)/skywater-pdk && git rev-parse HEAD >> $(PDK_ROOT)/$(PDK_VARIENT)/SOURCES
674+
echo -ne "open_pdks " >> $(PDK_ROOT)/$(PDK_VARIENT)/SOURCES
675+
cd $(PDK_ROOT)/open_pdks && git rev-parse HEAD >> $(PDK_ROOT)/$(PDK_VARIENT)/SOURCES
673676

674677
skywater-timing: check-env $(PDK_ROOT)/skywater-pdk
675678
cd $(PDK_ROOT)/skywater-pdk && \
@@ -686,10 +689,10 @@ open_pdks: check-env $(PDK_ROOT)/open_pdks
686689

687690
.PHONY: build-pdk
688691
build-pdk: check-env $(PDK_ROOT)/open_pdks $(PDK_ROOT)/skywater-pdk
689-
[ -d $(PDK_ROOT)/sky130A ] && \
690-
(echo "Warning: A sky130A build already exists under $(PDK_ROOT). It will be deleted first!" && \
692+
[ -d $(PDK_ROOT)/$(PDK_VARIENT) ] && \
693+
(echo "Warning: A $(PDK_VARIENT) build already exists under $(PDK_ROOT). It will be deleted first!" && \
691694
sleep 5 && \
692-
rm -rf $(PDK_ROOT)/sky130A) || \
695+
rm -rf $(PDK_ROOT)/$(PDK_VARIENT)) || \
693696
true
694697
cd $(PDK_ROOT)/open_pdks && \
695698
./configure --enable-sky130-pdk=$(PDK_ROOT)/skywater-pdk/libraries --with-sky130-local-path=$(PDK_ROOT) --enable-sram-sky130=$(INSTALL_SRAM) && \

lvs/examples/utils/lvs-gds-cdl.sh

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ fi
1919
########################################################
2020

2121
export MAGIC=magic
22-
export PDKPATH=$PDK_ROOT/sky130A ;
22+
export PDKPATH=$PDK_ROOT/$PDK_VARIENT ;
2323
export MAGTYPE=mag
2424

25-
MAGTYPE=$MAGTYPE $MAGIC -dnull -noconsole -rcfile $PDKPATH/libs.tech/magic/sky130A.magicrc << EOF
25+
MAGTYPE=$MAGTYPE $MAGIC -dnull -noconsole -rcfile $PDKPATH/libs.tech/magic/$PDK_VARIENT.magicrc << EOF
2626
2727
#path search [concat "../$MAGTYPE" [path search]]
2828
crashbackups stop
@@ -35,8 +35,8 @@ cif istyle sky130(vendor)
3535
gds read $1
3636
load ${1%.gds} -dereference
3737
select top cell
38-
#lef read $PDK_ROOT/openlane/sky130A/libs.ref/sky130_fd_sc_hd/lef/sky130_fd_sc_hd.lef
39-
#readspice $PDK_ROOT/openlane/sky130A/libs.ref/sky130_fd_sc_hd/cdl/sky130_fd_sc_hd.cdl}
38+
#lef read $PDK_ROOT/openlane/$PDK_VARIENT/libs.ref/sky130_fd_sc_hd/lef/sky130_fd_sc_hd.lef
39+
#readspice $PDK_ROOT/openlane/$PDK_VARIENT/libs.ref/sky130_fd_sc_hd/cdl/sky130_fd_sc_hd.cdl}
4040
#extract no all
4141
extract do local
4242
extract all
@@ -78,7 +78,7 @@ export MAGIC_EXT_USE_GDS=1
7878
netgen -batch lvs \
7979
"./netlists/${1%.gds}-gds-extracted.spice ${1%.gds}" \
8080
"./netlists/${1%.gds}-source.spice ${1%.gds}" \
81-
./pdk/sky130A_setup.tcl \
81+
./pdk/$PDK_VARIENT_setup.tcl \
8282
./reports/lvs-compare-${1%.gds}-gds-vs-spice.out
8383

8484
########################################################

lvs/examples/utils/lvs-gds-verilog.sh

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ fi
1919
########################################################
2020

2121
export MAGIC=magic
22-
export PDKPATH=$PDK_ROOT/sky130A ;
22+
export PDKPATH=$PDK_ROOT/$PDK_VARIENT ;
2323
export MAGTYPE=mag
2424

25-
MAGTYPE=$MAGTYPE $MAGIC -dnull -noconsole -rcfile $PDKPATH/libs.tech/magic/sky130A.magicrc << EOF
25+
MAGTYPE=$MAGTYPE $MAGIC -dnull -noconsole -rcfile $PDKPATH/libs.tech/magic/$PDK_VARIENT.magicrc << EOF
2626
2727
#path search [concat "../$MAGTYPE" [path search]]
2828
crashbackups stop
@@ -35,8 +35,8 @@ cif istyle sky130(vendor)
3535
gds read $1
3636
load ${1%.gds} -dereference
3737
select top cell
38-
#lef read $PDK_ROOT/openlane/sky130A/libs.ref/sky130_fd_sc_hd/lef/sky130_fd_sc_hd.lef
39-
#readspice $PDK_ROOT/openlane/sky130A/libs.ref/sky130_fd_sc_hd/cdl/sky130_fd_sc_hd.cdl}
38+
#lef read $PDK_ROOT/openlane/$PDK_VARIENT/libs.ref/sky130_fd_sc_hd/lef/sky130_fd_sc_hd.lef
39+
#readspice $PDK_ROOT/openlane/$PDK_VARIENT/libs.ref/sky130_fd_sc_hd/cdl/sky130_fd_sc_hd.cdl}
4040
#extract no all
4141
extract do local
4242
extract all
@@ -57,7 +57,7 @@ export MAGIC_EXT_USE_GDS=1
5757
netgen -batch lvs \
5858
"./netlists/${1%.gds}-gds-extracted.spice ${1%.gds}" \
5959
"./${1%.gds}.v ${1%.gds}" \
60-
./pdk/sky130A_setup.tcl \
60+
./pdk/$PDK_VARIENT_setup.tcl \
6161
./reports/lvs-compare-${1%.gds}-gds-vs-verilog.out
6262

6363
########################################################

lvs/utils/lvs-gds-cdl.sh

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ fi
1919
########################################################
2020

2121
export MAGIC=magic
22-
export PDKPATH=$PDK_ROOT/sky130A ;
22+
export PDKPATH=$PDK_ROOT/$PDK_VARIENT ;
2323
export MAGTYPE=mag
2424

25-
MAGTYPE=$MAGTYPE $MAGIC -dnull -noconsole -rcfile $PDKPATH/libs.tech/magic/sky130A.magicrc << EOF
25+
MAGTYPE=$MAGTYPE $MAGIC -dnull -noconsole -rcfile $PDKPATH/libs.tech/magic/$PDK_VARIENT.magicrc << EOF
2626
2727
#path search [concat "../$MAGTYPE" [path search]]
2828
crashbackups stop
@@ -35,8 +35,8 @@ cif istyle sky130(vendor)
3535
gds read ../gds/$1
3636
load ${1%.gds} -dereference
3737
select top cell
38-
#lef read $PDK_ROOT/openlane/sky130A/libs.ref/sky130_fd_sc_hd/lef/sky130_fd_sc_hd.lef
39-
#readspice $PDK_ROOT/openlane/sky130A/libs.ref/sky130_fd_sc_hd/cdl/sky130_fd_sc_hd.cdl}
38+
#lef read $PDK_ROOT/openlane/$PDK_VARIENT/libs.ref/sky130_fd_sc_hd/lef/sky130_fd_sc_hd.lef
39+
#readspice $PDK_ROOT/openlane/$PDK_VARIENT/libs.ref/sky130_fd_sc_hd/cdl/sky130_fd_sc_hd.cdl}
4040
#extract no all
4141
extract do local
4242
extract all
@@ -78,7 +78,7 @@ export MAGIC_EXT_USE_GDS=1
7878
netgen -batch lvs \
7979
"./netlists/gds-extracted-${1%.gds}.spice ${1%.gds}" \
8080
"./netlists/${1%.gds}-source.spice ${1%.gds}" \
81-
./pdk/sky130A_setup.tcl \
81+
./pdk/$PDK_VARIENT_setup.tcl \
8282
./reports/gds-vs-spice-${1%.gds}.out
8383

8484
########################################################

lvs/utils/lvs-gds-verilog.sh

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ fi
1919
########################################################
2020

2121
export MAGIC=magic
22-
export PDKPATH=$PDK_ROOT/sky130A ;
22+
export PDKPATH=$PDK_ROOT/$PDK_VARIENT ;
2323
export MAGTYPE=mag
2424

25-
MAGTYPE=$MAGTYPE $MAGIC -dnull -noconsole -rcfile $PDKPATH/libs.tech/magic/sky130A.magicrc << EOF
25+
MAGTYPE=$MAGTYPE $MAGIC -dnull -noconsole -rcfile $PDKPATH/libs.tech/magic/$PDK_VARIENT.magicrc << EOF
2626
2727
#path search [concat "../$MAGTYPE" [path search]]
2828
crashbackups stop
@@ -35,8 +35,8 @@ cif istyle sky130(vendor)
3535
gds read ../gds/$1
3636
load ${1%.gds} -dereference
3737
select top cell
38-
#lef read $PDK_ROOT/openlane/sky130A/libs.ref/sky130_fd_sc_hd/lef/sky130_fd_sc_hd.lef
39-
#readspice $PDK_ROOT/openlane/sky130A/libs.ref/sky130_fd_sc_hd/cdl/sky130_fd_sc_hd.cdl}
38+
#lef read $PDK_ROOT/openlane/$PDK_VARIENT/libs.ref/sky130_fd_sc_hd/lef/sky130_fd_sc_hd.lef
39+
#readspice $PDK_ROOT/openlane/$PDK_VARIENT/libs.ref/sky130_fd_sc_hd/cdl/sky130_fd_sc_hd.cdl}
4040
#extract no all
4141
extract do local
4242
extract all
@@ -57,7 +57,7 @@ export MAGIC_EXT_USE_GDS=1
5757
netgen -batch lvs \
5858
"./netlists/${1%.gds}-gds-extracted.spice ${1%.gds}" \
5959
"../verilog/gl/${1%.gds}.v ${1%.gds}" \
60-
./pdk/sky130A_setup.tcl \
60+
./pdk/$PDK_VARIENT_setup.tcl \
6161
./reports/${1%.gds}-gds-vs-verilog.out
6262

6363
########################################################

lvs/utils/lvs-magic-cdl.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ fi
1717
########################################################
1818

1919
export MAGIC=magic
20-
export PDKPATH=$PDK_ROOT/sky130A ;
20+
export PDKPATH=$PDK_ROOT/$PDK_VARIENT ;
2121
export MAGTYPE=$2
2222

23-
$MAGIC -dnull -noconsole -rcfile $PDKPATH/libs.tech/magic/sky130A.magicrc << EOF
23+
$MAGIC -dnull -noconsole -rcfile $PDKPATH/libs.tech/magic/$PDK_VARIENT.magicrc << EOF
2424
2525
path search [concat "../$MAGTYPE" [path search]]
2626
addpath ${PDKPATH}/libs.ref/sky130_ml_xx_hd/mag
@@ -74,7 +74,7 @@ export NETGEN_COLUMNS=60
7474
netgen -batch lvs \
7575
"./netlists/${MAGTYPE}-extracted-${1%.gds}.spice ${1%.mag}" \
7676
"./netlists/cdl-source-${1%.mag}.spice ${1%.mag}" \
77-
./pdk/sky130A_setup.tcl \
77+
./pdk/$PDK_VARIENT_setup.tcl \
7878
./reports/${MAGTYPE}-vs-cdl-${1%.mag}.out
7979

8080
########################################################

lvs/utils/lvs-magic-verilog.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ fi
1515

1616

1717
export MAGIC=magic
18-
export PDKPATH=$PDK_ROOT/sky130A ;
18+
export PDKPATH=$PDK_ROOT/$PDK_VARIENT ;
1919
export MAGTYPE=$2
2020

21-
$MAGIC -dnull -noconsole -rcfile $PDKPATH/libs.tech/magic/sky130A.magicrc << EOF
21+
$MAGIC -dnull -noconsole -rcfile $PDKPATH/libs.tech/magic/$PDK_VARIENT.magicrc << EOF
2222
2323
2424
path search [concat "../$MAGTYPE" [path search]]
@@ -51,7 +51,7 @@ export NETGEN_COLUMNS=60
5151
netgen -batch lvs \
5252
"./netlists/$MAGTYPE-extracted-${1%.mag}.spice ${1%.mag}" \
5353
"../verilog/gl/${1%.mag}.v ${1%.mag}" \
54-
./pdk/sky130A_setup.tcl \
54+
./pdk/$PDK_VARIENT_setup.tcl \
5555
./reports/${MAGTYPE}-vs-verilog-${1%.mag}.out
5656

5757

lvs/utils/mag2gds.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ export MAGIC=magic
33

44
export MAGTYPE=mag;
55

6-
$MAGIC -dnull -noconsole -rcfile $PDK_ROOT/sky130A/libs.tech/magic/sky130A.magicrc <<EOF
6+
$MAGIC -dnull -noconsole -rcfile $PDK_ROOT/$PDK_VARIENT/libs.tech/magic/$PDK_VARIENT.magicrc <<EOF
77
addpath ${PDKPATH}/libs.ref/sky130_ml_xx_hd/mag
88
addpath ../mag/hexdigits
99
addpath ../mag/

lvs/utils/maglef2gds.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export MAGIC=/magic
44

55
export MAGTYPE=maglef;
66

7-
$MAGIC -dnull -noconsole -rcfile $PDK_ROOT/sky130A/libs.tech/magic/sky130A.magicrc <<EOF
7+
$MAGIC -dnull -noconsole -rcfile $PDK_ROOT/$PDK_VARIENT/libs.tech/magic/$PDK_VARIENT.magicrc <<EOF
88
drc off
99
gds readonly true
1010
gds rescale false

0 commit comments

Comments
 (0)