lambdapdk 0.1.53__py3-none-any.whl → 0.1.54__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 CHANGED
@@ -2,7 +2,7 @@ import os.path
2
2
  import siliconcompiler.package as sc_package
3
3
 
4
4
 
5
- __version__ = "0.1.53"
5
+ __version__ = "0.1.54"
6
6
 
7
7
 
8
8
  def register_data_source(chip):
@@ -25,7 +25,7 @@ def setup_libs():
25
25
  from lambdapdk.freepdk45.libs import nangate45, fakeram45
26
26
  from lambdapdk.sky130.libs import sky130sc, sky130io, sky130sram
27
27
  from lambdapdk.gf180.libs import gf180mcu, gf180io, gf180sram
28
- from lambdapdk.ihp130.libs import sg13g2_stdcell, sg13g2_sram
28
+ from lambdapdk.ihp130.libs import sg13g2_stdcell, sg13g2_sram, sg13g2_io
29
29
  from lambdapdk.interposer.libs import bumps as interposer_bumps
30
30
 
31
31
  all_libs = []
@@ -34,7 +34,7 @@ def setup_libs():
34
34
  nangate45, fakeram45,
35
35
  sky130sc, sky130io, sky130sram,
36
36
  gf180mcu, gf180io, gf180sram,
37
- sg13g2_stdcell, sg13g2_sram,
37
+ sg13g2_stdcell, sg13g2_sram, sg13g2_io,
38
38
  interposer_bumps]:
39
39
  libs = lib_mod.setup()
40
40
  if not isinstance(libs, (list, tuple)):
@@ -138,7 +138,7 @@ def get_docs_libraries():
138
138
  from lambdapdk.freepdk45.libs import nangate45, fakeram45
139
139
  from lambdapdk.sky130.libs import sky130sc, sky130io, sky130sram
140
140
  from lambdapdk.gf180.libs import gf180mcu, gf180io, gf180sram
141
- from lambdapdk.ihp130.libs import sg13g2_stdcell, sg13g2_sram
141
+ from lambdapdk.ihp130.libs import sg13g2_stdcell, sg13g2_sram, sg13g2_io
142
142
  from lambdapdk.interposer.libs import bumps as interposer_bumps
143
143
 
144
144
  return [
@@ -156,5 +156,6 @@ def get_docs_libraries():
156
156
  (gf180sram, "gf180sram"),
157
157
  (sg13g2_stdcell, "sg13g2_stdcell"),
158
158
  (sg13g2_sram, "sg13g2_sram"),
159
+ (sg13g2_io, "sg13g2_io"),
159
160
  (interposer_bumps, "interposer_bumps")
160
161
  ]
@@ -6,24 +6,30 @@ def setup():
6
6
  libs = []
7
7
  stackup = '10M'
8
8
 
9
- for config in ('64x32', '128x32', '256x32', '256x64', '512x32', '512x64'):
10
- mem_name = f'fakeram7_{config}'
11
- lib = Library(mem_name, package='lambdapdk')
12
- register_data_source(lib)
13
- path_base = 'lambdapdk/asap7/libs/fakeram7'
14
- lib.add('output', stackup, 'lef', f'{path_base}/lef/{mem_name}.lef')
15
-
16
- for corner in ('slow', 'fast', 'typical'):
17
- lib.add('output', corner, 'nldm', f'{path_base}/nldm/{mem_name}.lib')
18
-
19
- lib.set('option', 'file', 'openroad_pdngen',
20
- f'{path_base}/apr/openroad/pdngen.tcl')
21
- lib.set('option', 'file', 'openroad_global_connect',
22
- f'{path_base}/apr/openroad/global_connect.tcl')
23
-
24
- lib.set('option', 'var', 'klayout_allow_missing_cell', mem_name)
25
-
26
- libs.append(lib)
9
+ for config in ('64x32', '128x32', '256x32', '256x64',
10
+ '512x32', '512x64', '512x128',
11
+ '1024x32', '1024x64',
12
+ '2048x32', '2048x64',
13
+ '4096x32', '4096x64',
14
+ '8192x32', '8192x64'):
15
+ for ramtype in ('dp', 'sp'):
16
+ mem_name = f'fakeram7_{ramtype}_{config}'
17
+ lib = Library(mem_name, package='lambdapdk')
18
+ register_data_source(lib)
19
+ path_base = 'lambdapdk/asap7/libs/fakeram7'
20
+ lib.add('output', stackup, 'lef', f'{path_base}/lef/{mem_name}.lef')
21
+
22
+ for corner in ('slow', 'fast', 'typical'):
23
+ lib.add('output', corner, 'nldm', f'{path_base}/nldm/{mem_name}.lib')
24
+
25
+ lib.set('option', 'file', 'openroad_pdngen',
26
+ f'{path_base}/apr/openroad/pdngen.tcl')
27
+ lib.set('option', 'file', 'openroad_global_connect',
28
+ f'{path_base}/apr/openroad/global_connect.tcl')
29
+
30
+ lib.set('option', 'var', 'klayout_allow_missing_cell', mem_name)
31
+
32
+ libs.append(lib)
27
33
 
