com.newisys.dv
Class DVApplication

java.lang.Object
  extended by com.newisys.verilog.VerilogApplication
      extended by com.newisys.dv.DVApplication
All Implemented Interfaces:
Runnable

public abstract class DVApplication
extends com.newisys.verilog.VerilogApplication
implements Runnable

The base class from which all Jove applications are derived. Derived classes will override the Runnable.run() method.


Constructor Summary
DVApplication(DVSimulation dvSim)
          Creates a new DVApplication.
 
Method Summary
 void callJavaTask(String name, com.newisys.verilog.VerilogReg doneReg, com.newisys.verilog.VerilogObject[] argVars)
          Executes a registered Java task.
 void finish()
          Terminates all threads and ends this DVApplication.
 void registerObject(String name, com.newisys.verilog.VerilogObject obj)
          Registers a Verilog object with this DVApplication.
 void registerSignal(String name, com.newisys.verilog.VerilogObject sampleObj, com.newisys.verilog.VerilogObject driveObj)
          Registers a signal with this DVApplication.
 void registerVerilogTask(String name, com.newisys.verilog.VerilogReg startReg, com.newisys.verilog.VerilogReg doneReg, com.newisys.verilog.VerilogObject[] argVars)
          Registers a verilog task with this DVApplication.
 void start()
          Starts execution of this DVApplication.
 
Methods inherited from class com.newisys.verilog.VerilogApplication
getVerilogSim
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.lang.Runnable
run
 

Constructor Detail

DVApplication

public DVApplication(DVSimulation dvSim)
Creates a new DVApplication.

Parameters:
dvSim - the DVSimulation that will be associated with this DVApplication
Method Detail

registerObject

public void registerObject(String name,
                           com.newisys.verilog.VerilogObject obj)
Registers a Verilog object with this DVApplication.

Specified by:
registerObject in class com.newisys.verilog.VerilogApplication
Parameters:
name - the name of the object
obj - the Verilog object to register

registerSignal

public void registerSignal(String name,
                           com.newisys.verilog.VerilogObject sampleObj,
                           com.newisys.verilog.VerilogObject driveObj)
Registers a signal with this DVApplication.

Specified by:
registerSignal in class com.newisys.verilog.VerilogApplication
Parameters:
name - the name of the signal
sampleObj - the Verilog object to be used when sampling the signal
driveObj - the Verilog object to be used when driving the signal

registerVerilogTask

public void registerVerilogTask(String name,
                                com.newisys.verilog.VerilogReg startReg,
                                com.newisys.verilog.VerilogReg doneReg,
                                com.newisys.verilog.VerilogObject[] argVars)
Registers a verilog task with this DVApplication.

Specified by:
registerVerilogTask in class com.newisys.verilog.VerilogApplication
Parameters:
name - the name of the task
startReg - the Verilog register that is written when the task has started
doneReg - the Verilog register that is written when the task has completed
argVars - an array of VerilogObjects used to hold arguments to the task

callJavaTask

public void callJavaTask(String name,
                         com.newisys.verilog.VerilogReg doneReg,
                         com.newisys.verilog.VerilogObject[] argVars)
Executes a registered Java task. The given task will be scheduled for execution in a new simulation thread. When the task completes, the given register will be set to 1'b1.

This method must be called from the main/HDL simulator thread.

Specified by:
callJavaTask in class com.newisys.verilog.VerilogApplication
Parameters:
name - the name of the java task
doneReg - the Verilog register that will be written when the java task is complete
argVars - an array of VerilogObjects used to hold arguments to the task

start

public void start()
Starts execution of this DVApplication. This method will fork a new SimulationThread and begin executing the Runnable.run() method of the derived class.

Specified by:
start in class com.newisys.verilog.VerilogApplication

finish

public void finish()
Terminates all threads and ends this DVApplication.

Specified by:
finish in class com.newisys.verilog.VerilogApplication