Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update caliptra to use libraries #116

Merged
merged 1 commit into from
Aug 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ readme = "README.md"
requires-python = ">=3.8"
license = {file = "LICENSE"}
dependencies = [
"siliconcompiler>=0.25.0",
"siliconcompiler>=0.26.2",
"Jinja2>=3.1.2",
"lambdapdk>=0.1.12",
"lambdalib>=0.2.0"
Expand Down
121 changes: 0 additions & 121 deletions scgallery/designs/caliptra/__init__.py

This file was deleted.

9 changes: 2 additions & 7 deletions scgallery/designs/caliptra/datavault.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

from siliconcompiler import Chip
from siliconcompiler.targets import freepdk45_demo
from scgallery.designs import caliptra
from scgallery.designs.caliptra.src import datavault
from scgallery import Gallery


Expand All @@ -22,12 +22,7 @@ def setup(target=freepdk45_demo):

sdc_root = os.path.join('caliptra', 'constraints', 'datavault')

chip.use(caliptra)
chip.add('option', 'library', [
'caliptra_datavault',
'caliptra_libs',
'caliptra_top_defines'
])
chip.use(datavault)

chip.set('option', 'entrypoint', 'dv')

Expand Down
9 changes: 2 additions & 7 deletions scgallery/designs/caliptra/keyvault.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

from siliconcompiler import Chip
from siliconcompiler.targets import freepdk45_demo
from scgallery.designs import caliptra
from scgallery.designs.caliptra.src import keyvault
from scgallery import Gallery


Expand All @@ -22,12 +22,7 @@ def setup(target=freepdk45_demo):

sdc_root = os.path.join('caliptra', 'constraints', 'keyvault')

chip.use(caliptra)
chip.add('option', 'library', [
'caliptra_keyvault',
'caliptra_libs',
'caliptra_top_defines'
])
chip.use(keyvault)

chip.set('option', 'entrypoint', 'kv')

Expand Down
11 changes: 2 additions & 9 deletions scgallery/designs/caliptra/sha512.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

from siliconcompiler import Chip
from siliconcompiler.targets import freepdk45_demo
from scgallery.designs import caliptra
from scgallery.designs.caliptra.src import sha512
from scgallery import Gallery


Expand All @@ -22,14 +22,7 @@ def setup(target=freepdk45_demo):

sdc_root = os.path.join('caliptra', 'constraints', 'sha512')

chip.use(caliptra)
chip.add('option', 'library', [
'caliptra_sha512',
'caliptra_pcrvault',
'caliptra_keyvault',
'caliptra_libs',
'caliptra_top_defines'
])
chip.use(sha512)

chip.set('option', 'entrypoint', 'sha512_ctrl')

Expand Down
26 changes: 26 additions & 0 deletions scgallery/designs/caliptra/src/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import os
from siliconcompiler import Library


def __register(lib):
lib.register_source(
name='caliptra-rtl',
path='git+https://github.com/chipsalliance/caliptra-rtl.git',
ref='v1.0')


def __add_sources(lib, root, files):
for src in files:
lib.input(os.path.join(root, src))


def make_lib(chip, name, root, files, idirs=None):
lib = Library(chip, name, package='caliptra-rtl', auto_enable=True)
__register(lib)

__add_sources(lib, root, files)

if idirs:
lib.add('option', 'idir', idirs)

return lib
21 changes: 21 additions & 0 deletions scgallery/designs/caliptra/src/datavault.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from ..src import make_lib
from ..src import libs


def setup(chip):
lib = make_lib(
chip,
'caliptra_datavault',
'src/datavault/rtl',
(
'dv_reg_pkg.sv',
'dv_reg.sv',
'dv_defines_pkg.sv',
'dv.sv'
),
[
'src/datavault/rtl'
])
lib.use(libs)

return lib
24 changes: 24 additions & 0 deletions scgallery/designs/caliptra/src/keyvault.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
from ..src import make_lib
from ..src import libs


def setup(chip):
lib = make_lib(
chip,
'caliptra_keyvault',
'src/keyvault/rtl',
(
'kv_reg_pkg.sv',
'kv_reg.sv',
'kv_defines_pkg.sv',
'kv.sv',
'kv_fsm.sv',
'kv_read_client.sv',
'kv_write_client.sv'
),
[
'src/keyvault/rtl'
])
lib.use(libs)

return lib
26 changes: 26 additions & 0 deletions scgallery/designs/caliptra/src/libs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from ..src import make_lib
from ..src import top_defines


def setup(chip):
lib = make_lib(
chip,
'caliptra_libs',
'src/libs/rtl',
(
'caliptra_sram.sv',
'ahb_defines_pkg.sv',
'caliptra_ahb_srom.sv',
'apb_slv_sif.sv',
'ahb_slv_sif.sv',
'caliptra_icg.sv',
'clk_gate.sv',
'caliptra_2ff_sync.sv',
'ahb_to_reg_adapter.sv'
),
[
'src/libs/rtl'
])
lib.use(top_defines)

return lib
22 changes: 22 additions & 0 deletions scgallery/designs/caliptra/src/pcrvault.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from ..src import make_lib
from ..src import libs


def setup(chip):
lib = make_lib(
chip,
'caliptra_pcrvault',
'src/pcrvault/rtl',
(
'pv_reg_pkg.sv',
'pv_reg.sv',
'pv_defines_pkg.sv',
'pv.sv',
'pv_gen_hash.sv'
),
[
'src/pcrvault/rtl'
])
lib.use(libs)

return lib
24 changes: 24 additions & 0 deletions scgallery/designs/caliptra/src/sha512.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
from ..src import make_lib
from ..src import pcrvault, keyvault


def setup(chip):
lib = make_lib(
chip,
'caliptra_sha512',
'src/sha512/rtl',
(
'sha512_reg_pkg.sv',
'sha512_params_pkg.sv',
'sha512_ctrl.sv',
'sha512.sv',
'sha512_core.v',
'sha512_h_constants.v',
'sha512_k_constants.v',
'sha512_w_mem.v',
'sha512_reg.sv'
))
lib.use(pcrvault)
lib.use(keyvault)

return lib
14 changes: 14 additions & 0 deletions scgallery/designs/caliptra/src/top_defines.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
from ..src import make_lib


def setup(chip):
lib = make_lib(
chip,
'caliptra_top_defines',
'src/integration/rtl',
[],
[
'src/integration/rtl'
])

return lib
Loading