Skip to content
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

Vivado simulation crashes due to Verilog arrays defined in LSB format in cv32e40x_alignment_buffer.sv #808

Closed
Srrbli-23 opened this issue Mar 18, 2023 · 1 comment
Labels
Component:RTL For issues in the RTL (e.g. for files in the rtl directory) Type:Task For any task except bug fixes

Comments

@Srrbli-23
Copy link

Vivado simulation crashes due to Verilog arrays defined in LSB format in cv32e40x_alignment_buffer.sv

Component

Component:RTL
rtl/cv32e40x_alignment_buffer.sv

Steps to Reproduce

Git hash: v0.8.0 b22444c7f517964313286af485e4a4ddb62467cc https://github.com/openhwgroup/cv32e40x/commit/b22444c7f517964313286af485e4a4ddb62467cc

Hello,

As a beginner testing the cv32e40x project on Xilinx's FPGA, I found that the project includes the file cv32e40x_alignment_buffer.sv, which contains two arrays defined in LSB format. These arrays cause Vivado to crash during simulation.

  inst_resp_t [0:ALBUF_DEPTH-1]  resp_q;
  logic [0:ALBUF_DEPTH-1]        valid_n,   valid_int,   valid_q;

When running the simulation in Vivado, the following error message will be prompted, and the simulation will crash:

FATAL_ERROR: Vivado Simulator kernel has discovered an exceptional condition from which it cannot recover. Process will terminate. For technical support on this issue, please open a WebCase with this project attached at http://www.xilinx.com/support.
Time: 0 ps  Iteration: 0  Process: /path/to/u0/if_stage_i/prefetch_unit_i/alignment_buffer_i/NetRegassign166_292
  File: /path/to/cv32e40x_alignment_buffer.sv

reproduce

To resolve this issue, it is recommended that the arrays be defined in MSB format, for example:

  inst_resp_t [ALBUF_DEPTH-1:0]  resp_q; 
  logic [ALBUF_DEPTH-1:0]        valid_n,   valid_int,   valid_q;

fix

I believe this may be a Vivado simulation software issue. However, updating the arrays to be defined in MSB format can facilitate debugging on an FPGA.

Thanks!
Srrb

@Silabs-ArjanB Silabs-ArjanB added Component:RTL For issues in the RTL (e.g. for files in the rtl directory) Type:Task For any task except bug fixes labels Mar 20, 2023
silabs-oysteink added a commit to silabs-oysteink/cv32e40x that referenced this issue May 30, 2023
Changed two LSB format vectors to MSB format in alignment buffer.

Signed-off-by: Oystein Knauserud <[email protected]>
@Silabs-ArjanB
Copy link
Contributor

Vivado issue should be worked around with #864

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component:RTL For issues in the RTL (e.g. for files in the rtl directory) Type:Task For any task except bug fixes
Projects
None yet
Development

No branches or pull requests

2 participants