In order for a processor block to work, the incoming data structure must have the field A_Instruction. A_Instruction must be an array. E.g. format A_Instruction = {"ADD","SUB","MUL","DIV"} etc.
If the format is not like the above, then the following error will be generated.
"VisualSim.kernel.util.IllegalActionException: Problem finding A_Instruction Array, Processor only supports Arrays.
Instruction Found:
{A_Addr_Ctrl_Flag = true, A_Address = 0L, A_Address_Max = 100,
A_Address_Min = 1, A_Branch = false, A_Bytes = 8,
A_Bytes_Remaining = 4, A_Bytes_Sent = 4, A_Command = "Read",
A_Data = "MyData", A_Destination = "Processor_1", A_First_Word = true,
A_Hop = "Processor_1", A_IDX = 0, A_IDY = 0,
A_Instruction = "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 = "Src",
A_Status = "Status", A_Task_Address = 1, A_Task_Flag = false,
A_Task_ID = 1L, A_Task_Name = "Name", A_Task_Source = "Src",
A_Time = 0.0, A_Variables = 46, BLOCK = "Traffic",
DELTA = 1.0E-5, DS_NAME = "Processor_DS", ID = 1, I
NDEX = 0, TIME = 1.0E-5}
in .Processor_Invalid_Instruction_Format.Processor
at VisualSim.actor.arch.Processor.firePipeline(Unknown Source)
at VisualSim.actor.arch.Processor.processorPorts(Unknown Source)
at VisualSim.actor.arch.Processor.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 the instruction array is in the proper format, viz. '{' '}'