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
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
update caliptra to use libraries
gadfort committed Aug 21, 2024
commit f3ef08110211cd2c6d3a008166e8ea1b55a3b483
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -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"
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
@@ -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


@@ -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')

9 changes: 2 additions & 7 deletions scgallery/designs/caliptra/keyvault.py
Original file line number Diff line number Diff line change
@@ -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


@@ -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')

11 changes: 2 additions & 9 deletions scgallery/designs/caliptra/sha512.py
Original file line number Diff line number Diff line change
@@ -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


@@ -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')

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