Bit-Vector Register File Readback Issue in Resource Explorer

I’ve created a bit-vector register file. If I set the value to 0, it reads back as DEADFACE in hexadecimal format. What does this mean? If I use Decimal or Unsigned format and set it to 0, it reads back as 3735943886! This is the hex value for DEADFACE, but the register is only 8 bits! Is this weird readback a bug in the Resource Explorer?

The behavior you’re observing is related to how bit-vector register files are implemented in the FPGA. In order to optimize resource usage, register files in this context are typically designed to be either write-only or read-only. This means that when you create a write-only register file, the values you write to it are not stored in a way that allows them to be read back by tools like Resource Explorer or SciSDK.

In your case, the register file is likely write-only, and as such, any attempts to read back from it will return a default value, such as DEADFACE (hexadecimal) or 3735943886 (decimal), regardless of what you write. This is not a bug but a limitation of how write-only registers are implemented in the FPGA.

To avoid this issue, consider using an integer register file, as you noted, which allows proper read/write functionality. Alternatively, if you need to maintain a bit-vector register file, you’ll need to account for the fact that these registers cannot be read back.

This behavior is expected for write-only registers and not an issue with the tools themselves.