DRAM block has a parameter called Access_Time. The default value for this is "Read 5.0, Prefetch 6.0, Write 7.0, ReadWrite 8.0, Erase 9.0" which is a string.
value for Read, Prefetch, Write, ReadWrite and Erase are important when DRAM is performing any of these operations. Missing any of these or invalid name causes the following error.
"VisualSim.kernel.util.IllegalActionException: DRAM A_Command not available in the Access_Time Table: Read
Access_Time Table: Erase 9
RecordToken: {A_Addr_Ctrl_Flag = true,
A_Address = 0L,
A_Address_Max = 100,
A_Address_Min = 1,
A_Branch = false,
A_Bytes = 64,
A_Bytes_Remaining = 60,
A_Bytes_Sent = 4,
A_Command = "Read",
A_Data = "MyData",
A_Destination = "Generator",
A_First_Word = true,
A_Hop = "Port_2",
A_IDX = 0,
A_IDY = 0,
A_Instruction = {"ADD", "ADD"}
,
A_Instruction_Reorder = {1}
,
A_Interrupt = false,
A_Prefetch = false,
A_Priority = 0,
A_Proc_Return = -1,
A_Protocol_State = "MyState",
A_Return = -1,
A_Source = "DRAM_1",
A_Status = "Port_2_",
A_Task_Address = 1,
A_Task_Flag = false,
A_Task_ID = 0L,
A_Task_Name = "Name",
A_Task_Source = "Src",
A_Time = 1.0E-8,
A_Variables = 16,
BLOCK = "Traffic",
DELTA = 0.0,
DS_NAME = "Processor_DS",
ID = 1,
INDEX = 0,
TIME = 1.0E-8}
in .RAM_Invalid_Access_Time.DRAM
at VisualSim.actor.arch.DRAM.dramAccessCycles(Unknown Source)
at VisualSim.actor.arch.DRAM.fire(Unknown Source)
at VisualSim.simulators.de.kernel.DEDirector.fireVisualSim(Unknown Source)
at VisualSim.simulators.de.kernel.DEDirector.fire(Unknown Source)
at VisualSim.actor.CompositeActor.fire(Unknown Source)
at VisualSim.actor.Manager.iterate(Unknown Source)
at VisualSim.actor.Manager.execute(Unknown Source)
at VisualSim.actor.Manager.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
at VisualSim.kernel.util.VisualSimThread.run(Unknown Source) "
Solution: Make sure to use the correct access time parameter, make sure all the operations are listed.