hades.models.rtlib.memory
Class MicroROM

java.lang.Object
  extended byhades.simulator.SimObject
      extended byhades.models.rtlib.memory.GenericMemory
          extended byhades.models.rtlib.memory.MicroROM
All Implemented Interfaces:
java.lang.Cloneable, ContextToolTip, Memory, java.io.Serializable, Simulatable

public class MicroROM
extends GenericMemory

MicroROM - a microcode ROM with some bus- and 16 single outputs.

See Also:
Serialized Form

Field Summary
protected  PortStdLogicVector port_A
           
protected  PortStdLogic1164[] port_D
           
protected  PortStdLogicVector port_E
           
protected  PortStdLogicVector port_F
           
protected  PortStdLogicVector port_G
           
protected  PortStdLogicVector port_H
           
protected  PortStdLogicVector port_X
           
static double t_access
           
static double t_tristate
           
static double t_undefined
           
 
Fields inherited from class hades.models.rtlib.memory.GenericMemory
bit_mask, data, enableAnimationFlag, last_read_addr, last_read_data, last_write_addr, last_write_data, MEF, n_bits, n_words, resourcename, TRISTATED, UNDEFINED, vector_000, vector_111, vector_UUU, vector_XXX, vector_ZZZ
 
Fields inherited from class hades.simulator.SimObject
classloader, console, debug, editor, name, parent, ports, propertySheet, simulator, symbol, versionId, visible
 
Constructor Summary
MicroROM()
          MicroROM constructor
 
Method Summary
 boolean canChangeSize()
           
 void configure()
          create and display a 'ConfigDialog' to set the parameters for a SimObject.
protected  void constructPorts()
           
 void elaborate(java.lang.Object arg)
          elaborate(): On elaboration, the inputs of the MicroROM will be undefined.
 void evaluate(java.lang.Object arg)
          evaluate(): Return the data at address after t_access
 boolean resize(int n_words, int n_bits)
           
(package private)  void schedulePortOutput(Port port, StdLogicVector value, double time)
           
(package private)  void scheduleSingleOutput(Port port, StdLogic1164 value, double time)
           
 void setBitsPerWord(int n_bits)
           
 void setSize(int n_words)
           
 
Methods inherited from class hades.models.rtlib.memory.GenericMemory
addMemoryListener, addMemoryListenerOld, checkInvalidateMemory, constructStandardValues, createMemory, dataAtAddressIsUndefined, dbg, getAddressBusWidth, getAddrOffset, getBitsPerWord, getConfigDialog, getDataArray, getDataAt, getEnableAnimationFlag, getExternalResources, getHexDigitsPerWord, getHexString, getInstructionDecoder, getPropertySheet, getResourcename, getSize, getToolTip, initialize, initializeWithDefaultValues, initializeWithRandomValues, initializeWithX, initializeWithZeroes, isConnected, main, merge, needsExternalResources, notifyReadListeners, notifyReadListenersOld, notifyWriteListeners, notifyWriteListenersOld, parse, parseLabelLine, parseRAM, removeMemoryListener, removeMemoryListenerOld, save, setDataArray, setDataAt, setEnableAnimationFlag, setEnableAnimationFlag, setInstructionDecoder, setResourcename, toString, warning, write
 
Methods inherited from class hades.simulator.SimObject
constructDynamicSymbol, copy, getBindkey, getClassLoader, getDebug, getEditor, getFullName, getName, getParent, getPort, getPorts, getResourceAsStream, getSimulator, getSymbol, getSymbolResourceName, getVersionId, isVisible, keyPressed, message, mousePressed, needsDynamicSymbol, setClassLoader, setConsole, setDebug, setEditor, setName, setParent, setPorts, setSimulator, setSymbol, setVersionId, setVisible, tearDown
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

port_A

protected PortStdLogicVector port_A

port_X

protected PortStdLogicVector port_X

port_E

protected PortStdLogicVector port_E

port_F

protected PortStdLogicVector port_F

port_G

protected PortStdLogicVector port_G

port_H

protected PortStdLogicVector port_H

port_D

protected PortStdLogic1164[] port_D

t_access

public static final double t_access
See Also:
Constant Field Values

t_tristate

public static final double t_tristate
See Also:
Constant Field Values

t_undefined

public static final double t_undefined
See Also:
Constant Field Values
Constructor Detail

MicroROM

public MicroROM()
MicroROM constructor

Method Detail

constructPorts

protected void constructPorts()
Overrides:
constructPorts in class GenericMemory

canChangeSize

public boolean canChangeSize()
Specified by:
canChangeSize in interface Memory
Overrides:
canChangeSize in class GenericMemory

setSize

public void setSize(int n_words)
Specified by:
setSize in interface Memory
Overrides:
setSize in class GenericMemory

setBitsPerWord

public void setBitsPerWord(int n_bits)
Specified by:
setBitsPerWord in interface Memory
Overrides:
setBitsPerWord in class GenericMemory

resize

public boolean resize(int n_words,
                      int n_bits)
Specified by:
resize in interface Memory
Overrides:
resize in class GenericMemory

elaborate

public void elaborate(java.lang.Object arg)
elaborate(): On elaboration, the inputs of the MicroROM will be undefined. Correspondingly, the outputs are, too.

Specified by:
elaborate in interface Simulatable
Overrides:
elaborate in class GenericMemory

evaluate

public void evaluate(java.lang.Object arg)
evaluate(): Return the data at address after t_access

Specified by:
evaluate in interface Simulatable
Overrides:
evaluate in class GenericMemory

scheduleSingleOutput

void scheduleSingleOutput(Port port,
                          StdLogic1164 value,
                          double time)

schedulePortOutput

void schedulePortOutput(Port port,
                        StdLogicVector value,
                        double time)

configure

public void configure()
Description copied from class: SimObject
create and display a 'ConfigDialog' to set the parameters for a SimObject. The default ConfigDialog for the base class (SimObject) itself is empty except for the 'instance name' of the SimObject.

Overrides:
configure in class GenericMemory