From a5bb5d07fed5e50b224b512140f0fefa6c82810c Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Sun, 19 Jul 2020 17:15:39 -0700 Subject: [PATCH 1/5] Updating submodules on 2020-07-19 21:25:57 UTC - Updating [`sky130_fd_sc_hd` latest](./libraries/sky130_fd_sc_hd/latest) to v0.0.2-12-g7343e0e0 - Updating [`sky130_fd_sc_hd` v0.0.1](./libraries/sky130_fd_sc_hd/v0.0.1) to v0.0.1-6-g8fbd4642 - Updating [`sky130_fd_sc_hd` v0.0.2](./libraries/sky130_fd_sc_hd/v0.0.2) to v0.0.2-12-g7343e0e0 - Updating [`sky130_fd_sc_hdll` latest](./libraries/sky130_fd_sc_hdll/latest) to v0.1.1-12-gbedaa668 - Updating [`sky130_fd_sc_hdll` v0.1.0](./libraries/sky130_fd_sc_hdll/v0.1.0) to v0.1.0-6-g417d7320 - Updating [`sky130_fd_sc_hdll` v0.1.1](./libraries/sky130_fd_sc_hdll/v0.1.1) to v0.1.1-12-gbedaa668 - Updating [`sky130_fd_sc_hs` latest](./libraries/sky130_fd_sc_hs/latest) to v0.0.2-12-g78d267f3 - Updating [`sky130_fd_sc_hs` v0.0.1](./libraries/sky130_fd_sc_hs/v0.0.1) to v0.0.1-6-ga91cba78 - Updating [`sky130_fd_sc_hs` v0.0.2](./libraries/sky130_fd_sc_hs/v0.0.2) to v0.0.2-12-g78d267f3 - Updating [`sky130_fd_sc_ls` latest](./libraries/sky130_fd_sc_ls/latest) to v0.1.1-12-g6f224b96 - Updating [`sky130_fd_sc_ls` v0.1.0](./libraries/sky130_fd_sc_ls/v0.1.0) to v0.1.0-6-g9d09e70e - Updating [`sky130_fd_sc_ls` v0.1.1](./libraries/sky130_fd_sc_ls/v0.1.1) to v0.1.1-12-g6f224b96 - Updating [`sky130_fd_sc_ms` latest](./libraries/sky130_fd_sc_ms/latest) to v0.0.2-12-g12430584 - Updating [`sky130_fd_sc_ms` v0.0.1](./libraries/sky130_fd_sc_ms/v0.0.1) to v0.0.1-6-g72b01744 - Updating [`sky130_fd_sc_ms` v0.0.2](./libraries/sky130_fd_sc_ms/v0.0.2) to v0.0.2-12-g12430584 * libraries/sky130_fd_sc_hd/latest 7f79525...7343e0e (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_hd/v0.0.1 4cbecdc...8fbd464 (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_hd/v0.0.2 7f79525...7343e0e (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_hdll/latest c4512ed...bedaa66 (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_hdll/v0.1.0 60697a7...417d732 (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_hdll/v0.1.1 c4512ed...bedaa66 (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_hs/latest 8bc807e...78d267f (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_hs/v0.0.1 73908d9...a91cba7 (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_hs/v0.0.2 8bc807e...78d267f (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_ls/latest b8d4fa7...6f224b9 (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_ls/v0.1.0 06ffd21...9d09e70 (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_ls/v0.1.1 b8d4fa7...6f224b9 (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_ms/latest 7ef2bc9...1243058 (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_ms/v0.0.1 5825c0b...72b0174 (2): > Fixing the `power_gating_pin`. * libraries/sky130_fd_sc_ms/v0.0.2 7ef2bc9...1243058 (2): > Fixing the `power_gating_pin`. Signed-off-by: Tim 'mithro' Ansell --- libraries/sky130_fd_sc_hd/latest | 2 +- libraries/sky130_fd_sc_hd/v0.0.1 | 2 +- libraries/sky130_fd_sc_hd/v0.0.2 | 2 +- libraries/sky130_fd_sc_hdll/latest | 2 +- libraries/sky130_fd_sc_hdll/v0.1.0 | 2 +- libraries/sky130_fd_sc_hdll/v0.1.1 | 2 +- libraries/sky130_fd_sc_hs/latest | 2 +- libraries/sky130_fd_sc_hs/v0.0.1 | 2 +- libraries/sky130_fd_sc_hs/v0.0.2 | 2 +- libraries/sky130_fd_sc_ls/latest | 2 +- libraries/sky130_fd_sc_ls/v0.1.0 | 2 +- libraries/sky130_fd_sc_ls/v0.1.1 | 2 +- libraries/sky130_fd_sc_ms/latest | 2 +- libraries/sky130_fd_sc_ms/v0.0.1 | 2 +- libraries/sky130_fd_sc_ms/v0.0.2 | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/libraries/sky130_fd_sc_hd/latest b/libraries/sky130_fd_sc_hd/latest index 7f79525..7343e0e 160000 --- a/libraries/sky130_fd_sc_hd/latest +++ b/libraries/sky130_fd_sc_hd/latest @@ -1 +1 @@ -Subproject commit 7f795252dcbf6909aea6bd5eb9c5ea98b2ae7a74 +Subproject commit 7343e0e05fa00c3e763ae7b6837b1b59bc4b2de6 diff --git a/libraries/sky130_fd_sc_hd/v0.0.1 b/libraries/sky130_fd_sc_hd/v0.0.1 index 4cbecdc..8fbd464 160000 --- a/libraries/sky130_fd_sc_hd/v0.0.1 +++ b/libraries/sky130_fd_sc_hd/v0.0.1 @@ -1 +1 @@ -Subproject commit 4cbecdca96976da7730fa1141910b8995dc70346 +Subproject commit 8fbd4642cf717e487c090332bea9cca28c4182bf diff --git a/libraries/sky130_fd_sc_hd/v0.0.2 b/libraries/sky130_fd_sc_hd/v0.0.2 index 7f79525..7343e0e 160000 --- a/libraries/sky130_fd_sc_hd/v0.0.2 +++ b/libraries/sky130_fd_sc_hd/v0.0.2 @@ -1 +1 @@ -Subproject commit 7f795252dcbf6909aea6bd5eb9c5ea98b2ae7a74 +Subproject commit 7343e0e05fa00c3e763ae7b6837b1b59bc4b2de6 diff --git a/libraries/sky130_fd_sc_hdll/latest b/libraries/sky130_fd_sc_hdll/latest index c4512ed..bedaa66 160000 --- a/libraries/sky130_fd_sc_hdll/latest +++ b/libraries/sky130_fd_sc_hdll/latest @@ -1 +1 @@ -Subproject commit c4512ed05f2211985f984c12ecfa819604af9318 +Subproject commit bedaa668e40fd33f1b4f010c3e9dadf4c1f7ccad diff --git a/libraries/sky130_fd_sc_hdll/v0.1.0 b/libraries/sky130_fd_sc_hdll/v0.1.0 index 60697a7..417d732 160000 --- a/libraries/sky130_fd_sc_hdll/v0.1.0 +++ b/libraries/sky130_fd_sc_hdll/v0.1.0 @@ -1 +1 @@ -Subproject commit 60697a72b40969b7818cae0efb79b66e2cd93e74 +Subproject commit 417d7320322248ce42a17332eb3d539daaad0f28 diff --git a/libraries/sky130_fd_sc_hdll/v0.1.1 b/libraries/sky130_fd_sc_hdll/v0.1.1 index c4512ed..bedaa66 160000 --- a/libraries/sky130_fd_sc_hdll/v0.1.1 +++ b/libraries/sky130_fd_sc_hdll/v0.1.1 @@ -1 +1 @@ -Subproject commit c4512ed05f2211985f984c12ecfa819604af9318 +Subproject commit bedaa668e40fd33f1b4f010c3e9dadf4c1f7ccad diff --git a/libraries/sky130_fd_sc_hs/latest b/libraries/sky130_fd_sc_hs/latest index 8bc807e..78d267f 160000 --- a/libraries/sky130_fd_sc_hs/latest +++ b/libraries/sky130_fd_sc_hs/latest @@ -1 +1 @@ -Subproject commit 8bc807e704409ec72223e1e7b9462ea9dd81e5a3 +Subproject commit 78d267f3d4e9468aad3c792d50d7bbbf1b7943bf diff --git a/libraries/sky130_fd_sc_hs/v0.0.1 b/libraries/sky130_fd_sc_hs/v0.0.1 index 73908d9..a91cba7 160000 --- a/libraries/sky130_fd_sc_hs/v0.0.1 +++ b/libraries/sky130_fd_sc_hs/v0.0.1 @@ -1 +1 @@ -Subproject commit 73908d9138e521567132102472622e5fc534fe0d +Subproject commit a91cba780217867c7ea6859e26e43abff0c523f2 diff --git a/libraries/sky130_fd_sc_hs/v0.0.2 b/libraries/sky130_fd_sc_hs/v0.0.2 index 8bc807e..78d267f 160000 --- a/libraries/sky130_fd_sc_hs/v0.0.2 +++ b/libraries/sky130_fd_sc_hs/v0.0.2 @@ -1 +1 @@ -Subproject commit 8bc807e704409ec72223e1e7b9462ea9dd81e5a3 +Subproject commit 78d267f3d4e9468aad3c792d50d7bbbf1b7943bf diff --git a/libraries/sky130_fd_sc_ls/latest b/libraries/sky130_fd_sc_ls/latest index b8d4fa7..6f224b9 160000 --- a/libraries/sky130_fd_sc_ls/latest +++ b/libraries/sky130_fd_sc_ls/latest @@ -1 +1 @@ -Subproject commit b8d4fa73fb356364f01439adf6fae5d0187a4094 +Subproject commit 6f224b969032bdef9d27292b8365f9e144fd73cb diff --git a/libraries/sky130_fd_sc_ls/v0.1.0 b/libraries/sky130_fd_sc_ls/v0.1.0 index 06ffd21..9d09e70 160000 --- a/libraries/sky130_fd_sc_ls/v0.1.0 +++ b/libraries/sky130_fd_sc_ls/v0.1.0 @@ -1 +1 @@ -Subproject commit 06ffd21614b39f9d1a6b100e29f6813fcd01ed75 +Subproject commit 9d09e70eae31440cd88c0fb1528a2585dba3ae83 diff --git a/libraries/sky130_fd_sc_ls/v0.1.1 b/libraries/sky130_fd_sc_ls/v0.1.1 index b8d4fa7..6f224b9 160000 --- a/libraries/sky130_fd_sc_ls/v0.1.1 +++ b/libraries/sky130_fd_sc_ls/v0.1.1 @@ -1 +1 @@ -Subproject commit b8d4fa73fb356364f01439adf6fae5d0187a4094 +Subproject commit 6f224b969032bdef9d27292b8365f9e144fd73cb diff --git a/libraries/sky130_fd_sc_ms/latest b/libraries/sky130_fd_sc_ms/latest index 7ef2bc9..1243058 160000 --- a/libraries/sky130_fd_sc_ms/latest +++ b/libraries/sky130_fd_sc_ms/latest @@ -1 +1 @@ -Subproject commit 7ef2bc933dd3dba52b1a3abbc741e5130ae034d3 +Subproject commit 124305843c9f3efc948261b22adbbf17a3413d41 diff --git a/libraries/sky130_fd_sc_ms/v0.0.1 b/libraries/sky130_fd_sc_ms/v0.0.1 index 5825c0b..72b0174 160000 --- a/libraries/sky130_fd_sc_ms/v0.0.1 +++ b/libraries/sky130_fd_sc_ms/v0.0.1 @@ -1 +1 @@ -Subproject commit 5825c0bd2c1b5156b7a3f671b94d2ebeacbb43e3 +Subproject commit 72b01744bdbdf20017a578d55ea08e60384bd2fb diff --git a/libraries/sky130_fd_sc_ms/v0.0.2 b/libraries/sky130_fd_sc_ms/v0.0.2 index 7ef2bc9..1243058 160000 --- a/libraries/sky130_fd_sc_ms/v0.0.2 +++ b/libraries/sky130_fd_sc_ms/v0.0.2 @@ -1 +1 @@ -Subproject commit 7ef2bc933dd3dba52b1a3abbc741e5130ae034d3 +Subproject commit 124305843c9f3efc948261b22adbbf17a3413d41 From 3e9068dbf14ecbbeb8ac4b8e1efbd6c6279eef78 Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Mon, 20 Jul 2020 16:14:41 -0700 Subject: [PATCH 2/5] scripts/liberty: Small whitespace fix. Signed-off-by: Tim 'mithro' Ansell --- scripts/python-skywater-pdk/skywater_pdk/liberty.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/scripts/python-skywater-pdk/skywater_pdk/liberty.py b/scripts/python-skywater-pdk/skywater_pdk/liberty.py index ab32f09..5916c40 100755 --- a/scripts/python-skywater-pdk/skywater_pdk/liberty.py +++ b/scripts/python-skywater-pdk/skywater_pdk/liberty.py @@ -918,7 +918,6 @@ def liberty_list(k, v, i=tuple()): def liberty_dict(dtype, dvalue, data, indent=tuple(), attribute_types=None): - """ >>> def g(a, b, c): @@ -945,8 +944,6 @@ def liberty_dict(dtype, dvalue, data, indent=tuple(), attribute_types=None): } """ - - assert isinstance(data, dict), (dtype, dvalue, data) if attribute_types is None: From e14136b0646f3e35a697397f0e2f7f6069de56a4 Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Mon, 20 Jul 2020 16:15:13 -0700 Subject: [PATCH 3/5] scripts/liberty: Fail if doctests fail. Signed-off-by: Tim 'mithro' Ansell --- scripts/python-skywater-pdk/skywater_pdk/liberty.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/python-skywater-pdk/skywater_pdk/liberty.py b/scripts/python-skywater-pdk/skywater_pdk/liberty.py index 5916c40..617f22d 100755 --- a/scripts/python-skywater-pdk/skywater_pdk/liberty.py +++ b/scripts/python-skywater-pdk/skywater_pdk/liberty.py @@ -1149,5 +1149,7 @@ def main(): if __name__ == "__main__": import doctest - doctest.testmod() + fail, _ = doctest.testmod() + if fail > 0: + sys.exit(1) sys.exit(main()) From d7a58ea703d4d22a591312add10be24d9861e782 Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Mon, 20 Jul 2020 16:15:55 -0700 Subject: [PATCH 4/5] scripts/liberty: Support new comma only syntax. Syntax before; ``` comp_attribute blah,blah ``` Syntax after; ``` comp_attribute,blah,blah ``` Signed-off-by: Tim 'mithro' Ansell --- scripts/python-skywater-pdk/skywater_pdk/liberty.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/python-skywater-pdk/skywater_pdk/liberty.py b/scripts/python-skywater-pdk/skywater_pdk/liberty.py index 617f22d..37dae20 100755 --- a/scripts/python-skywater-pdk/skywater_pdk/liberty.py +++ b/scripts/python-skywater-pdk/skywater_pdk/liberty.py @@ -965,8 +965,9 @@ def liberty_dict(dtype, dvalue, data, indent=tuple(), attribute_types=None): # Sort the attributes def attr_sort_key(item): k, v = item - if " " in k: - ktype, kvalue = k.split(" ", 1) + + if "," in k: + ktype, kvalue = k.split(",", 1) sortable_kv = sortable_extracted_numbers(kvalue) else: ktype = k @@ -1042,7 +1043,7 @@ def liberty_dict(dtype, dvalue, data, indent=tuple(), attribute_types=None): o.append('%s%s : "%s";' % (INDENT*len(indent_n), k, l)) else: - raise ValueError("Unknown %s: %r\n%s" % (k, v, indent_n)) + raise ValueError("Unknown %s: %r\n%s" % ((ktype, kvalue, k), v, indent_n)) else: if ktype in dtype_attribute_types: From d91e88682f0e3615b1cedc4d4056e6691bcf1af4 Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Mon, 20 Jul 2020 16:17:02 -0700 Subject: [PATCH 5/5] scripts/liberty: Support fixed statetable output. The statetable values where fixed in the `.lib.json` files. Signed-off-by: Tim 'mithro' Ansell --- scripts/python-skywater-pdk/skywater_pdk/liberty.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/python-skywater-pdk/skywater_pdk/liberty.py b/scripts/python-skywater-pdk/skywater_pdk/liberty.py index 37dae20..7fb314f 100755 --- a/scripts/python-skywater-pdk/skywater_pdk/liberty.py +++ b/scripts/python-skywater-pdk/skywater_pdk/liberty.py @@ -1038,6 +1038,9 @@ def liberty_dict(dtype, dvalue, data, indent=tuple(), attribute_types=None): elif is_liberty_list(ktype): o.extend(liberty_list(ktype, v, indent_n)) + elif "table" == ktype: + o.append('%s%s : "%s";' % (INDENT*len(indent_n), k, ",".join(v))) + elif "clk_width" == ktype: for l in sorted(v): o.append('%s%s : "%s";' % (INDENT*len(indent_n), k, l))