pulp-platform / axi

AXI SystemVerilog synthesizable IP modules and verification infrastructure for high-performance on-chip communication
Other
1.1k stars 267 forks source link

Simulation Error #134

Closed CaseyZhu closed 3 years ago

CaseyZhu commented 3 years ago

What simulation tool to use ? I use VCS there are some compile error: Error-[UARC] Unsupported argument to randomize call /nfs54/project/spiderman/zhuzhiqi/git/axi_pulp/axi/src/axi_test.sv, 1107 "w_beat" Arg #1 of std::randomize "w_beat" is not integral or enum or array of integral or enums .......

andreaskurth commented 3 years ago

Thanks for your question, @CaseyZhu. While we are not opinionated about supporting or not supporting specific tools (in this case simulators), it is unfortunately a sad reality that the implementation of the SystemVerilog standard (IEEE Std 1800) largely varies in quality and scope even among industry-standard tools in current versions. Our regression tests currently run against QuestaSim 10.7b and Synopsys DC 2019.12.

We currently do not use VCS regularly internally, so we need help from the community to port our code to VCS. If you are an experienced VCS user and would like to increase the portability of our code, please submit patches!

As for the technical problem reported by VCS, I think std::randomize(w_beat) should be w_beat.randomize() since w_beat is a class variable instead of a non-class variable. I will check if we can change this.