dave wrote
As I am working on this same 32-bit register problem, I tried another solution, namely to build it out of 32 single bits, namely:
...
Bit(in=in[16], out=out[16], load=load); // <== this is the line that causes the problem
...
Does that mean that I can never use indices larger than 15 in my hdl??? Someone, please help me find a way around this 8^) Thank you!!!
From the PinInfo class source code:
/**
* Constructs a new empty PinInfo.
*/
public PinInfo() {
initialized = new boolean[16];
}
It looks like the simulator does not support buses wider than 16 bits.
I think you will need to split your 32-bit buses:
CHIP Register32 {
IN inH[16], inL[16], load;
OUT outH[16], outL[16];
PARTS:
Register(in=inH, out=outH, load=load);
Register(in=inL, out=outL, load=load);
}
Ugly, but workable.
--Mark