lambdapdk 0.1.38__py3-none-any.whl → 0.1.39__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- lambdapdk/__init__.py +1 -1
- lambdapdk/asap7/__init__.py +4 -0
- lambdapdk/asap7/libs/asap7sc7p5t.py +2 -6
- lambdapdk/freepdk45/libs/nangate45.py +3 -4
- lambdapdk/gf180/libs/gf180mcu.py +0 -2
- lambdapdk/ihp130/libs/sg13g2_stdcell.py +6 -6
- lambdapdk/sky130/libs/sky130sc.py +10 -11
- {lambdapdk-0.1.38.dist-info → lambdapdk-0.1.39.dist-info}/METADATA +10 -10
- {lambdapdk-0.1.38.dist-info → lambdapdk-0.1.39.dist-info}/RECORD +12 -12
- {lambdapdk-0.1.38.dist-info → lambdapdk-0.1.39.dist-info}/WHEEL +1 -1
- {lambdapdk-0.1.38.dist-info → lambdapdk-0.1.39.dist-info}/LICENSE +0 -0
- {lambdapdk-0.1.38.dist-info → lambdapdk-0.1.39.dist-info}/top_level.txt +0 -0
lambdapdk/__init__.py
CHANGED
lambdapdk/asap7/__init__.py
CHANGED
|
@@ -111,6 +111,10 @@ def setup():
|
|
|
111
111
|
pdk.set('pdk', process, 'pexmodel', 'openroad-openrcx', stackup, 'typical',
|
|
112
112
|
pdkdir + '/pex/openroad/typical.rules')
|
|
113
113
|
|
|
114
|
+
# Relaxed routing rules
|
|
115
|
+
pdk.set('pdk', process, 'file', 'openroad', 'relax_routing_rules', stackup,
|
|
116
|
+
pdkdir + '/apr/openroad_relaxed_rules.tcl')
|
|
117
|
+
|
|
114
118
|
# Hide the DIEAREA layer 235/*.
|
|
115
119
|
pdk.add('pdk', process, 'var', 'klayout', 'hide_layers', stackup, '235/0')
|
|
116
120
|
pdk.add('pdk', process, 'var', 'klayout', 'hide_layers', stackup, '235/5')
|
|
@@ -46,16 +46,13 @@ def _setup_lib(libname, suffix):
|
|
|
46
46
|
# site name
|
|
47
47
|
lib.set('asic', 'site', libtype, 'asap7sc7p5t')
|
|
48
48
|
|
|
49
|
-
# clock buffers
|
|
50
|
-
lib.add('asic', 'cells', 'clkbuf', f"
|
|
49
|
+
# clock buffers - remove once openroad driver supports it
|
|
50
|
+
lib.add('asic', 'cells', 'clkbuf', f"BUFx4_ASAP7_75t_{suffix}")
|
|
51
51
|
|
|
52
52
|
# tie cells
|
|
53
53
|
lib.add('asic', 'cells', 'tie', [f"TIEHIx1_ASAP7_75t_{suffix}",
|
|
54
54
|
f"TIELOx1_ASAP7_75t_{suffix}"])
|
|
55
55
|
|
|
56
|
-
# hold cells
|
|
57
|
-
lib.add('asic', 'cells', 'hold', f"BUFx2_ASAP7_75t_{suffix}")
|
|
58
|
-
|
|
59
56
|
# filler
|
|
60
57
|
lib.add('asic', 'cells', 'filler', [f"FILLER_ASAP7_75t_{suffix}",
|
|
61
58
|
f"FILLERxp5_ASAP7_75t_{suffix}"])
|
|
@@ -92,7 +89,6 @@ def _setup_lib(libname, suffix):
|
|
|
92
89
|
lib.set('option', 'var', 'openroad_macro_place_halo', ['10', '10'])
|
|
93
90
|
lib.set('option', 'var', 'openroad_macro_place_channel', ['12', '12'])
|
|
94
91
|
|
|
95
|
-
lib.set('option', 'var', 'openroad_cts_clock_buffer', f"BUFx4_ASAP7_75t_{suffix}")
|
|
96
92
|
lib.set('option', 'var', 'openroad_cts_distance_between_buffers', "60")
|
|
97
93
|
|
|
98
94
|
lib.set('option', 'var', 'yosys_abc_clock_multiplier', "1") # convert from ps -> ps
|
|
@@ -45,15 +45,14 @@ def setup():
|
|
|
45
45
|
lib.add('output', stackup, 'cdl', libdir + '/cdl/NangateOpenCellLibrary.cdl')
|
|
46
46
|
|
|
47
47
|
# clock buffers
|
|
48
|
-
lib.
|
|
48
|
+
lib.set('asic', 'cells', 'clkbuf', ["CLKBUF_X1",
|
|
49
|
+
"CLKBUF_X2",
|
|
50
|
+
"CLKBUF_X3"])
|
|
49
51
|
|
|
50
52
|
# tie cells
|
|
51
53
|
lib.add('asic', 'cells', 'tie', ["LOGIC1_X1",
|
|
52
54
|
"LOGIC0_X1"])
|
|
53
55
|
|
|
54
|
-
# hold cells
|
|
55
|
-
lib.add('asic', 'cells', 'hold', "BUF_X1")
|
|
56
|
-
|
|
57
56
|
# filler
|
|
58
57
|
lib.add('asic', 'cells', 'filler', ["FILLCELL_X1",
|
|
59
58
|
"FILLCELL_X2",
|
lambdapdk/gf180/libs/gf180mcu.py
CHANGED
|
@@ -108,8 +108,6 @@ def setup():
|
|
|
108
108
|
lib.set('option', 'file', 'openroad_tapcells',
|
|
109
109
|
libdir + '/apr/openroad/tapcell.tcl')
|
|
110
110
|
|
|
111
|
-
lib.set('option', 'var', 'openroad_cts_clock_buffer',
|
|
112
|
-
f"gf180mcu_fd_sc_mcu{libtype}5v0__clkbuf_8")
|
|
113
111
|
lib.set('option', 'var', 'openroad_cts_distance_between_buffers', "100")
|
|
114
112
|
|
|
115
113
|
lib.set('option', 'var', 'yosys_abc_clock_multiplier', "1000") # convert from ns -> ps
|
|
@@ -56,7 +56,7 @@ def setup():
|
|
|
56
56
|
lib.add('output', 'rtl', 'verilog',
|
|
57
57
|
'ihp-sg13g2/libs.ref/sg13g2_stdcell/verilog/sg13g2_stdcell.v')
|
|
58
58
|
|
|
59
|
-
# clock buffers
|
|
59
|
+
# clock buffers - remove once openroad driver supports it
|
|
60
60
|
lib.add('asic', 'cells', 'clkbuf', ["sg13g2_buf_2",
|
|
61
61
|
"sg13g2_buf_4"])
|
|
62
62
|
|
|
@@ -65,8 +65,9 @@ def setup():
|
|
|
65
65
|
"LOGIC0_X1"])
|
|
66
66
|
|
|
67
67
|
# hold cells
|
|
68
|
-
lib.add('asic', 'cells', 'hold', ["
|
|
69
|
-
"
|
|
68
|
+
lib.add('asic', 'cells', 'hold', ["sg13g2_dlygate4sd1_1",
|
|
69
|
+
"sg13g2_dlygate4sd2_1",
|
|
70
|
+
"sg13g2_dlygate4sd3_1"])
|
|
70
71
|
|
|
71
72
|
# filler
|
|
72
73
|
lib.add('asic', 'cells', 'filler', ["sg13g2_fill_1",
|
|
@@ -81,9 +82,8 @@ def setup():
|
|
|
81
82
|
# antenna
|
|
82
83
|
lib.add('asic', 'cells', 'antenna', ["sg13g2_antennanp"])
|
|
83
84
|
|
|
84
|
-
#
|
|
85
|
-
lib.add('asic', 'cells', 'dontuse', ["
|
|
86
|
-
"sg13g2_lgcp_1",
|
|
85
|
+
# Dont use
|
|
86
|
+
lib.add('asic', 'cells', 'dontuse', ["sg13g2_lgcp_1",
|
|
87
87
|
"sg13g2_sighold",
|
|
88
88
|
"sg13g2_slgcp_1",
|
|
89
89
|
"sg13g2_dfrbp_2"])
|
|
@@ -104,19 +104,20 @@ def setup():
|
|
|
104
104
|
lib.add('asic', 'cells', 'clkbuf', [f'sky130_fd_sc_{libtype}__clkbuf_1',
|
|
105
105
|
f'sky130_fd_sc_{libtype}__clkbuf_2',
|
|
106
106
|
f'sky130_fd_sc_{libtype}__clkbuf_4',
|
|
107
|
-
f'sky130_fd_sc_{libtype}__clkbuf_6',
|
|
108
107
|
f'sky130_fd_sc_{libtype}__clkbuf_8',
|
|
109
|
-
f'sky130_fd_sc_{libtype}__clkbuf_12',
|
|
110
108
|
f'sky130_fd_sc_{libtype}__clkbuf_16'])
|
|
109
|
+
if libtype == "hdll":
|
|
110
|
+
lib.add('asic', 'cells', 'clkbuf', [f'sky130_fd_sc_{libtype}__clkbuf_6',
|
|
111
|
+
f'sky130_fd_sc_{libtype}__clkbuf_12'])
|
|
111
112
|
|
|
112
113
|
# hold cells
|
|
113
|
-
lib.add('asic', 'cells', 'hold', [f'sky130_fd_sc_{libtype}
|
|
114
|
-
f'sky130_fd_sc_{libtype}
|
|
115
|
-
f'sky130_fd_sc_{libtype}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
114
|
+
lib.add('asic', 'cells', 'hold', [f'sky130_fd_sc_{libtype}__dlygate4sd1_1',
|
|
115
|
+
f'sky130_fd_sc_{libtype}__dlygate4sd2_1',
|
|
116
|
+
f'sky130_fd_sc_{libtype}__dlygate4sd3_1'])
|
|
117
|
+
if libtype == "hd":
|
|
118
|
+
lib.add('asic', 'cells', 'hold', [f'sky130_fd_sc_{libtype}__dlymetal6s2s_1',
|
|
119
|
+
f'sky130_fd_sc_{libtype}__dlymetal6s4s_1',
|
|
120
|
+
f'sky130_fd_sc_{libtype}__dlymetal6s6s_1'])
|
|
120
121
|
|
|
121
122
|
# filler
|
|
122
123
|
lib.add('asic', 'cells', 'filler', [f'sky130_fd_sc_{libtype}__fill_1',
|
|
@@ -160,8 +161,6 @@ def setup():
|
|
|
160
161
|
lib.set('option', 'file', 'openroad_tapcells',
|
|
161
162
|
libdir + '/apr/openroad/tapcell.tcl')
|
|
162
163
|
|
|
163
|
-
lib.set('option', 'var', 'openroad_cts_clock_buffer', f"sky130_fd_sc_{libtype}__clkbuf_4")
|
|
164
|
-
|
|
165
164
|
lib.set('option', 'var', 'yosys_abc_clock_multiplier', "1000") # convert from ns -> ps
|
|
166
165
|
|
|
167
166
|
cap_table = {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: lambdapdk
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.39
|
|
4
4
|
Summary: Library of open source Process Design Kits
|
|
5
5
|
Author: Zero ASIC
|
|
6
|
-
License:
|
|
6
|
+
License: Apache License
|
|
7
7
|
Version 2.0, January 2004
|
|
8
8
|
http://www.apache.org/licenses/
|
|
9
9
|
|
|
@@ -198,15 +198,15 @@ Project-URL: Homepage, https://github.com/siliconcompiler/lambdapdk
|
|
|
198
198
|
Requires-Python: >=3.8
|
|
199
199
|
Description-Content-Type: text/markdown
|
|
200
200
|
License-File: LICENSE
|
|
201
|
-
Requires-Dist: siliconcompiler
|
|
201
|
+
Requires-Dist: siliconcompiler>=0.27.0
|
|
202
202
|
Provides-Extra: test
|
|
203
|
-
Requires-Dist: flake8
|
|
204
|
-
Requires-Dist: pytest
|
|
205
|
-
Requires-Dist: pytest-timeout
|
|
206
|
-
Requires-Dist: tclint
|
|
207
|
-
Requires-Dist: lambdalib
|
|
208
|
-
Requires-Dist: sc-leflib
|
|
209
|
-
Requires-Dist: Jinja2
|
|
203
|
+
Requires-Dist: flake8==7.1.1; extra == "test"
|
|
204
|
+
Requires-Dist: pytest==8.3.4; extra == "test"
|
|
205
|
+
Requires-Dist: pytest-timeout==2.3.1; extra == "test"
|
|
206
|
+
Requires-Dist: tclint==0.5.0; extra == "test"
|
|
207
|
+
Requires-Dist: lambdalib==0.3.2; extra == "test"
|
|
208
|
+
Requires-Dist: sc-leflib==0.4.0; extra == "test"
|
|
209
|
+
Requires-Dist: Jinja2==3.1.4; extra == "test"
|
|
210
210
|
|
|
211
211
|
# Lambdapdk Introduction
|
|
212
212
|
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
lambdapdk/__init__.py,sha256=
|
|
2
|
-
lambdapdk/asap7/__init__.py,sha256=
|
|
3
|
-
lambdapdk/asap7/libs/asap7sc7p5t.py,sha256=
|
|
1
|
+
lambdapdk/__init__.py,sha256=Ub57VU23usHGYzywXktgCbnaRoi8-HQUBwdyfDlkzfI,1771
|
|
2
|
+
lambdapdk/asap7/__init__.py,sha256=RrRTx_dFEsHnTWCGwzNUVmY8-2lOAd2EcWs7w8KwRPI,4736
|
|
3
|
+
lambdapdk/asap7/libs/asap7sc7p5t.py,sha256=YCj1yCYLylF72EMJx2zY9KX1ZIkGsHuMDsCGrq9ud4E,6030
|
|
4
4
|
lambdapdk/asap7/libs/fakeio7.py,sha256=t4OQ7uljg4jh14bf3o4wsnI5gNkLEVpMs1drispc7LE,978
|
|
5
5
|
lambdapdk/asap7/libs/fakeram7.py,sha256=thOHy0XyV2-pakoxrttGL3qU9C2OeL1-MVtlrSiTMu8,1112
|
|
6
6
|
lambdapdk/freepdk45/__init__.py,sha256=5lbmMi3tGM1mJoM1wOGG0GhjKaFc2Qi3x-tRO8kKSDs,3673
|
|
7
7
|
lambdapdk/freepdk45/libs/fakeram45.py,sha256=CqX9YTFLQFlmGn4IZDjEI1OXv43mg3aWdbVfMrBKNSU,1091
|
|
8
|
-
lambdapdk/freepdk45/libs/nangate45.py,sha256=
|
|
8
|
+
lambdapdk/freepdk45/libs/nangate45.py,sha256=vh_OsCzTKInpAVt1oC6QOyPjEuxFzYRGY3Ngopffh-o,4638
|
|
9
9
|
lambdapdk/gf180/__init__.py,sha256=fbJ4z0kXBftIHAsgyqJmbpZfpWf9PWuxXgoQoG3IhQ0,7963
|
|
10
10
|
lambdapdk/gf180/libs/gf180io.py,sha256=6WgsALOaKWYG6RfNFz6sg36zmfZZFl2HnsDWOWYy1UM,2751
|
|
11
|
-
lambdapdk/gf180/libs/gf180mcu.py,sha256=
|
|
11
|
+
lambdapdk/gf180/libs/gf180mcu.py,sha256=g8s6xpH8Glj6m7aIubX2EmyG2eLXbVsZOSWKYhaujQ8,6604
|
|
12
12
|
lambdapdk/gf180/libs/gf180sram.py,sha256=uNtf4JOaT6wlD7D6hN5XwCoIOPmAXkVxSJXQuqNdY6k,2140
|
|
13
13
|
lambdapdk/ihp130/__init__.py,sha256=dSXwH5rYOrJc9C3FTe9bxCJw9VZaK0fnRBMWaWT9NY8,5500
|
|
14
14
|
lambdapdk/ihp130/libs/sg13g2_sram.py,sha256=oFg89-kKvuBBI9IsdGkuTsG9Q8i4gzImF66MXMXY4Fk,1885
|
|
15
|
-
lambdapdk/ihp130/libs/sg13g2_stdcell.py,sha256=
|
|
15
|
+
lambdapdk/ihp130/libs/sg13g2_stdcell.py,sha256=un7-NQBTYCMWJOjLMgw1BcBdy1kjEX_kjoRY1QpDmXI,5134
|
|
16
16
|
lambdapdk/interposer/__init__.py,sha256=UEAxcCLo-0OheGNCOTLpwnF05HFAz3agStFBTdcgS58,4039
|
|
17
17
|
lambdapdk/interposer/_generator.py,sha256=Uf9i7gfjgntUpLmxsRmOfzfgh26iQ3nfZmrdIx59UtA,15016
|
|
18
18
|
lambdapdk/interposer/libs/bumps.py,sha256=-b3cNOUBKhzzxoWI1Y047g9Ev3a_mXBMLKO3BaHo1sI,771
|
|
19
19
|
lambdapdk/sky130/__init__.py,sha256=PXJEa-siz7HStlvDTCI794evU8qbHl472gHckSrZFWc,4124
|
|
20
20
|
lambdapdk/sky130/libs/sky130io.py,sha256=wFmN9RC98f6OFM5E5acCUgPe35tVTKciJzIcUBlmumo,2029
|
|
21
|
-
lambdapdk/sky130/libs/sky130sc.py,sha256=
|
|
21
|
+
lambdapdk/sky130/libs/sky130sc.py,sha256=GSgYjyPQPFzEKByP2P9VJVOIr1hqMe_glow6TSszIx4,9399
|
|
22
22
|
lambdapdk/sky130/libs/sky130sram.py,sha256=ILjAjbgDdvfiWqmjmj8mmHvU7YiYGZVHGO7jmyajnaY,1489
|
|
23
|
-
lambdapdk-0.1.
|
|
24
|
-
lambdapdk-0.1.
|
|
25
|
-
lambdapdk-0.1.
|
|
26
|
-
lambdapdk-0.1.
|
|
27
|
-
lambdapdk-0.1.
|
|
23
|
+
lambdapdk-0.1.39.dist-info/LICENSE,sha256=2TIhku7H905BsYloYoCwat2JsdkGYc_qsnvU-p7P-IQ,10766
|
|
24
|
+
lambdapdk-0.1.39.dist-info/METADATA,sha256=d2bajU8KNRguQHB5k40TTeM8APUAc9igQeLVHx25F1o,13947
|
|
25
|
+
lambdapdk-0.1.39.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
|
26
|
+
lambdapdk-0.1.39.dist-info/top_level.txt,sha256=5wk8psZwCcQgSjOlWTihBeDkSIViGn8I3j5yALbs59s,10
|
|
27
|
+
lambdapdk-0.1.39.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|