-
Notifications
You must be signed in to change notification settings - Fork 685
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
PR for adding Questa support for CVA6 #2532
base: master
Are you sure you want to change the base?
Conversation
❌ failed run, report available here. |
Hi @kasunb-accelr, thanks for this PR. Adding support for Questa would be a significant addition. Some of your suggested updates are significant, and we will need several people to review these. Before doing that, I would like to understand why this PR changes some of the submodules - why is this necessary? Also, GitHub is reporting that |
Hi @MikeOpenHWGroup, There is a small change in the core-v-verif submodule only. |
Could you propose a clean pull request without commits adding/removing debugging statements and white spaces? |
Great. Can you rebase your PR? |
661fd41
to
4210fc2
Compare
yes. I have rebased it. @JeanRochCoulon @ASintzoff |
Thanks @kasunb-accelr but the submodules do not seem updated: core-v-verif, hpdcache and ridcv-compliance. As you can read on this page, the PR is "out-of-date" |
4210fc2
to
022ba87
Compare
Hi guys @ASintzoff @JeanRochCoulon, I have submitted again can you guys recheck it? Thank you |
The cva6 configuration called cv32a60x is deprecated. Please do not use it. Configurations called cv32a65x or imac_sv32 or imafc_sv32 are preferred. |
✔️ successful run, report available here. |
3cfc4d0
to
c6f5782
Compare
✔️ successful run, report available here. |
c6f5782
to
9e480c2
Compare
✔️ successful run, report available here. |
1 similar comment
✔️ successful run, report available here. |
hello @AnouarZajni could you take a look at this PR as there are some modifications in the UVM testbench? |
@kasunb-accelr This new questa-uvm is very promising. To maintain it over time, a CI job should be defined to use it. What do you think about adding in .gitlab-ci.yml the target in smoke job. In that way, the questa-uvm will be included in Thales CI, and all regression would be triggered. |
9e480c2
to
cd30bc5
Compare
✔️ successful run, report available here. |
cd30bc5
to
7696ec8
Compare
@JeanRochCoulon, I appreciate your feedback. I added "questa-uvm" to the .gitlab-ci.yml. I do not know if it is correct or not because I am new to this CI. |
❌ failed run, report available here. |
assign rvfi_csr_``csr_name``_if[i].rvfi_csr_rdata = rvfi_if.rvfi_csr_o.``csr_name``.rdata; \ | ||
assign rvfi_csr_``csr_name``_if[i].rvfi_csr_wdata = rvfi_if.rvfi_csr_o.``csr_name``.wdata; \ | ||
for (genvar i = 0; i < RVFI_NRET; i++) begin : rvfi_csr_if_blk_``csr_name``\ | ||
uvma_rvfi_csr_if#(uvme_cva6_pkg::XLEN) rvfi_csr_``csr_name``_if (\ |
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.
Hi,
Seems that interface name/generate block name is missing suffix "i" to be able to set it individually in config dB
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.
Hi @AnouarZajni,
Thank you for your feedback. I think block names can be accessed using "i" automatically. Like following examples
for (genvar i = 0; i < RVFI_NRET; i++) begin : rvfi_csr_if
uvma_rvfi_csr_if#(uvme_cva6_pkg::XLEN) rvfi_csr_if_inst (
.clk (clknrst_if.clk),
.reset_n (clknrst_if.reset_n),
.rvfi_csr_rmask (rvfi_if.rvfi_o[i].mem_rmask),
.rvfi_csr_wmask (rvfi_if.rvfi_o[i].mem_wmask),
.rvfi_csr_rdata (rvfi_if.rvfi_o[i].mem_rdata),
.rvfi_csr_wdata (rvfi_if.rvfi_o[i].mem_wdata)
);
end
for (int j = 3; j < 32; j++) begin
uvm_config_db#(virtual uvma_rvfi_csr_if )::set(null,"*", $sformatf("csr_mhpmevent%0d_vif%0d", j, i), rvfi_csr_if[i].rvfi_csr_if_inst);
end
Please let me know is it correct or not. or how to fix that issue?
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.
Exact, but depending on the simulator the generate block will have different names. It's better to give an explicit name in generate block to be reused in uvm_config_db::set
The CI is failed, you can access the fail logs under https://riscv-ci.pages.thales-invia.fr/dashboard/ |
This PR contains the necessary updates to run Questasim (version: 2023.2) for CVA6.