Xpress wrote
Hi. Wanna do RAM512, such as RUM8, but compiler shows me "address(3) and address(6) have different bus width".
Error line: DMux8Way(in = load, sel = address[6..8], a = r0, b = r1, c = r2, d = r3, e = r4, f = r5, g = r6, h = r7);
Why do he read address[6..8] such as 6 bit array? Where is my mistake?
The DMux8Way looks OK. Ther error message you have appears to say that the line that's failing has an "address=address" connection where one or both sides may have a []. For instance if RAM8 in the above quote isn't a typo, RAM8(address=address[0..5], ... would cause the error message you posted.
You need to make RAM64 out of 8 RAM8 and then make RAM512 out of 8 RAM64.
--Mark