+
+ public Bit[] wireValuesExcludingMe()
+ {
+ Bit[] bits = Bit.Z.makeArray(length);
+ for (WireArrayInput wai : inputs)
+ {
+ if(wai == this)
+ continue;
+ Util.combineInto(bits, wai.getValues());
+ }
+ return bits;
+ }
+
+ @Override
+ public String toString()
+ {
+ return Arrays.toString(inputValues);
+ }
+ }
+
+ @Override
+ public String toString()
+ {
+ return String.format("wire 0x%08x value: %s inputs: %s", hashCode(), Arrays.toString(values), inputs);
+ }
+
+ public static WireArrayInput[] extractInputs(WireArray[] w)
+ {
+ WireArrayInput[] inputs = new WireArrayInput[w.length];
+ for (int i = 0; i < w.length; i++)
+ inputs[i] = w[i].createInput();
+ return inputs;