+ MicroInstructionDefinition muiDef = getDefinition().getMicroInstructionMemoryDefinition().getMicroInstructionDefinition();
+ ParameterClassification[] paramClassifications = muiDef.getParameterClassifications();
+ MicroInstructionParameter[] defaultParams = muiDef.createDefaultInstruction().getParameters();
+ defaultParams[19] = paramClassifications[19].parse("JZ");
+ MicroInstruction jzMI = MicroInstruction.create(defaultParams);
+ 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()));
+ }