Fixed a bug in Am2900; created dlatch8/80; relayouted some components
[Mograsim.git] / net.mograsim.machine / src / net / mograsim / machine / MachineDefinition.java
index cfed1ef..02cf375 100644 (file)
@@ -2,7 +2,10 @@ package net.mograsim.machine;
 
 import java.util.Set;
 
-public interface MachineDefinition {
+import net.mograsim.machine.mi.MicroInstructionMemoryDefinition;
+
+public interface MachineDefinition
+{
 
        /**
         * Creates a new instance of the machine
@@ -13,8 +16,7 @@ public interface MachineDefinition {
        Machine createNew();
 
        /**
-        * Returns the schema that all possible ISAs (Instruction Set Architecture) must
-        * be based on.
+        * Returns the schema that all possible ISAs (Instruction Set Architecture) must be based on.
         * 
         * @return an {@link ISASchema} implementation fitting the machine
         * @author Christian Femers
@@ -30,9 +32,8 @@ public interface MachineDefinition {
        Set<Register> getRegisters();
 
        /**
-        * The number of bits used by the machine to address main memory. Note that this
-        * should be the number of bits used in the CPU, not a possibly different one
-        * used by the bus system.
+        * The number of bits used by the machine to address main memory. Note that this should be the number of bits used in the CPU, not a
+        * possibly different one used by the bus system.
         * 
         * @return the number of bits used by the CPU
         * @see MainMemoryDefinition#getMemoryAddressBits()
@@ -47,4 +48,12 @@ public interface MachineDefinition {
         * @author Christian Femers
         */
        MainMemoryDefinition getMainMemoryDefinition();
+
+       /**
+        * Returns the definition of the machines instruction memory.
+        * 
+        * @return the {@link InstructionMemoryDefinition} that defines the instruction memory.
+        */
+       MicroInstructionMemoryDefinition getMicroInstructionMemoryDefinition();
+
 }