Skip to content

AMD VIP agent abstractization #171

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

IstvanZsSzekely
Copy link
Collaborator

@IstvanZsSzekely IstvanZsSzekely commented Feb 13, 2025

PR Description

VIP agents AMD are parameterized are all parameterized agents and they don't have an abstract parent class. This forces us to use Environments which are also parameterized, so the AMD agents can be instantiated inside the environment.
The ADI VIP classes encapsulate the AMD VIPs, which allows us to create VIP agents in a cleaner way, including our own sequencers and monitors, but these are also parameterized. Our VIP classes have an abstract parent class, which means polymorphism works on them.
This PR adds a workaround for this issue to have an abstract, polymorphic environment, that can use VIPs in multiple modes without the need of redefining the entire environment multiple times with different modes. This polymorphic attribute is set at environment creation, which gives a seamless plug-and-play feature when multiple environments need to be connected for a more comprehensive system level testbenches.
To be reviewed after #165

PR Type

  • Bug fix (change that fixes an issue)
  • New feature (change that adds new functionality)
  • New test (change that adds new test program and/or testbench)
  • Breaking change (has dependencies in other repositories/testbenches)
  • Documentation (change that adds or modifies documentation)

PR Checklist

  • I have followed the code style guidelines
  • I have performed a self-review of changes
  • I have ran all testbenches affected by this PR
  • I have commented my code, at least hard-to-understand parts
  • I have signed off all commits from this PR
  • I have updated the documentation (wiki pages, ReadMe files, Copyright etc)
  • I have not introduced new Warnings/Errors on compilation/elaboration/simulation
  • I have set the verbosity level to none for the test program

@IstvanZsSzekely IstvanZsSzekely added the enhancement New feature or request label Feb 13, 2025
@IstvanZsSzekely IstvanZsSzekely self-assigned this Feb 13, 2025
@IstvanZsSzekely IstvanZsSzekely mentioned this pull request Feb 20, 2025
13 tasks
@IstvanZsSzekely IstvanZsSzekely force-pushed the amd_agent_param_base branch 2 times, most recently from ce8c693 to 1824259 Compare March 14, 2025 09:56
@IstvanZsSzekely
Copy link
Collaborator Author

Ran a CI build on the branch, fixed issues that are related to these changes.

@IstvanZsSzekely IstvanZsSzekely requested a review from a team as a code owner March 17, 2025 12:54
@gastmaier gastmaier self-requested a review March 20, 2025 10:45
@IstvanZsSzekely IstvanZsSzekely force-pushed the amd_agent_param_base branch 3 times, most recently from 70ec494 to dd73d64 Compare April 15, 2025 07:30
@IstvanZsSzekely
Copy link
Collaborator Author

Re-ran the CI build on the branch, everything works the same way it currently does on main.

Signed-off-by: Istvan-Zsolt Szekely <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant