)]}'
{
  "commit": "cbfa592c66d3331d59cce58b6b553858a55a0137",
  "tree": "6cd45ff0ac2f3d24e3ff052bfef37c022ef469f3",
  "parents": [
    "cd1748bb197f9b7af62a54507de6624e30363943"
  ],
  "author": {
    "name": "Tim Edwards",
    "email": "tim@opencircuitdesign.com",
    "time": "Mon Dec 11 15:03:51 2023 -0500"
  },
  "committer": {
    "name": "Tim Edwards",
    "email": "tim@opencircuitdesign.com",
    "time": "Mon Dec 11 15:03:51 2023 -0500"
  },
  "message": "A number of updates:\n(1) GF:  Changed directory name \"liberty\" to \"lib\"\n(2) Added new EF library I/O cell for the GPIO matching the sky130 I/O GPIO\u0027s ability\n    to run analog signals directly to the pad with input and output buffers disabled.\n(3) Fix for the GF SRAM abstract view (avoids obliterating ports with the via\n    obstruction layers)\n(4) Force nwell under n-tap in magic GDS output for GF, which avoid issues when\n    reading the layout back from GDS.\n(5) Fixed the MiM capacitor read-back from GDS, which resulted in a DRC error in magic.\n(6) SkyWater:  Added the installation of the \"combined\" device models.  Primarily, this\n    enables use of the continuous-binned models for most devices.\n(7) SkyWater:  Fixed the magic tech file fill generation recipe to prevent placing\n    metal4 fill under pads.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "23ad8f74b90cefeca2420c24aa2034ca163b03a3",
      "old_mode": 33188,
      "old_path": "VERSION",
      "new_id": "6482df66900d84187daeb6407a15bdbdb8c7662e",
      "new_mode": 33188,
      "new_path": "VERSION"
    },
    {
      "type": "modify",
      "old_id": "cff8005bbebd3c48b2dd5f73a50455f6f707db0e",
      "old_mode": 33188,
      "old_path": "gf180mcu/Makefile.in",
      "new_id": "4dc92cbe15994144703748a4c26723cc9c0b398c",
      "new_mode": 33188,
      "new_path": "gf180mcu/Makefile.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "66166f2d5bdb748cd1838f1ae6cde717d0478ef2",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/gds/gf180mcu_ef_io__bi_t_3lm.gds"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e08c7d0aed7624129f5dc2718381c26fa92332e2",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/gds/gf180mcu_ef_io__bi_t_4lm.gds"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d0da7f92e4392dfa23ba78ceb4a5f09698691833",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/gds/gf180mcu_ef_io__bi_t_5lm.gds"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0387b5c6ea8b7eba7cfc4e7c84a9aac1b749af39",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lef/gf180mcu_ef_io__bi_t_3lm.lef"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9354b326e51edc9565db77e691fa4de7b19b5337",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lef/gf180mcu_ef_io__bi_t_4lm.lef"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f71fcccb4ba4816c30ddfd43a6c2dc766f0c4010",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lef/gf180mcu_ef_io__bi_t_5lm.lef"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9a3416fe40bb2a3d5dfd100f74dbdf9b76ca57f1",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lib/gf180mcu_ef_io__bi_t__ff_125C_2v75.lib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1f98e96e201345c8360405f8a32c0861127ea965",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lib/gf180mcu_ef_io__bi_t__ff_125C_3v63.lib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "eaa3e8a4ba35b188433e251ddcbedf651a4da035",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lib/gf180mcu_ef_io__bi_t__ff_125C_5v50.lib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "51b804260c6c6b2ca3c3a9ba6289157b8cf7ec9a",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lib/gf180mcu_ef_io__bi_t__ff_n40C_2v75.lib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8e02efb9cecbbc59d01ad53f5b1c1f49cc5cb02b",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lib/gf180mcu_ef_io__bi_t__ff_n40C_3v63.lib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "955a9220b9453ef828b2999eced02b51c3270320",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lib/gf180mcu_ef_io__bi_t__ff_n40C_5v50.lib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "80fc57999c55404ea3b1beb9d54317eeaff71c79",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lib/gf180mcu_ef_io__bi_t__ss_125C_2v25.lib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d44389dc634125b40505047ea55accd592086ac2",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lib/gf180mcu_ef_io__bi_t__ss_125C_2v97.lib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "80ff9ec74a2566bfa50a9c50116146983a7b1bb6",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lib/gf180mcu_ef_io__bi_t__ss_125C_4v50.lib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5d5626283d0c4f5d6ed80b84fae240889807733b",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lib/gf180mcu_ef_io__bi_t__tt_025C_2v50.lib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2be4f80a149bc05159939eabed1a13f481059a1f",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lib/gf180mcu_ef_io__bi_t__tt_025C_3v30.lib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0d6af059b9b06b4ba68aea221e6378dd867ce4a5",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/lib/gf180mcu_ef_io__bi_t__tt_025C_5v00.lib"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "98f410f49990e914e70bb18b14647d2fb62ccab1",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/mag/3lm/gf180mcu_ef_io__bi_t.mag"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "da12df8ac2504ebd6b25f7cc11a0ced19383b9fd",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/mag/4lm/gf180mcu_ef_io__bi_t.mag"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "314532393b880215dbbe90eac032b6e7df153e25",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/mag/5lm/gf180mcu_ef_io__bi_t.mag"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "214483913b5911a2dac05f059f1009fcba403d10",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/mag/README"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1b2412e39076dfcfdc1fcedc524ba07d6e3d119c",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/spice/gf180mcu_ef_io__bi_t.spice"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "72b0ed03086df3bf756e34963fd7cef119fc7aa2",
      "new_mode": 33188,
      "new_path": "gf180mcu/custom/gf180mcu_fd_io/verilog/gf180mcu_ef_io__bi_t.v"
    },
    {
      "type": "modify",
      "old_id": "d9474d0454bd03825c68e0740f71ff887b483fbf",
      "old_mode": 33188,
      "old_path": "gf180mcu/magic/gf180mcu.tech",
      "new_id": "8234d73879c5118faf197c94a59498b8a610f30b",
      "new_mode": 33188,
      "new_path": "gf180mcu/magic/gf180mcu.tech"
    },
    {
      "type": "modify",
      "old_id": "4dedfa09b2bf23c86e6e73d9983c96b0e529bc0f",
      "old_mode": 33188,
      "old_path": "gf180mcu/magic/gf180mcugds.tech",
      "new_id": "a7ba82d0fbbb330c25805d1b27313f8d1090c6b5",
      "new_mode": 33188,
      "new_path": "gf180mcu/magic/gf180mcugds.tech"
    },
    {
      "type": "modify",
      "old_id": "99a6611b6cd393857dcc6d2f3b53652b0619a4a9",
      "old_mode": 33188,
      "old_path": "sky130/Makefile.in",
      "new_id": "526ea9bb954cbc2a3b4b3a41b5193792955a786a",
      "new_mode": 33188,
      "new_path": "sky130/Makefile.in"
    },
    {
      "type": "modify",
      "old_id": "f7d977b5a56cfdd177533166c9c2a8047a32a6d9",
      "old_mode": 33188,
      "old_path": "sky130/magic/sky130.tech",
      "new_id": "597e3e75a514af9ffd963e80ed1c1b5b573cfc78",
      "new_mode": 33188,
      "new_path": "sky130/magic/sky130.tech"
    },
    {
      "type": "modify",
      "old_id": "1a1f1cebebf05e35ff85876521c4c0d931661e91",
      "old_mode": 33188,
      "old_path": "sky130/sky130.json",
      "new_id": "6a870c3962dd34278d5618741bebd6152c60f856",
      "new_mode": 33188,
      "new_path": "sky130/sky130.json"
    }
  ]
}
