lambdapdk 0.1.38__py3-none-any.whl → 0.1.40__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 +4 -4
- lambdapdk/gf180/libs/gf180mcu.py +1 -2
- lambdapdk/ihp130/libs/sg13g2_stdcell.py +9 -6
- lambdapdk/sky130/libs/sky130sc.py +11 -11
- {lambdapdk-0.1.38.dist-info → lambdapdk-0.1.40.dist-info}/METADATA +10 -10
- {lambdapdk-0.1.38.dist-info → lambdapdk-0.1.40.dist-info}/RECORD +12 -12
- {lambdapdk-0.1.38.dist-info → lambdapdk-0.1.40.dist-info}/WHEEL +1 -1
- {lambdapdk-0.1.38.dist-info → lambdapdk-0.1.40.dist-info}/LICENSE +0 -0
- {lambdapdk-0.1.38.dist-info → lambdapdk-0.1.40.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",
|
|
@@ -74,6 +73,7 @@ def setup():
|
|
|
74
73
|
# Techmap
|
|
75
74
|
lib.add('option', 'file', 'yosys_techmap', libdir + '/techmap/yosys/cells_latch.v')
|
|
76
75
|
lib.add('option', 'file', 'yosys_addermap', libdir + '/techmap/yosys/cells_adders.v')
|
|
76
|
+
lib.add('option', 'file', 'yosys_tbufmap', libdir + '/techmap/yosys/cells_tristatebuf.v')
|
|
77
77
|
|
|
78
78
|
# Defaults for OpenROAD tool variables
|
|
79
79
|
lib.set('option', 'var', 'openroad_place_density', '0.50')
|
lambdapdk/gf180/libs/gf180mcu.py
CHANGED
|
@@ -99,6 +99,7 @@ def setup():
|
|
|
99
99
|
# Yosys techmap
|
|
100
100
|
lib.add('option', 'file', 'yosys_techmap', libdir + '/techmap/yosys/cells_latch.v')
|
|
101
101
|
lib.add('option', 'file', 'yosys_addermap', libdir + '/techmap/yosys/cells_adders.v')
|
|
102
|
+
lib.add('option', 'file', 'yosys_tbufmap', libdir + '/techmap/yosys/cells_tristatebuf.v')
|
|
102
103
|
|
|
103
104
|
# Openroad specific files
|
|
104
105
|
lib.set('option', 'file', 'openroad_pdngen',
|
|
@@ -108,8 +109,6 @@ def setup():
|
|
|
108
109
|
lib.set('option', 'file', 'openroad_tapcells',
|
|
109
110
|
libdir + '/apr/openroad/tapcell.tcl')
|
|
110
111
|
|
|
111
|
-
lib.set('option', 'var', 'openroad_cts_clock_buffer',
|
|
112
|
-
f"gf180mcu_fd_sc_mcu{libtype}5v0__clkbuf_8")
|
|
113
112
|
lib.set('option', 'var', 'openroad_cts_distance_between_buffers', "100")
|
|
114
113
|
|
|
115
114
|
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"])
|
|
@@ -92,6 +92,9 @@ def setup():
|
|
|
92
92
|
lib.add('option', 'file', 'yosys_techmap',
|
|
93
93
|
libdir + '/techmap/yosys/cells_latch.v',
|
|
94
94
|
package='lambdapdk')
|
|
95
|
+
lib.add('option', 'file', 'yosys_tbufmap',
|
|
96
|
+
libdir + '/techmap/yosys/cells_tristatebuf.v',
|
|
97
|
+
package='lambdapdk')
|
|
95
98
|
|
|
96
99
|
# Defaults for OpenROAD tool variables
|
|
97
100
|
lib.set('option', 'var', 'openroad_place_density', '0.65')
|
|
@@ -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',
|
|
@@ -149,6 +150,7 @@ def setup():
|
|
|
149
150
|
# Yosys techmap
|
|
150
151
|
# TODO: separate this out properly for the different libraries
|
|
151
152
|
lib.add('option', 'file', 'yosys_techmap', libdir + '/techmap/yosys/cells_latch.v')
|
|
153
|
+
lib.add('option', 'file', 'yosys_tbufmap', libdir + '/techmap/yosys/cells_tristatebuf.v')
|
|
152
154
|
if libtype == "hd":
|
|
153
155
|
lib.add('option', 'file', 'yosys_addermap', libdir + '/techmap/yosys/cells_adders.v')
|
|
154
156
|
|
|
@@ -160,8 +162,6 @@ def setup():
|
|
|
160
162
|
lib.set('option', 'file', 'openroad_tapcells',
|
|
161
163
|
libdir + '/apr/openroad/tapcell.tcl')
|
|
162
164
|
|
|
163
|
-
lib.set('option', 'var', 'openroad_cts_clock_buffer', f"sky130_fd_sc_{libtype}__clkbuf_4")
|
|
164
|
-
|
|
165
165
|
lib.set('option', 'var', 'yosys_abc_clock_multiplier', "1000") # convert from ns -> ps
|
|
166
166
|
|
|
167
167
|
cap_table = {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: lambdapdk
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.40
|
|
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=-cjOviCBAXID54vID6soQpmUlVfAwjpRNKW1pgiZeA4,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=s-3jJN7JyOPwemuCEhVM4FyiXlVSBNtMYiSR4un7rvk,4732
|
|
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=oKwR6nvOi8I_X5RFUVGmkhOMUP2n_0JAQWZhgCxth_g,6702
|
|
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=Maw_tp8WaZLrnDqEAwoBCjBlajz9AKiEryvMsxMfVeI,5273
|
|
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=Ha0ld-1h9x4UHgdFI6E_UlB93zHrgpym3pPOTBL-EHU,9497
|
|
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.40.dist-info/LICENSE,sha256=2TIhku7H905BsYloYoCwat2JsdkGYc_qsnvU-p7P-IQ,10766
|
|
24
|
+
lambdapdk-0.1.40.dist-info/METADATA,sha256=cvTpBuZd_kpeymTGNH4c7xEXzjfBaHmwoYiggRF1jTk,13947
|
|
25
|
+
lambdapdk-0.1.40.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
|
26
|
+
lambdapdk-0.1.40.dist-info/top_level.txt,sha256=5wk8psZwCcQgSjOlWTihBeDkSIViGn8I3j5yALbs59s,10
|
|
27
|
+
lambdapdk-0.1.40.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|