Skip to content

CLIC: SystemRDL based register generation - #292

Draft
ezelioli wants to merge 2 commits into
mainfrom
ez/clic-rdl
Draft

CLIC: SystemRDL based register generation#292
ezelioli wants to merge 2 commits into
mainfrom
ez/clic-rdl

Conversation

@ezelioli

@ezelioli ezelioli commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Switch to SystemRDL for CLIC register generation

  • Move CLIC from regbus to APB bus
  • Include clic.rdl instead of using peripheral stub
  • Bump CLIC version

Open points:

  • A new template was provided for linker script generation to avoid generating unnecessarily high numbers of symbols (by default one per register in a register array). This bloats up to 100s of symbols for certain CLIC configurations.
  • CLIC version is currently a branch, will be merged and updated to a release once this PR is reviewed and approved (Switch to SystemRDL clic#33).

Guard apb_mask by the same condition that allocated the port: a disabled IP
leaves its index at the default 0, which is the error slave, and flagging
that would put a second driver on reg_out_rsp[ret.err].
@ezelioli
ezelioli requested review from creinwar and fischeti August 11, 2026 08:26
@fischeti

Copy link
Copy Markdown
Contributor

Looks very nice! I agree that the generated linker script is too bloated. The template would work, but I thought it might be even better to add a --no-ldh-registers flag to the rawheader plugin to omit them alltogether. I think in most cases, just the address blocks should be enough. I prototyped this on the fischeti/clic-rdl branch. What do you think? I can merge this in the upstream rawheader plugin and create a new release to point to if you like it.

@ezelioli

Copy link
Copy Markdown
Contributor Author

Looks very nice! I agree that the generated linker script is too bloated. The template would work, but I thought it might be even better to add a --no-ldh-registers flag to the rawheader plugin to omit them alltogether. I think in most cases, just the address blocks should be enough. I prototyped this on the fischeti/clic-rdl branch. What do you think? I can merge this in the upstream rawheader plugin and create a new release to point to if you like it.

Looks great :)

@fischeti

fischeti commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

I created a new rawheader release v0.2.7. You can bump in pyproject.toml and call uv lock to lock it

@creinwar creinwar left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks! Let use the new rawheader version and point to a CLIC release, then we merge 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants