new Event(new Object[] { instruction,
PACKET_TOKEN.verilogVal("instruction"),
ififo_out,
- token_out,
- I.verilog("ondeck"),
- },
+ I.verilog("ondeck") },
new Action[] { instruction,
ififo_out,
new AssignAction(loop_counter, "0"),
new AssignAction(repeat_counter, "1"),
- isHatchOpen.doFill(),
- });
+ isHatchOpen.doFill() });
// Non-Torpedo Arrival
- new Event(new Object[] { instruction,
- efifo_in,
- "!("+PACKET_TOKEN.verilogVal("instruction")+")"
- },
- new Action[] {
- efifo_in,
- });
+ new Event(new Object[] { instruction, efifo_in, "!("+PACKET_TOKEN.verilogVal("instruction")+")" },
+ new Action[] { efifo_in });
new Event(new Object[] { efifo_in.getName()+"_a" },
new Action[] { new SimpleAction(instruction.getName()+"_a <= 1;") });
// Tail
- new Event(new Object[] { efifo_out, TAIL.verilog(efifo_out.getName()) },
- new Action[] { efifo_out, isHatchOpen.doDrain() } );
+ new Event(new Object[] { efifo_out, ififo_in, isHatchOpen.isFull(), TAIL.verilog(efifo_out.getName()) },
+ new Action[] { efifo_out, isHatchOpen.doDrain() } );
// Enqueue
- new Event(new Object[] { efifo_out,
- ififo_in,
- "!("+TAIL.verilog(efifo_out.getName())+")",
- isHatchOpen.isFull() },
- new Action[] { efifo_out,
- ififo_in,
- }
- );
+ new Event(new Object[] { efifo_out, ififo_in, isHatchOpen.isFull(), "!("+TAIL.verilog(efifo_out.getName())+")" },
+ new Action[] { efifo_out, ififo_in } );
// Execute
new Event(new Object[] { ififo_out, ififo_in, proceed.isFull() },
"("+
"!`instruction_is_normal(i) || repeat_counter!=0"+
") && ("+
+ "("+
+ P_ALWAYS.verilog("i")+
+ ") || ("+
P_OLC_ZERO.verilog("i")+"==(loop_counter==0)"+
+ ")"+
") && ("+
" " + P_A.verilog("i")+" ? flag_a"+
":" + P_B.verilog("i")+" ? flag_b"+