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
Bluesim leaves junk in loaded registers if the full range of hex digits isn't specified #650
Comments
The values should be zero-extended; if Bluesim is not doing that, that's a bug. Your example is showing a bug specifically for reading in "wide" data (width > 64), but it would be worth checking the behavior for all the types that Bluesim supports: The code for reading in a memhex file is in I would guess that, at line 649 in
|
FYI, some testing of RegFile load for Bluesim happens in |
FWIW, I believe it already does complain if you provide too many digits. |
When using RegFileLoad Bluesim appears to only initialize the digits of the data value that are explicitly specified in the file, rather than zero-extending the specified number to the full data word. So if you have an 80-bit value you want to load you have to specify all 20 hex digits even if some of the high digits are zero.
Icarus Verilog, on the other hand, interprets the value as a number and zero-extends so the attached test passes with it, while it fails with Bluesim.
regfile_load_bug.zip
The text was updated successfully, but these errors were encountered: