Replies: 1 comment
-
I replied in YosysHQ/sby#324 (comment) |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hello everyone,
I've encountered some issues when I use SymbiYosys verifying a memory module. Although I know this is not the SymbiYosys repository, I believe this issue might also be related to how Yosys performs synthesis. Therefore, I'm posting here in hopes of getting some help and insights from the community.
The contents of the SystemVerilog file and the SBY configuration file are as follows:
test_ram.sv:
test_ram.sby
My goal is to verify that two instantiations of the ram_5x16 module produce the same output data given the same inputs. In theory, r_data1 should indeed be equal to r_data2, but in practice, the verification fails.
I examined the waveform from the generated counterexample, and I suspect the issue may be as follows: The memory we defined only has 5 entries. However, the address used to access the memory is 3 bits width — meaning it can index up to 8 locations. We only initialized entries 0 through 4, but did not initialize entries 5 through 7. The sby tool likely generated an addr value greater than 4, accessing uninitialized memory locations, which leads to differing outputs between the two RAM instances.
How should I do to prevent the verification failure caused by the verfier's random initialization of out-of-bounds memory addresses?
Beta Was this translation helpful? Give feedback.
All reactions