I am getting a comparison error when I run the test script for my Ram8 implementation. I really don't see what I am doing wrong. My basic logic is as follows (also, spoiler I suppose).
I have a DMux8Way that selects on address with an input of load, and possible outs corresponding to the loads of N registers.
I have a Mux8Way16 that selects based on the address, with inputs pinned to the outputs of a corresponding number of registers.
And obviously between the two I have N registers.
I really can't figure out where the error is. I also noticed that when this script runs the Java console running in the background outputs some errors, which hasn't been normal so far from a comparison failure.
Everything you said sounds good.
I'd check the following, sorry if it's obvious stuff.
Is the 'in' of the Ram8 going to the 'in' of each of the registers
Is the 'out' from the Mux8Way16 going to the 'out' of Ram8
Are the 'outs' of the DMux8Way applied to the registers in the same order as the 'outs' of the registers are
applied to the inputs of the Mux8Way16
Yeah, the in for the chip is going to the in of each register, and the out from the Mux8Way16 is going to the chip out, and the outs of the DMux8Way and Mux8Way16 match up as far pinning the outs and loads in corresponding order.
Out of curiosity I did some googling and found two other peoples HDL for Ram8, pasted them in and they also get the same comparison failure on the same lines. I have a hard time believing that I've done something wrong, and that two other people confident enough to post their HDL online both made the same error as me without knowing/caring. I wonder if maybe I have a bad test script, I dunno. Thanks for your thoughts.