+ am2900.setHighLevelState("muir_2.q", jzMI.toBitVector());
+ Bit regsValue = machineDefinition.strict ? Bit.U : Bit.ZERO;
+ setRegistersTo(machineDefinition.getUnsortedRegisters(), regsValue);
+ setRegisterGroupTo(machineDefinition.getRegisterGroups(), regsValue);
+ // TODO reset latches?
+ }
+
+ private void setRegistersTo(List<Register> registers, Bit value)
+ {
+ for (Register r : registers)
+ if (r != muInstrRegister.instance)// don't reset; sometimes causes a glitch
+ setRegister(r, BitVector.of(value, r.getWidth()));
+ }
+
+ private void setRegisterGroupTo(List<RegisterGroup> registerGroups, Bit value)
+ {
+ for (RegisterGroup rg : registerGroups)
+ {
+ setRegistersTo(rg.getRegisters(), value);
+ setRegisterGroupTo(rg.getSubGroups(), value);
+ }