Corrected the sky130.json file, which had a major problem caused by accidentally duplicating a block of text, resulting in an invalid JSON file. Also: Revised the JSON file format so that "commit" is a block rather than a single key-value pair, and is contstructed similarly to the "version" block, with an entry for each tool used in the PDK build (currently magic and open_pdks), to provide a git commit number for each. This has to be done in conjunction with the update of magic to version 8.3.273 to provide the "--commit" command line option.
diff --git a/sky130/Makefile.in b/sky130/Makefile.in index 54494fe..071700e 100644 --- a/sky130/Makefile.in +++ b/sky130/Makefile.in
@@ -359,6 +359,7 @@ COMMIT_DEFS += -DFD_SC_LP_COMMIT=$(shell cd ${SKYWATER_PATH} ; git rev-parse @:libraries/sky130_fd_sc_lp/latest) endif endif +COMMIT_DEFS += -DMAGIC_COMMIT=$(shell magic -dnull -noconsole --commit) COMMIT_DEFS += -DMAGIC_VERSION=$(shell magic -dnull -noconsole --version) COMMIT_DEFS += -DOPEN_PDKS_VERSION=$(shell cat ../VERSION)
diff --git a/sky130/sky130.json b/sky130/sky130.json index 0ec84f5..a399110 100644 --- a/sky130/sky130.json +++ b/sky130/sky130.json
@@ -1,15 +1,23 @@ #define DESCRIPTION Skywater 0.13um CMOS, local interconntect + high-resistance poly #ifdef METAL5 #define OPTION1 + 5 metal layer backend stack +#else +#define OPTION1 #endif (METAL5) #ifdef MIM #define OPTION2 + MiM caps +#else +#define OPTION2 #endif (MIM) #ifdef REDISTRIBUTION #define OPTION3 + redistribution layer +#else +#define OPTION3 #endif (REDISTRIBUTION) #ifdef RERAM #define OPTION4 + ReRAM +#else +#define OPTION4 #endif (RERAM) { "foundry": "SW", @@ -17,7 +25,6 @@ "node": "TECHNAME", "feature-size": "130nm", "status": "active", - "commit": "OPEN_PDKS_COMMIT", "description": "DESCRIPTION OPTION1 OPTION2 OPTION3 OPTION4", "options": [ #ifdef METAL5 @@ -74,42 +81,11 @@ "sky130_ml_xx_hd": "ALPHA_COMMIT" }, "build": { - "magic": "MAGIC_VERSION", - "open_pdks": "OPEN_PDKS_VERSION" + "open_pdks": "OPEN_PDKS_VERSION", + "magic": "MAGIC_VERSION" } -} - -#ifdef REDISTRIBUTION -#undef REDISTRIBUTION - "REDISTRIBUTION" -#endif (REDISTRIBUTION) - ], - "stdcells": { - "sky130_fd_sc_hd": "FD_SC_HD_COMMIT", - "sky130_fd_sc_hdll": "FD_SC_HDLL_COMMIT", - "sky130_fd_sc_hs": "FD_SC_HS_COMMIT", - "sky130_fd_sc_hvl": "FD_SC_HVL_COMMIT", - "sky130_fd_sc_lp": "FD_SC_LP_COMMIT", - "sky130_fd_sc_ls": "FD_SC_LS_COMMIT", - "sky130_fd_sc_ms": "FD_SC_MS_COMMIT", - "sky130_osu_sc_t12": "OSU_T12_COMMIT", - "sky130_osu_sc_t15": "OSU_T15_COMMIT", - "sky130_osu_sc_t18": "OSU_T18_COMMIT" - }, - "iocells": { - "sky130_fd_io": "FD_IO_COMMIT" - }, - "primitive": { - "sky130_fd_pr": "FD_PR_COMMIT" - }, - "memory": { - "sky130_sram_macros": "SRAM_COMMIT" - }, - "other": { - "sky130_ml_xx_hd": "ALPHA_COMMIT" - }, - "build": { - "magic": "MAGIC_VERSION", - "open_pdks": "OPEN_PDKS_VERSION" + "commit": { + "open_pdks": "OPEN_PDKS_COMMIT", + "magic": "MAGIC_COMMIT" } }