28
34
  lambda_lib = Library('lambdalib_fakeram7', package='lambdapdk')
29
35
  register_data_source(lambda_lib)
@@ -0,0 +1,57 @@
1
+ import os
2
+ import siliconcompiler
3
+ from lambdapdk import register_data_source
4
+ from lambdapdk.ihp130 import register_ihp130_data_source
5
+
6
+
7
+ def setup():
8
+ '''
9
+ IHP 130 IO Cells
10
+ '''
11
+ libdir = "lambdapdk/ihp130/libs/sg13g2_io"
12
+
13
+ lib = siliconcompiler.Library('sg13g2_io', package='ihp130')
14
+ register_ihp130_data_source(lib)
15
+ register_data_source(lib)
16
+
17
+ # pdk
18
+ lib.set('option', 'pdk', 'ihp130')
19
+
20
+ lib.set('output', 'slow', 'nldm',
21
+ 'ihp-sg13g2/libs.ref/sg13g2_io/lib/sg13g2_io_slow_1p08V_3p0V_125C.lib')
22
+ lib.set('output', 'typical', 'nldm',
23
+ 'ihp-sg13g2/libs.ref/sg13g2_io/lib/sg13g2_io_typ_1p5V_3p3V_25C.lib')
24
+ lib.set('output', 'fast', 'nldm',
25
+ 'ihp-sg13g2/libs.ref/sg13g2_io/lib/sg13g2_io_fast_1p32V_3p6V_m40C.lib')
26
+
27
+ for corner in ('slow', 'typical', 'fast'):
28
+ lib.set('output', corner, 'spice',
29
+ 'ihp-sg13g2/libs.ref/sg13g2_io/spice/sg13g2_io.spi')
30
+
31
+ lib.set('output', '5M2TL', 'lef', 'ihp-sg13g2/libs.ref/sg13g2_io/lef/sg13g2_io.lef')
32
+ lib.set('output', '5M2TL', 'cdl', 'ihp-sg13g2/libs.ref/sg13g2_io/cdl/sg13g2_io.cdl')
33
+ lib.add('output', '5M2TL', 'gds', 'ihp-sg13g2/libs.ref/sg13g2_io/gds/sg13g2_io.gds')
34
+
35
+ lib.set('asic', 'cells', 'filler', ['sg13g2_Filler200',
36
+ 'sg13g2_Filler400',
37
+ 'sg13g2_Filler1000',
38
+ 'sg13g2_Filler2000',
39
+ 'sg13g2_Filler4000',
40
+ 'sg13g2_Filler10000'])
41
+
42
+ lib.set('output', 'blackbox', 'verilog',
43
+ os.path.join(libdir, 'blackbox', 'sg13g2_io.v'), package='lambdapdk')
44
+
45
+ lambda_lib = siliconcompiler.Library('lambdalib_sg13g2_io', package='lambdapdk')
46
+ register_data_source(lambda_lib)
47
+ lambda_lib.add('option', 'ydir', os.path.join(libdir, 'lambda'))
48
+ lambda_lib.use(lib)
49
+ lambda_lib.set('asic', 'macrolib', lib.design)
50
+
51
+ return [lib, lambda_lib]
52
+
53
+
54
+ #########################
55
+ if __name__ == "__main__":
56
+ for lib in setup(siliconcompiler.Chip('<lib>')):
57
+ lib.write_manifest(f'{lib.top()}.json')
@@ -6,7 +6,7 @@ from lambdapdk.ihp130 import register_ihp130_data_source
6
6
 
