lambdapdk 0.1.38__tar.gz → 0.1.40__tar.gz

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.
Files changed (37) hide show
  1. {lambdapdk-0.1.38/lambdapdk.egg-info → lambdapdk-0.1.40}/PKG-INFO +4 -4
  2. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/__init__.py +1 -1
  3. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/asap7/__init__.py +4 -0
  4. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/asap7/libs/asap7sc7p5t.py +2 -6
  5. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/freepdk45/libs/nangate45.py +4 -4
  6. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/gf180/libs/gf180mcu.py +1 -2
  7. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/ihp130/libs/sg13g2_stdcell.py +9 -6
  8. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/sky130/libs/sky130sc.py +11 -11
  9. {lambdapdk-0.1.38 → lambdapdk-0.1.40/lambdapdk.egg-info}/PKG-INFO +4 -4
  10. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk.egg-info/requires.txt +3 -3
  11. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/pyproject.toml +3 -3
  12. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/LICENSE +0 -0
  13. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/MANIFEST.in +0 -0
  14. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/README.md +0 -0
  15. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/asap7/libs/fakeio7.py +0 -0
  16. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/asap7/libs/fakeram7.py +0 -0
  17. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/freepdk45/__init__.py +0 -0
  18. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/freepdk45/libs/fakeram45.py +0 -0
  19. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/gf180/__init__.py +0 -0
  20. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/gf180/libs/gf180io.py +0 -0
  21. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/gf180/libs/gf180sram.py +0 -0
  22. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/ihp130/__init__.py +0 -0
  23. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/ihp130/libs/sg13g2_sram.py +0 -0
  24. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/interposer/__init__.py +0 -0
  25. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/interposer/_generator.py +0 -0
  26. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/interposer/libs/bumps.py +0 -0
  27. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/sky130/__init__.py +0 -0
  28. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/sky130/libs/sky130io.py +0 -0
  29. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk/sky130/libs/sky130sram.py +0 -0
  30. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk.egg-info/SOURCES.txt +0 -0
  31. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk.egg-info/dependency_links.txt +0 -0
  32. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/lambdapdk.egg-info/top_level.txt +0 -0
  33. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/setup.cfg +0 -0
  34. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/tests/test_getters.py +0 -0
  35. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/tests/test_lambda.py +0 -0
  36. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/tests/test_local_detect.py +0 -0
  37. {lambdapdk-0.1.38 → lambdapdk-0.1.40}/tests/test_paths.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lambdapdk
3
- Version: 0.1.38
3
+ Version: 0.1.40
4
4
  Summary: Library of open source Process Design Kits
5
5
  Author: Zero ASIC
6
6
  License: Apache License
@@ -201,10 +201,10 @@ License-File: LICENSE
201
201
  Requires-Dist: siliconcompiler>=0.27.0
202
202
  Provides-Extra: test
203
203
  Requires-Dist: flake8==7.1.1; extra == "test"
204
- Requires-Dist: pytest==8.3.3; extra == "test"
204
+ Requires-Dist: pytest==8.3.4; extra == "test"
205
205
  Requires-Dist: pytest-timeout==2.3.1; extra == "test"
206
- Requires-Dist: tclint==0.4.2; extra == "test"
207
- Requires-Dist: lambdalib==0.3.0; extra == "test"
206
+ Requires-Dist: tclint==0.5.0; extra == "test"
207
+ Requires-Dist: lambdalib==0.3.2; extra == "test"
208
208
  Requires-Dist: sc-leflib==0.4.0; extra == "test"
209
209
  Requires-Dist: Jinja2==3.1.4; extra == "test"
210
210
 
@@ -1,7 +1,7 @@
1
1
  import siliconcompiler.package as sc_package
2
2
 
3
3
 
4
- __version__ = "0.1.38"
4
+ __version__ = "0.1.40"
5
5
 
6
6
 
7
7
  def register_data_source(chip):
@@ -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"BUFx2_ASAP7_75t_{suffix}")
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.add('asic', 'cells', 'clkbuf', "BUF_X4")
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')
@@ -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', ["sg13g2_buf_1",
69
- "sg13g2_buf_4"])
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
- # Stupid small cells
85
- lib.add('asic', 'cells', 'dontuse', ["sg13g2_antennanp",
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}__buf_1',
114
- f'sky130_fd_sc_{libtype}__buf_2',
115
- f'sky130_fd_sc_{libtype}__buf_4',
116
- f'sky130_fd_sc_{libtype}__buf_6',
117
- f'sky130_fd_sc_{libtype}__buf_8',
118
- f'sky130_fd_sc_{libtype}__buf_12',
119
- f'sky130_fd_sc_{libtype}__buf_16'])
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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lambdapdk
3
- Version: 0.1.38
3
+ Version: 0.1.40
4
4
  Summary: Library of open source Process Design Kits
5
5
  Author: Zero ASIC
6
6
  License: Apache License
@@ -201,10 +201,10 @@ License-File: LICENSE
201
201
  Requires-Dist: siliconcompiler>=0.27.0
202
202
  Provides-Extra: test
203
203
  Requires-Dist: flake8==7.1.1; extra == "test"
204
- Requires-Dist: pytest==8.3.3; extra == "test"
204
+ Requires-Dist: pytest==8.3.4; extra == "test"
205
205
  Requires-Dist: pytest-timeout==2.3.1; extra == "test"
206
- Requires-Dist: tclint==0.4.2; extra == "test"
207
- Requires-Dist: lambdalib==0.3.0; extra == "test"
206
+ Requires-Dist: tclint==0.5.0; extra == "test"
207
+ Requires-Dist: lambdalib==0.3.2; extra == "test"
208
208
  Requires-Dist: sc-leflib==0.4.0; extra == "test"
209
209
  Requires-Dist: Jinja2==3.1.4; extra == "test"
210
210
 
@@ -2,9 +2,9 @@ siliconcompiler>=0.27.0
2
2
 
3
3
  [test]
4
4
  flake8==7.1.1
5
- pytest==8.3.3
5
+ pytest==8.3.4
6
6
  pytest-timeout==2.3.1
7
- tclint==0.4.2
8
- lambdalib==0.3.0
7
+ tclint==0.5.0
8
+ lambdalib==0.3.2
9
9
  sc-leflib==0.4.0
10
10
  Jinja2==3.1.4
@@ -28,10 +28,10 @@ timeout = "180"
28
28
  # Test dependencies.
29
29
  test = [
30
30
  "flake8 == 7.1.1",
31
- "pytest == 8.3.3",
31
+ "pytest == 8.3.4",
32
32
  "pytest-timeout == 2.3.1",
33
- "tclint == 0.4.2",
34
- "lambdalib == 0.3.0",
33
+ "tclint == 0.5.0",
34
+ "lambdalib == 0.3.2",
35
35
  "sc-leflib == 0.4.0",
36
36
  "Jinja2 == 3.1.4"
37
37
  ]
File without changes
File without changes
File without changes
File without changes