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)