7
7
  def setup():
8
8
  '''
9
- Nangate open standard cell library for FreePDK45.
9
+ Standrad cell library for IHP130
10
10
  '''
11
11
  libname = 'sg13g2_stdcell'
12
12
  process = 'ihp130'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lambdapdk
3
- Version: 0.1.53
3
+ Version: 0.1.54
4
4
  Summary: Library of open source Process Design Kits
5
5
  Author: Zero ASIC
6
6
  License: Apache License
@@ -201,7 +201,7 @@ License-File: LICENSE
201
201
  Requires-Dist: siliconcompiler>=0.27.0
202
202
  Provides-Extra: test
203
203
  Requires-Dist: flake8==7.2.0; extra == "test"
204
- Requires-Dist: pytest==8.3.5; extra == "test"
204
+ Requires-Dist: pytest==8.4.0; extra == "test"
205
205
  Requires-Dist: pytest-timeout==2.4.0; extra == "test"
206
206
  Requires-Dist: tclint==0.5.4; extra == "test"
207
207
  Requires-Dist: lambdalib==0.3.4; extra == "test"
@@ -1,9 +1,9 @@
1
- lambdapdk/__init__.py,sha256=xogyLn-8vz2YBO19uqOe_HI-crM__ZyXs5nSZnQyIEA,4128
1
+ lambdapdk/__init__.py,sha256=RtkCSTRrk_raEmHpLZOMWOccyUto_xHr39sWcNGSf0s,4195
2
2
  lambdapdk/asap7/__init__.py,sha256=RrRTx_dFEsHnTWCGwzNUVmY8-2lOAd2EcWs7w8KwRPI,4736
3
3
  lambdapdk/asap7/libs/asap7sc7p5t.py,sha256=kIli2Uuyc3ubG9P58rpu4SJxod8A306-ORZmP95X9vg,6052
4
4
  lambdapdk/asap7/libs/fakeio7.py,sha256=t4OQ7uljg4jh14bf3o4wsnI5gNkLEVpMs1drispc7LE,978
5
5
  lambdapdk/asap7/libs/fakekit7.py,sha256=IpyAHOCXBPsHfAxW-vS0Vyanws9WnEUDnMbUAzxY2U4,604
6
- lambdapdk/asap7/libs/fakeram7.py,sha256=VqZSYehMU2IJEDkmlhAjz322T8nXPQswTZowmShbEdU,1266
6
+ lambdapdk/asap7/libs/fakeram7.py,sha256=oAn6nLYPGaWG7hOvCzPCoa_lrLMH30LwipFXQ1qSNZg,1559
7
7
  lambdapdk/freepdk45/__init__.py,sha256=5lbmMi3tGM1mJoM1wOGG0GhjKaFc2Qi3x-tRO8kKSDs,3673
8
8
  lambdapdk/freepdk45/libs/fakeram45.py,sha256=vX0bqC2xKP1sfihJKEHzHTighNqLOB2egavzIiQdAr4,1245
9
9
  lambdapdk/freepdk45/libs/nangate45.py,sha256=XaIhQvwzpp2bsAShG2J3hMbL4ISAbqxOnO692KBG0m0,4892
@@ -12,8 +12,9 @@ lambdapdk/gf180/libs/gf180io.py,sha256=6WgsALOaKWYG6RfNFz6sg36zmfZZFl2HnsDWOWYy1
12
12
  lambdapdk/gf180/libs/gf180mcu.py,sha256=N2ny2_OJu_0xJAEqyZ1aA0mO3vvy5u5NmXALFhlqpJs,6811
13
13
  lambdapdk/gf180/libs/gf180sram.py,sha256=gE64wFo8wjDwmhL7_0UTl1gyfUZ8IeaILHNjwu7vfrg,2294
