gf180mcu: add gf180mcuD variant for 5LM_1TM_11K
diff --git a/gf180mcu/.gitignore b/gf180mcu/.gitignore index 1848907..0d32c34 100644 --- a/gf180mcu/.gitignore +++ b/gf180mcu/.gitignore
@@ -2,4 +2,5 @@ gf180mcuA gf180mcuB gf180mcuC +gf180mcuD /Makefile \ No newline at end of file
diff --git a/gf180mcu/Makefile.in b/gf180mcu/Makefile.in index 77161b0..7f7b0ff 100644 --- a/gf180mcu/Makefile.in +++ b/gf180mcu/Makefile.in
@@ -60,6 +60,7 @@ # gf180mcuA = METALS3 | MIM | THICKMET3P0 | HRPOLY1K # gf180mcuB = METALS4 | MIM | THICKMET1P1 | HRPOLY1K # gf180mcuC = METALS5 | MIM | THICKMET0P9 | HRPOLY1K +# gf180mcuD = METALS5 | MIM | THICKMET1P1 | HRPOLY1K # # Written by Tim Edwards April 2022 # Efabless, Inc. @@ -195,25 +196,30 @@ GF180MCUA = gf180mcuA GF180MCUB = gf180mcuB GF180MCUC = gf180mcuC +GF180MCUD = gf180mcuD DIST_LINK_TARGETS_A = ${LINK_TARGETS_A} DIST_LINK_TARGETS_B = ${SHARED_PDKS_PATH}/${LINK_TARGETS_B} DIST_LINK_TARGETS_C = ${SHARED_PDKS_PATH}/${LINK_TARGETS_C} +DIST_LINK_TARGETS_D = ${SHARED_PDKS_PATH}/${LINK_TARGETS_D} # Basic definitions for each process node GF180MCUA_DEFS = -DTECHNAME=gf180mcuA -DREVISION=${REVISION} GF180MCUB_DEFS = -DTECHNAME=gf180mcuB -DREVISION=${REVISION} GF180MCUC_DEFS = -DTECHNAME=gf180mcuC -DREVISION=${REVISION} +GF180MCUD_DEFS = -DTECHNAME=gf180mcuD -DREVISION=${REVISION} # Module definitions for each process node (see top) GF180MCUA_DEFS += -DMETALS3 -DMIM -DTHICKMET3P0 -DHRPOLY1K GF180MCUB_DEFS += -DMETALS4 -DMIM -DTHICKMET1P1 -DHRPOLY1K GF180MCUC_DEFS += -DMETALS5 -DMIM -DTHICKMET0P9 -DHRPOLY1K +GF180MCUD_DEFS += -DMETALS5 -DMIM -DTHICKMET1P1 -DHRPOLY1K # Add staging path GF180MCUA_DEFS += -DSTAGING_PATH=${STAGING_PATH} GF180MCUB_DEFS += -DSTAGING_PATH=${STAGING_PATH} GF180MCUC_DEFS += -DSTAGING_PATH=${STAGING_PATH} +GF180MCUD_DEFS += -DSTAGING_PATH=${STAGING_PATH} # Get the timestamp of the open_pdks commit to use for stamping layouts. OPEN_PDKS_TIMESTAMP = $(shell git log -1 --format="%ad" --date=raw | cut -d' ' -f1) @@ -267,6 +273,7 @@ GF180MCUA_DEFS += -DEF_FORMAT GF180MCUB_DEFS += -DEF_FORMAT GF180MCUC_DEFS += -DEF_FORMAT + GF180MCUD_DEFS += -DEF_FORMAT else EF_FORMAT = -std_format endif @@ -358,19 +365,42 @@ XCIRCUIT_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${XCIRCUITPATH} NGSPICE_STAGING_C = ${STAGING_PATH}/${GF180MCUC}/${NGSPICEPATH} +MAGICTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${MAGICTOP} +NETGENTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${NETGENTOP} +IRSIMTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${IRSIMTOP} +QFLOWTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${QFLOWTOP} +KLAYOUTTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${KLAYOUTTOP} +OPENLANETOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${OPENLANETOP} +XSCHEMTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${XSCHEMTOP} +XCIRCUITTOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${XCIRCUITTOP} +NGSPICETOP_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${NGSPICETOP} + +MAGIC_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${MAGICPATH} +NETGEN_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${NETGENPATH} +IRSIM_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${IRSIMPATH} +QFLOW_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${QFLOWPATH} +KLAYOUT_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${KLAYOUTPATH} +OPENLANE_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${OPENLANEPATH} +XSCHEM_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${XSCHEMPATH} +XCIRCUIT_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${XCIRCUITPATH} +NGSPICE_STAGING_D = ${STAGING_PATH}/${GF180MCUD}/${NGSPICEPATH} + GF180MCUA_DEFS += -DMAGIC_CURRENT=${MAGIC_CURRENT} GF180MCUB_DEFS += -DMAGIC_CURRENT=${MAGIC_CURRENT} GF180MCUC_DEFS += -DMAGIC_CURRENT=${MAGIC_CURRENT} +GF180MCUD_DEFS += -DMAGIC_CURRENT=${MAGIC_CURRENT} # These definitions are used by the build recipes A_STACK = 3lm B_STACK = 4lm C_STACK = 5lm +D_STACK = 5lm # These definitions are used by the build recipes for the tech LEF A_FULLSTACK = 3LM_1TM_30K B_FULLSTACK = 4LM_1TM_11K C_FULLSTACK = 5LM_1TM_9K +D_FULLSTACK = 5LM_1TM_11K # Openlane has a number of files that are common to all digital # standard cell libraries, so these are collected in one definition @@ -590,6 +620,8 @@ tools-C: $(addsuffix -C, $(TOOLS)) +tools-D: $(addsuffix -D, $(TOOLS)) + magic-%: magic/${TECH}.tech magic/${TECH}gds.tech magic/${TECH}.magicrc magic/${TECH}.tcl mkdir -p ${MAGICTOP_STAGING_$*} mkdir -p ${MAGIC_STAGING_$*} @@ -740,6 +772,8 @@ vendor-C: primitive-build-C digital-7t5v0-build-C digital-9t5v0-build-C io-build-C sram-build-C digital-osu-build-C +vendor-D: primitive-build-D digital-7t5v0-build-D digital-9t5v0-build-D io-build-D sram-build-D digital-osu-build-D + primitive-build-%: if test -d ${GF180MCU_PR_PATH} ; then \ echo "Building primitives library and simulation models" ;\ @@ -1083,6 +1117,15 @@ -link_from ${DIST_LINK_TARGETS_C} 2>&1 | tee -a ${GF180MCUC}_install.log echo "Ended GF180MCU PDK migration on "`date` >> ${GF180MCUC}_install.log +install-D: install-A + echo "Starting GF180MCU PDK migration on "`date` > ${GF180MCUD}_install.log + ${INSTALL} \ + -source ${STAGING_PATH}/${GF180MCUD} \ + -finalpath ${SHARED_PDKS_PATH}/${GF180MCUD} \ + -variable PDKPATH \ + -link_from ${DIST_LINK_TARGETS_C} 2>&1 | tee -a ${GF180MCUD}_install.log + echo "Ended GF180MCU PDK migration on "`date` >> ${GF180MCUD}_install.log + uninstall: $(foreach var, ${VARIANTS}, uninstall-$(var)) uninstall-A: @@ -1106,6 +1149,13 @@ fi echo "Finished GF180MCU PDK uninstall" +uninstall-D: + echo "Uninstalling GF180MCU PDK from ${SHARED_PDKS_PATH}" + if test "x${SHARED_PDKS_PATH}" != "x" ; then \ + ${RM} -rf ${SHARED_PDKS_PATH}/${GF180MCUD} ; \ + fi + echo "Finished GF180MCU PDK uninstall" + clean: $(foreach var, ${VARIANTS}, clean-$(var)) clean-A: @@ -1117,6 +1167,9 @@ clean-C: ${STAGE} -target ${STAGING_PATH}/${GF180MCUC} -clean +clean-D: + ${STAGE} -target ${STAGING_PATH}/${GF180MCUD} -clean + veryclean: $(foreach var, ${VARIANTS}, veryclean-$(var)) veryclean-A: clean-A @@ -1131,4 +1184,8 @@ ${RM} ${GF180MCUC}_make.log ${RM} ${GF180MCUC}_install.log +veryclean-D: clean-D + ${RM} ${GF180MCUD}_make.log + ${RM} ${GF180MCUD}_install.log +
diff --git a/gf180mcu/README b/gf180mcu/README index ecd3c95..2cb4f06 100644 --- a/gf180mcu/README +++ b/gf180mcu/README
@@ -34,7 +34,8 @@ gf180mcuA/ 3-metal backend stack gf180mcuB/ 4-metal backend stack - gf180mcuC/ 5-metal backend stack + gf180mcuC/ 5-metal backend stack (9K) + gf180mcuC/ 5-metal backend stack (11K) (Again, see the Makefile for the complete description.)