-
Notifications
You must be signed in to change notification settings - Fork 53
Add xcelium support #219
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
base: master
Are you sure you want to change the base?
Add xcelium support #219
Conversation
ddfedde to
97b4aa0
Compare
Signed-off-by: Daniel Keller <[email protected]>
97b4aa0 to
5d19a8a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for the Xcelium simulator to the bende tool. The main purpose is to enable script generation for Xcelium by sanitizing library names to be compatible with xrun requirements.
- Added Xcelium as a new format option for script generation
- Implemented library name sanitization by replacing hyphens with underscores in makelib blocks
- Added support for user-provided include directories via the
--incdircommand line argument
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| src/script_fmt/xcelium_f.tera | New template file for generating Xcelium-compatible script files with sanitized library names |
| src/cmd/script.rs | Added Xcelium format support, include directory argument handling, and per-library template context |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
@micprog I am jumping in just to mention that I worked as a beta tester for this and seems to be working pretty well. I am currently testing it also in Cheshire. |
micprog
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR seems to add multiple things:
- New arg for custom global include directory
- xcelium script format
- new additional structure for passing grouped file information to template
Some things I am noticing:
- The custom incdir is only applied to the all_incdir directive. For existing script formats, this means that it only applies when using a single compile context scripts, not when compiling individual groups. My expectation would be that an additional incdir is applied globally. Please add the custom incdir to the individual file groups for the existing format.
- The new info you are adding to the template struct looks very repetitive to me, as it is almost the same as what is already available with the
srcskey in the template. What looks to be missing is thenamekey. Is there other information I am missing that would prevent you from re-using this existing structure? I see that the code implementation could benefit from some clean-up, but is there a fundamental reason to use a different structure? - If I am not mistaken, the xcelium script format applies incdirs and defines multiple times, once applying all globally and then again individually for the libs. Is this intended?
This PR adds support for the Xcelium simulator to Bender.