14
14
  lambdapdk/ihp130/__init__.py,sha256=tUr3UUvlqBZe5l7r8EZmxnbQZf1MacdFJQQaw5AuT-c,5500
15
+ lambdapdk/ihp130/libs/sg13g2_io.py,sha256=60Xxh2DC2n_nHsCKKjgQpNYqxf4ZuxxgfM3aaIfJBTQ,2158
15
16
  lambdapdk/ihp130/libs/sg13g2_sram.py,sha256=CgzCB7TfOtFmBAy7Ogqlm4_f0ZCqcVDydCLdYkfDc1A,2081
16
- lambdapdk/ihp130/libs/sg13g2_stdcell.py,sha256=FPYrGJz5Dr2M8QMFeJ1UZOJY_1-9NFdZTpNXd0Um7OI,5114
17
+ lambdapdk/ihp130/libs/sg13g2_stdcell.py,sha256=rm1g2u8Bm-OpJzaEe2COiX-yfI18Cy96fRv3ikNwYoM,5097
17
18
  lambdapdk/interposer/__init__.py,sha256=UEAxcCLo-0OheGNCOTLpwnF05HFAz3agStFBTdcgS58,4039
18
19
  lambdapdk/interposer/_generator.py,sha256=Uf9i7gfjgntUpLmxsRmOfzfgh26iQ3nfZmrdIx59UtA,15016
19
20
  lambdapdk/interposer/libs/bumps.py,sha256=-b3cNOUBKhzzxoWI1Y047g9Ev3a_mXBMLKO3BaHo1sI,771
@@ -21,9 +22,9 @@ lambdapdk/sky130/__init__.py,sha256=PXJEa-siz7HStlvDTCI794evU8qbHl472gHckSrZFWc,
21
22
  lambdapdk/sky130/libs/sky130io.py,sha256=wFmN9RC98f6OFM5E5acCUgPe35tVTKciJzIcUBlmumo,2029
22
23
  lambdapdk/sky130/libs/sky130sc.py,sha256=vDqt7mpEmwBwuK1kkEr6g2lxBs7dMpEs3HkbS8EC85Y,9606
23
24
  lambdapdk/sky130/libs/sky130sram.py,sha256=CFn8Ve0WkHBdzlkZ1LPZJ3hknwE2IZGkV5Cr2qdiOZ8,1643
24
- lambdapdk-0.1.53.dist-info/licenses/LICENSE,sha256=2TIhku7H905BsYloYoCwat2JsdkGYc_qsnvU-p7P-IQ,10766
25
- lambdapdk-0.1.53.dist-info/METADATA,sha256=a8hW2_VCbX8vYzfgXQriqoHy4iwDyEYEE5EGUM_cBUs,13964
26
- lambdapdk-0.1.53.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
27
- lambdapdk-0.1.53.dist-info/entry_points.txt,sha256=pAsLLqQtg5qJC63h5tDVuyxPYJAkaTUgAxscBiohPD4,128
28
- lambdapdk-0.1.53.dist-info/top_level.txt,sha256=5wk8psZwCcQgSjOlWTihBeDkSIViGn8I3j5yALbs59s,10
29
- lambdapdk-0.1.53.dist-info/RECORD,,
25
+ lambdapdk-0.1.54.dist-info/licenses/LICENSE,sha256=2TIhku7H905BsYloYoCwat2JsdkGYc_qsnvU-p7P-IQ,10766
26
+ lambdapdk-0.1.54.dist-info/METADATA,sha256=CbIxzKhWWJsQTwzXOP67zS6Sc_yKHxUp5dpj2X2dkrk,13964
27
+ lambdapdk-0.1.54.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
28
+ lambdapdk-0.1.54.dist-info/entry_points.txt,sha256=pAsLLqQtg5qJC63h5tDVuyxPYJAkaTUgAxscBiohPD4,128
29
+ lambdapdk-0.1.54.dist-info/top_level.txt,sha256=5wk8psZwCcQgSjOlWTihBeDkSIViGn8I3j5yALbs59s,10
30
+ lambdapdk-0.1.54.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5