At time 10 in compare view, the input is 7777 with load 1 and address 7; the output is supposed to be 7 but mine is 0. The register at 7 value address is giving a proper value of 7777 but it is not showing in the main output. I am pretty sure that the Mux8Way16 I used is not based on any clock and is updating as soon as it gets the values. It worked correctly at time 4+ so that's why I suppose the Mux8Way16 output should be correct. I tried hard but just couldn't understand it or find anything on it here in forums. I suppose I have implemented the logic correctly by giving the load as input to DMux8Way and then to respective registers and then to Mux8Way16. Please give me some solution for this one as I am just stuck here.