Skip to content

docs: add ExternalSystemVerilogModule example to user guide #568 - #703

Open
AzazelSensei wants to merge 1 commit into
intel:mainfrom
AzazelSensei:docs-external-module-example-568
Open

AzazelSensei wants to merge 1 commit into
intel:mainfrom
AzazelSensei:docs-external-module-example-568

Conversation

@AzazelSensei

Copy link
Copy Markdown

Description & Motivation

The external modules user guide page had no example. I added a small wrapper around an existing SystemVerilog module, the generated instantiation, and notes on definitionName, parameters, and ports.

Related Issue(s)

Fixes #568

Testing

Docs-only. The Dart snippet matches the existing test/external_test.dart wrapper (MyExternalModule / TopModule) and the generated instantiation that test already checks.

Backwards-compatibility

No code change.

Documentation

This PR is the documentation update (doc/user_guide/_docs/A17-external-modules.md).

Add a wrapper example, generated instantiation, and notes on
definitionName, parameters, and ports. Relates to intel#568.
@mkorbel1

mkorbel1 commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Will review as soon as I have a moment.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

The example fails for inputs whose width differs from the wrapper’s hard-coded default.

1 open finding
What changed in this PR

Adds an ExternalSystemVerilogModule example to the user guide.

Changes:

  • Documents an external SystemVerilog module and Dart wrapper.
  • Shows generated SystemVerilog and integration notes.
File Description
doc/​user_guide/​_docs/​A17-external-modules.md Adds the external-module example and guidance.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

class TopModule extends Module {
TopModule(Logic a) {
a = addInput('a', a, width: a.width);
MyExternalModule(a);

This branch has not been deployed

No deployments
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.

Add an example of ExternalSystemVerilogModule to the user guide

3 participants