I have a memory which has a 128x32 interface; 128 addresses with 32 bits of data.
The actual memory in use is 128x39. It is wider than the presented interface so ECC can be applied to the data.
I am attempting to verify correct operation of the ECC encoder, in-place.
Is it possible to use the UVM register layer to backdoor access or otherwise control all of the bit positions in the actual memory at a given address?
+------------------------------------------------------------+
| |
| 128x32 memory wrapper |
| |
| +-----------------+ |
| | | |
| address | 128x39 memory | |
+---------------------------------------+ | |
| | | |
| | | |
| +------------+ | | |
| data-in | | ecc-data-in | | |
+-----------+ ECC +--------------+ | |
| | encoder/ | | | |
| | decoder | | | |
| data-out | | ecc-data-out | | |
+-----------+ +--------------+ | |
| | | | | |
| +------------+ +-----------------+ |
| |
+------------------------------------------------------------+