I have created an Arithmetic Logic Unit (ALU) that supports addition, subtraction, multiplication, division, and modulus operations. The ALU comprises registers such as regA, regB, regC, operation_type, and sfr. The registers regA, regB, and operation_type are designated as write-only, while regC and sfr are marked as read-only. Specifically, regA represents operand 1, regB represents operand 2, and operation_type determines the operation to be executed. The result of the operation is stored in regC, and the sfr register contains flags indicating carry, overflow, sign, and zero.
Despite my attempts to write values into regA through a backdoor, I have encountered difficulties. The issue persists even when using VNC, as no error messages are displayed. I have experimented with different approaches to address the problem, but none have been successful. It’s worth noting that this ALU design and the associated verification environment are custom-made for the purpose of studying RAL (Register Abstraction Layer) models.
If anyone can provide assistance or guidance on resolving this issue, it would be greatly appreciated.
[code link]
(alu - EDA Playground)