Skip to content

Commit

Permalink
Merge pull request #41 from siliconcompiler/set-units
Browse files Browse the repository at this point in the history
Set units
  • Loading branch information
gadfort committed Apr 24, 2024
2 parents acd000b + b2f7a5b commit 1dfcfb7
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 166 deletions.
7 changes: 7 additions & 0 deletions lambdapdk/asap7/libs/asap7sc7p5t.py
Expand Up @@ -96,6 +96,13 @@ def _setup_lib(chip, libname, suffix):
lib.set('option', 'var', 'openroad_cts_distance_between_buffers', "60")

lib.set('option', 'var', 'yosys_abc_clock_multiplier', "1") # convert from ps -> ps

cap_table = { # BUFx2_ASAP7_75t_
'R': 0.506500,
'L': 0.519810,
'SL': 0.533411
}
lib.set('option', 'var', 'yosys_abc_constraint_load', f"{4 * cap_table[suffix]}fF")
lib.set('option', 'var', 'yosys_driver_cell', f"BUFx2_ASAP7_75t_{suffix}")
lib.set('option', 'var', 'yosys_buffer_cell', f"BUFx2_ASAP7_75t_{suffix}")
lib.set('option', 'var', 'yosys_buffer_input', "A")
Expand Down
1 change: 1 addition & 0 deletions lambdapdk/freepdk45/libs/nangate45.py
Expand Up @@ -88,6 +88,7 @@ def setup(chip):
libdir + '/apr/openroad/global_connect.tcl')

lib.set('option', 'var', 'yosys_abc_clock_multiplier', "1000") # convert from ns -> ps
lib.set('option', 'var', 'yosys_abc_constraint_load', "3.898fF") # BUF_X1 = 0.974659 x 4
lib.set('option', 'var', 'yosys_driver_cell', "BUF_X4")
lib.set('option', 'var', 'yosys_buffer_cell', "BUF_X1")
lib.set('option', 'var', 'yosys_buffer_input', "A")
Expand Down
6 changes: 6 additions & 0 deletions lambdapdk/gf180/libs/gf180mcu.py
Expand Up @@ -115,6 +115,12 @@ def setup(chip):
lib.set('option', 'var', 'openroad_cts_distance_between_buffers', "100")

lib.set('option', 'var', 'yosys_abc_clock_multiplier', "1000") # convert from ns -> ps

cap_table = { # __buf_1
'7t': 2.521,
'9t': 3.673
}
lib.set('option', 'var', 'yosys_abc_constraint_load', f"{4 * cap_table[libtype]}fF")
lib.set('option', 'var', 'yosys_driver_cell', f"gf180mcu_fd_sc_mcu{libtype}5v0__buf_4")
lib.set('option', 'var', 'yosys_buffer_cell', f"gf180mcu_fd_sc_mcu{libtype}5v0__buf_4")
lib.set('option', 'var', 'yosys_buffer_input', "I")
Expand Down
161 changes: 0 additions & 161 deletions lambdapdk/sky130/libs/sky130hd.py

This file was deleted.

7 changes: 7 additions & 0 deletions lambdapdk/sky130/libs/sky130sc.py
Expand Up @@ -163,6 +163,13 @@ def setup(chip):
lib.set('option', 'var', 'openroad_cts_clock_buffer', f"sky130_fd_sc_{libtype}__clkbuf_4")

lib.set('option', 'var', 'yosys_abc_clock_multiplier', "1000") # convert from ns -> ps

cap_table = {
'hd': 1.872,
'hdll': 1.911
}
lib.set('option', 'var', 'yosys_abc_constraint_load', f"{4 * cap_table[libtype]}fF")

lib.set('option', 'var', 'yosys_driver_cell', f"sky130_fd_sc_{libtype}__buf_4")
lib.set('option', 'var', 'yosys_buffer_cell', f"sky130_fd_sc_{libtype}__buf_4")
lib.set('option', 'var', 'yosys_buffer_input', "A")
Expand Down
5 changes: 2 additions & 3 deletions tests/test_lambda.py
Expand Up @@ -5,13 +5,12 @@
from lambdapdk.asap7.libs import asap7sc7p5t, fakeram7
from lambdapdk.freepdk45.libs import nangate45, fakeram45
from lambdapdk.gf180.libs import gf180mcu, gf180io, gf180sram
from lambdapdk.sky130.libs import sky130hd, sky130sc, sky130io, sky130sram
from lambdapdk.sky130.libs import sky130sc, sky130io, sky130sram


@pytest.mark.parametrize('module,path', [
(asap7sc7p5t, 'lambdapdk/asap7/libs/{lib_name}/lambda'),
(nangate45, 'lambdapdk/freepdk45/libs/{lib_name}/lambda'),
(sky130hd, 'lambdapdk/sky130/libs/{lib_name}/lambda'),
(sky130sc, 'lambdapdk/sky130/libs/{lib_name}/lambda'),
(gf180mcu, 'lambdapdk/gf180/libs/{lib_name}/lambda')
])
Expand Down Expand Up @@ -48,7 +47,7 @@ def test_la_iolib(path):
asap7sc7p5t, fakeram7,
nangate45, fakeram45,
gf180mcu, gf180io, gf180sram,
sky130hd, sky130sc, sky130io, sky130sram
sky130sc, sky130io, sky130sram
])
def test_lambdalib_is_present(module):
chip = Chip('<lib>')
Expand Down
4 changes: 2 additions & 2 deletions tests/test_paths.py
Expand Up @@ -4,7 +4,7 @@
from lambdapdk import asap7, freepdk45, sky130, gf180
from lambdapdk.asap7.libs import asap7sc7p5t, fakeram7
from lambdapdk.freepdk45.libs import nangate45, fakeram45
from lambdapdk.sky130.libs import sky130hd, sky130sc, sky130io, sky130sram
from lambdapdk.sky130.libs import sky130sc, sky130io, sky130sram
from lambdapdk.gf180.libs import gf180mcu, gf180io, gf180sram


Expand All @@ -18,7 +18,7 @@ def test_pdk_paths(pdk):
@pytest.mark.parametrize('lib', [
asap7sc7p5t, fakeram7, # asap7
nangate45, fakeram45, # freepdk45
sky130hd, sky130sc, sky130io, sky130sram, # sky130
sky130sc, sky130io, sky130sram, # sky130
gf180mcu, gf180io, gf180sram # gf180
])
def test_lib_paths(lib):
Expand Down

0 comments on commit 1dfcfb7

Please sign in to comment.