package net.mograsim.logic.model.am2900.machine.registers;
-import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
import net.mograsim.machine.registers.HighLevelStateBasedRegister;
public class InstrRegister extends HighLevelStateBasedRegister implements Am2900Register
package net.mograsim.logic.model.am2900.machine.registers;
-import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
import net.mograsim.machine.registers.HighLevelStateBasedRegister;
public class PCRegister extends HighLevelStateBasedRegister implements Am2900Register
package net.mograsim.logic.model.am2900.machine.registers;
-import net.mograsim.logic.model.am2900.machine.registers.Am2900Register;
import net.mograsim.machine.registers.HighLevelStateBasedRegister;
public class muInstrRegister extends HighLevelStateBasedRegister implements Am2900Register
import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
import net.haspamelodica.swt.helper.zoomablecanvas.ZoomableCanvas.ZoomedRenderer;
import net.mograsim.logic.model.editor.Editor;
-import net.mograsim.logic.model.editor.handles.PinHandle;
import net.mograsim.logic.model.editor.handles.Handle.HandleClickInfo;
+import net.mograsim.logic.model.editor.handles.PinHandle;
public class CreateWireState extends EditorState
{
import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
import net.mograsim.logic.model.editor.Editor;
-import net.mograsim.logic.model.editor.handles.InterfacePinHandle;
import net.mograsim.logic.model.editor.handles.Handle.HandleClickInfo;
+import net.mograsim.logic.model.editor.handles.InterfacePinHandle;
public abstract class EditorState
{
import net.mograsim.logic.model.editor.Editor;
import net.mograsim.logic.model.editor.Selection;
import net.mograsim.logic.model.editor.handles.Handle;
+import net.mograsim.logic.model.editor.handles.Handle.HandleClickInfo;
import net.mograsim.logic.model.editor.handles.PinHandle;
import net.mograsim.logic.model.editor.handles.WireHandle;
-import net.mograsim.logic.model.editor.handles.Handle.HandleClickInfo;
import net.mograsim.logic.model.editor.handles.WireHandle.WireHandleClickInfo;
import net.mograsim.logic.model.editor.ui.DialogManager;
import net.mograsim.logic.model.model.wires.MovablePin;
import java.util.function.Consumer;
import net.haspamelodica.swt.helper.swtobjectwrappers.Point;
+import net.mograsim.logic.model.model.LogicModel;
import net.mograsim.logic.model.model.LogicModelModifiable;
import net.mograsim.logic.model.model.components.ModelComponent;
import net.mograsim.logic.model.model.components.submodels.SubmodelComponent;
import net.mograsim.logic.model.model.components.submodels.SubmodelInterface;
import net.mograsim.logic.model.model.wires.ModelWire;
-import net.mograsim.logic.model.model.wires.Pin;
import net.mograsim.logic.model.model.wires.ModelWireCrossPoint;
+import net.mograsim.logic.model.model.wires.Pin;
import net.mograsim.logic.model.modeladapter.componentadapters.ComponentAdapter;
public class LogicCoreAdapter
import net.mograsim.logic.model.model.LogicModelModifiable;
import net.mograsim.logic.model.model.components.ModelComponent;
import net.mograsim.logic.model.model.wires.ModelWire;
-import net.mograsim.logic.model.model.wires.Pin;
import net.mograsim.logic.model.model.wires.ModelWireCrossPoint;
+import net.mograsim.logic.model.model.wires.Pin;
public class ModellingTool
{
package net.mograsim.logic.core.types;
-import static net.mograsim.logic.core.types.BitVector.*;
-import static net.mograsim.logic.core.types.Bit.*;
-import static org.junit.jupiter.api.Assertions.*;
+import static net.mograsim.logic.core.types.Bit.ONE;
+import static net.mograsim.logic.core.types.Bit.U;
+import static net.mograsim.logic.core.types.Bit.X;
+import static net.mograsim.logic.core.types.Bit.Z;
+import static net.mograsim.logic.core.types.Bit.ZERO;
+import static net.mograsim.logic.core.types.BitVector.SINGLE_0;
+import static net.mograsim.logic.core.types.BitVector.SINGLE_1;
+import static net.mograsim.logic.core.types.BitVector.SINGLE_U;
+import static net.mograsim.logic.core.types.BitVector.SINGLE_X;
+import static net.mograsim.logic.core.types.BitVector.SINGLE_Z;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
import java.math.BigInteger;
import java.util.Iterator;
package net.mograsim.logic.model.am2900.am2901;
-import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Dest.*;
-import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Func.*;
-import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Src.*;
-import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Register.*;
-import static net.mograsim.logic.model.am2900.util.TestUtil.*;
-import static org.junit.jupiter.api.Assertions.*;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Dest.NOP;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Dest.QREG;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Dest.RAMF;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Func.ADD;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Func.AND;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Func.EXOR;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Func.OR;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Func.SUBR;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Src.AB;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Src.DA;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Am2901_Src.DZ;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Register.Q;
+import static net.mograsim.logic.model.am2900.am2901.TestableAm2901.Register.r0;
+import static net.mograsim.logic.model.am2900.util.TestUtil.signed4ToSigned32;
+import static net.mograsim.logic.model.am2900.util.TestUtil.to1bitBin;
+import static net.mograsim.logic.model.am2900.util.TestUtil.to4bitBin;
+import static org.junit.jupiter.api.Assertions.assertAll;
+import static org.junit.jupiter.api.Assertions.assertEquals;
import java.awt.Point;
import java.util.stream.IntStream;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
-import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
+import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.extension.RegisterExtension;
import net.mograsim.logic.model.model.components.atomic.ModelManualSwitch;
import net.mograsim.logic.model.model.components.atomic.ModelNotGate;
import net.mograsim.logic.model.model.components.atomic.ModelTextComponent;
+import net.mograsim.logic.model.model.wires.ModelWireCrossPoint;
import net.mograsim.logic.model.model.wires.Pin;
import net.mograsim.logic.model.model.wires.PinUsage;
-import net.mograsim.logic.model.model.wires.ModelWireCrossPoint;
import net.mograsim.logic.model.serializing.IndirectModelComponentCreator;
import net.mograsim.logic.model.util.ModellingTool;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.extension.RegisterExtension;
-import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
package net.mograsim.logic.model.am2900.am2910;
-import static net.mograsim.logic.model.am2900.am2910.TestableAm2910.Am2910_Inst.*;
-import static net.mograsim.logic.core.types.Bit.*;
+import static net.mograsim.logic.core.types.Bit.U;
+import static net.mograsim.logic.model.am2900.am2910.TestableAm2910.Am2910_Inst.JZ;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.extension.RegisterExtension;
-import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
import net.mograsim.logic.model.model.LogicModelModifiable;
import net.mograsim.logic.model.model.components.atomic.ModelBitDisplay;
import net.mograsim.logic.model.model.components.atomic.ModelManualSwitch;
-import net.mograsim.logic.model.model.wires.Pin;
import net.mograsim.logic.model.model.wires.ModelWireCrossPoint;
+import net.mograsim.logic.model.model.wires.Pin;
import net.mograsim.logic.model.util.ModellingTool;
public class SwitchWithDisplay