MED_DATAREADY_OUT => OPT_DATA_VALID_OUT,--data_valid_in_i,
MED_DATA_OUT => OPT_DATA_OUT,--txd_i,
MED_PACKET_NUM_OUT => open,
- MED_READ_IN => "11",
+ MED_READ_IN => (others => '1'),
MED_DATAREADY_IN => OPT_DATA_VALID_IN,--data_valid_out_i,
MED_DATA_IN => OPT_DATA_IN,--rxd_synch_i,
MED_PACKET_NUM_IN => med_packet_num_in_i,
SE_TR 1 005
SE_TR 1 006
SE_TR 1 007
-SE_TR 1 008\r\r
-SE_TR 1 009\r\r
-SE_TR 1 010\r\r
-SE_TR 1 011\r\r
-SE_TR 1 012\r\r
+SE_TR 1 008\r
+SE_TR 1 009\r
+SE_TR 1 010\r
+SE_TR 1 011\r
+SE_TR 1 012\r
WAIT_
WAIT_
WAIT_
WAIT_
SE_TR 2 005
WAIT_
-SE_TR 2 006\r\r
-SE_TR 2 007\r\r
-SE_TR 1 014\r\r
-SE_TR 2 008\r\r
-WAIT_\r\r
-SE_TR 2 009\r\r
-WAIT_\r\r
-SE_TR 2 010\r\r
-WAIT_\r\r
-SE_TR 2 011\r\r
-WAIT_\r\r
-SE_TR 2 012\r\r
-SE_TR 2 013\r\r
-SE_TR 1 015\r\r
-SE_TR 1 016\r\r
-SE_TR 1 017\r\r
-SE_TR 1 018\r\r
-WAIT_\r\r
-SE_TR 1 019\r\r
-WAIT_\r\r
-SE_TR 1 020\r\r
-SE_TR 1 021\r\r
-SE_TR 1 022\r\r
-SE_TR 1 023\r\r
-SE_TR 1 024\r\r
-SE_TR 1 025\r\r
-SE_TR 1 026\r\r
-SE_TR 1 027\r\r
-SE_TR 1 028\r\r
-SE_TR 2 014\r\r
-WAIT_\r\r
-SE_TR 2 015\r\r
-WAIT_\r\r
-SE_TR 2 016\r\r
-WAIT_\r\r
-SE_TR 2 017\r\r
-WAIT_\r\r
-SE_TR 2 018\r\r
-WAIT_\r\r
-SE_TR 2 019\r\r
-WAIT_\r\r
-WAIT_\r\r
-WAIT_\r\r
-SE_TR 2 020\r\r
-WAIT_\r\r
-WAIT_\r\r
-WAIT_\r\r
-SE_TR 2 021\r\r
-WAIT_\r\r
-SE_TR 2 022\r\r
-WAIT_\r\r
-WAIT_\r\r
-SE_TR 2 023\r\r
-WAIT_\r\r
-SE_TR 2 024\r\r
-WAIT_\r\r
-SE_TR 2 025\r\r
-WAIT_\r\r
-SE_TR 2 026\r\r
-WAIT_\r\r
-SE_TR 2 027\r\r
-WAIT_\r\r
-SE_TR 2 028\r\r
-WAIT_\r\r
-SE_TR 2 029\r\r
-SE_TR 2 030\r\r
-WAIT_\r\r
-SE_TR 2 031\r\r
-WAIT_\r\r
-SE_TR 2 032\r\r
-WAIT_\r\r
-SE_TR 2 033\r\r
-WAIT_\r\r
-SE_TR 2 034\r\r
-WAIT_\r\r
-SE_TR 2 035\r\r
-SE_TR 1 029\r\r
-SE_TR 1 030\r\r
-SE_TR 1 031\r\r
-SE_TR 1 032\r\r
-SE_TR 1 033\r\r
-SE_TR 1 034\r\r
-SE_TR 1 035\r\r
+SE_TR 2 006\r
+SE_TR 2 007\r
+SE_TR 1 014\r
+SE_TR 2 008\r
+WAIT_\r
+SE_TR 2 009\r
+WAIT_\r
+SE_TR 2 010\r
+WAIT_\r
+SE_TR 2 011\r
+WAIT_\r
+SE_TR 2 012\r
+SE_TR 2 013\r
+SE_TR 1 015\r
+SE_TR 1 016\r
+SE_TR 1 017\r
+SE_TR 1 018\r
+WAIT_\r
+SE_TR 1 019\r
+WAIT_\r
+SE_TR 1 020\r
+SE_TR 1 021\r
+SE_TR 1 022\r
+SE_TR 1 023\r
+SE_TR 1 024\r
+SE_TR 1 025\r
+SE_TR 1 026\r
+SE_TR 1 027\r
+SE_TR 1 028\r
+SE_TR 2 014\r
+WAIT_\r
+SE_TR 2 015\r
+WAIT_\r
+SE_TR 2 016\r
+WAIT_\r
+SE_TR 2 017\r
+WAIT_\r
+SE_TR 2 018\r
+WAIT_\r
+SE_TR 2 019\r
+WAIT_\r
+WAIT_\r
+WAIT_\r
+SE_TR 2 020\r
+WAIT_\r
+WAIT_\r
+WAIT_\r
+SE_TR 2 021\r
+WAIT_\r
+SE_TR 2 022\r
+WAIT_\r
+WAIT_\r
+SE_TR 2 023\r
+WAIT_\r
+SE_TR 2 024\r
+WAIT_\r
+SE_TR 2 025\r
+WAIT_\r
+SE_TR 2 026\r
+WAIT_\r
+SE_TR 2 027\r
+WAIT_\r
+SE_TR 2 028\r
+WAIT_\r
+SE_TR 2 029\r
+SE_TR 2 030\r
+WAIT_\r
+SE_TR 2 031\r
+WAIT_\r
+SE_TR 2 032\r
+WAIT_\r
+SE_TR 2 033\r
+WAIT_\r
+SE_TR 2 034\r
+WAIT_\r
+SE_TR 2 035\r
+SE_TR 1 029\r
+SE_TR 1 030\r
+SE_TR 1 031\r
+SE_TR 1 032\r
+SE_TR 1 033\r
+SE_TR 1 034\r
+SE_TR 1 035\r
WAIT_
WAIT_
SE_TR 2 036
vcd dumpfile vcdfile.vcd
#vcd dumpvars lvds
vcd dumpvars -m /APL1/
+vcd dumpvars -m /APL2/
vcd dumpvars -m /API1/MPLEX/
-vcd dumpvars -m /API1/ACTIVE_API/
-vcd dumpvars -m /API1/ACTIVE_API/INIT_SBUF/
-vcd dumpvars -m /API1/ACTIVE_API/FIFO_TO_INT/
+vcd dumpvars -m /API2/PASSIVE_API/PASSIVE_API/
+vcd dumpvars -m /API1/ACTIVE_API/ACTIVE_API/
vcd dumpvars -m /API1/IOBUF/
vcd dumpvars -m /API1/IOBUF/INITOBUF/
vcd dumpvars -m /API1/IOBUF/REPLYIBUF/
vcd dumpvars -m /API2/IOBUF/INITIBUF/
vcd dumpvars -m /API2/IOBUF/INITOBUF/
vcd dumpvars -m /API2/IOBUF/REPLYOBUF/
-vcd dumpvars -m /API2/ACTIVE_API/
+vcd dumpvars -m /API2/PASSIVE_API/
vcd dumpvars -m /LVDS1/
vcd dumpvars -m /LVDS2/
-run 10000 ns
+run 30000 ns
quit
\ No newline at end of file
[size] 1272 936
[pos] -1 -1
-*-25.799541 915000000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+*-30.996199 5050000000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
@200
-DUMMY_APL
@28
#int_init_data_out[50:0] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[50] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[49] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[48] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[47] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[46] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[45] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[44] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[43] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[42] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[41] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[40] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[39] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[38] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[37] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[36] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[35] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[34] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[33] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[32] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[31] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[30] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[29] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[28] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[27] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[26] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[25] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[24] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[23] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[22] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[21] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[20] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[19] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[18] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[17] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[16] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[15] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[14] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[13] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[12] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[11] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[10] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[9] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[8] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[7] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[6] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[5] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[4] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[3] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[2] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[1] trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_data_out[0]
@200
-INITSBUF
-@28
-trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_dataready_in
-trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_read_in
-@22
-#comb_data_in[50:0] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[50] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[49] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[48] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[47] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[46] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[45] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[44] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[43] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[42] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[41] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[40] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[39] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[38] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[37] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[36] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[35] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[34] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[33] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[32] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[31] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[30] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[29] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[28] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[27] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[26] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[25] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[24] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[23] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[22] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[21] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[20] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[19] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[18] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[17] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[16] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[15] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[14] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[13] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[12] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[11] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[10] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[9] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[8] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[7] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[6] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[5] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[4] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[3] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[2] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[1] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.comb_data_in[0]
-@28
-trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.move_b2_buffer
-trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.move_b1_buffer
-@22
-#syn_data_out[50:0] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[50] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[49] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[48] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[47] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[46] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[45] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[44] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[43] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[42] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[41] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[40] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[39] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[38] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[37] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[36] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[35] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[34] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[33] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[32] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[31] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[30] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[29] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[28] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[27] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[26] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[25] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[24] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[23] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[22] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[21] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[20] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[19] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[18] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[17] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[16] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[15] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[14] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[13] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[12] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[11] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[10] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[9] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[8] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[7] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[6] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[5] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[4] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[3] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[2] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[1] trb_net_lvds_chain_testbench.API1.ACTIVE_API.INIT_SBUF.syn_data_out[0]
-@200
-IOBUF
@22
#stat_locked[31:0] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[31] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[30] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[29] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[28] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[27] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[26] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[25] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[24] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[23] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[22] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[21] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[20] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[19] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[18] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[17] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[16] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[15] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[14] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[13] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[12] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[11] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[10] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[9] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[8] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[7] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[6] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[5] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[4] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[3] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[2] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[1] trb_net_lvds_chain_testbench.API1.IOBUF.stat_locked[0]
@28
#transmitted_buffers[1:0] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.transmitted_buffers[1] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.transmitted_buffers[0]
trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.sent_eob
-@29
-trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.sent_ack
-@28
trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.send_ack_in
trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.reg_send_ack_in
trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.sbuf_free
@28
trb_net_lvds_chain_testbench.LVDS1.int_read_out
trb_net_lvds_chain_testbench.LVDS1.int_dataready_in
-#med_data_out[12:0] trb_net_lvds_chain_testbench.LVDS1.med_data_out[12] trb_net_lvds_chain_testbench.LVDS1.med_data_out[11] trb_net_lvds_chain_testbench.LVDS1.med_data_out[10] trb_net_lvds_chain_testbench.LVDS1.med_data_out[9] trb_net_lvds_chain_testbench.LVDS1.med_data_out[8] trb_net_lvds_chain_testbench.LVDS1.med_data_out[7] trb_net_lvds_chain_testbench.LVDS1.med_data_out[6] trb_net_lvds_chain_testbench.LVDS1.med_data_out[5] trb_net_lvds_chain_testbench.LVDS1.med_data_out[4] trb_net_lvds_chain_testbench.LVDS1.med_data_out[3] trb_net_lvds_chain_testbench.LVDS1.med_data_out[2] trb_net_lvds_chain_testbench.LVDS1.med_data_out[1] trb_net_lvds_chain_testbench.LVDS1.med_data_out[0]
+trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.sent_ack
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[12]
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[11]
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[10]
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[9]
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[8]
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[7]
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[6]
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[5]
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[4]
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[3]
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[2]
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[1]
+trb_net_lvds_chain_testbench.LVDS1.med_data_out[0]
trb_net_lvds_chain_testbench.LVDS1.med_transmission_clk_out
trb_net_lvds_chain_testbench.LVDS1.med_carrier_out
@200
trb_net_lvds_chain_testbench.LVDS2.int_dataready_out
@22
#int_data_out[55:0] trb_net_lvds_chain_testbench.LVDS2.int_data_out[55] trb_net_lvds_chain_testbench.LVDS2.int_data_out[54] trb_net_lvds_chain_testbench.LVDS2.int_data_out[53] trb_net_lvds_chain_testbench.LVDS2.int_data_out[52] trb_net_lvds_chain_testbench.LVDS2.int_data_out[51] trb_net_lvds_chain_testbench.LVDS2.int_data_out[50] trb_net_lvds_chain_testbench.LVDS2.int_data_out[49] trb_net_lvds_chain_testbench.LVDS2.int_data_out[48] trb_net_lvds_chain_testbench.LVDS2.int_data_out[47] trb_net_lvds_chain_testbench.LVDS2.int_data_out[46] trb_net_lvds_chain_testbench.LVDS2.int_data_out[45] trb_net_lvds_chain_testbench.LVDS2.int_data_out[44] trb_net_lvds_chain_testbench.LVDS2.int_data_out[43] trb_net_lvds_chain_testbench.LVDS2.int_data_out[42] trb_net_lvds_chain_testbench.LVDS2.int_data_out[41] trb_net_lvds_chain_testbench.LVDS2.int_data_out[40] trb_net_lvds_chain_testbench.LVDS2.int_data_out[39] trb_net_lvds_chain_testbench.LVDS2.int_data_out[38] trb_net_lvds_chain_testbench.LVDS2.int_data_out[37] trb_net_lvds_chain_testbench.LVDS2.int_data_out[36] trb_net_lvds_chain_testbench.LVDS2.int_data_out[35] trb_net_lvds_chain_testbench.LVDS2.int_data_out[34] trb_net_lvds_chain_testbench.LVDS2.int_data_out[33] trb_net_lvds_chain_testbench.LVDS2.int_data_out[32] trb_net_lvds_chain_testbench.LVDS2.int_data_out[31] trb_net_lvds_chain_testbench.LVDS2.int_data_out[30] trb_net_lvds_chain_testbench.LVDS2.int_data_out[29] trb_net_lvds_chain_testbench.LVDS2.int_data_out[28] trb_net_lvds_chain_testbench.LVDS2.int_data_out[27] trb_net_lvds_chain_testbench.LVDS2.int_data_out[26] trb_net_lvds_chain_testbench.LVDS2.int_data_out[25] trb_net_lvds_chain_testbench.LVDS2.int_data_out[24] trb_net_lvds_chain_testbench.LVDS2.int_data_out[23] trb_net_lvds_chain_testbench.LVDS2.int_data_out[22] trb_net_lvds_chain_testbench.LVDS2.int_data_out[21] trb_net_lvds_chain_testbench.LVDS2.int_data_out[20] trb_net_lvds_chain_testbench.LVDS2.int_data_out[19] trb_net_lvds_chain_testbench.LVDS2.int_data_out[18] trb_net_lvds_chain_testbench.LVDS2.int_data_out[17] trb_net_lvds_chain_testbench.LVDS2.int_data_out[16] trb_net_lvds_chain_testbench.LVDS2.int_data_out[15] trb_net_lvds_chain_testbench.LVDS2.int_data_out[14] trb_net_lvds_chain_testbench.LVDS2.int_data_out[13] trb_net_lvds_chain_testbench.LVDS2.int_data_out[12] trb_net_lvds_chain_testbench.LVDS2.int_data_out[11] trb_net_lvds_chain_testbench.LVDS2.int_data_out[10] trb_net_lvds_chain_testbench.LVDS2.int_data_out[9] trb_net_lvds_chain_testbench.LVDS2.int_data_out[8] trb_net_lvds_chain_testbench.LVDS2.int_data_out[7] trb_net_lvds_chain_testbench.LVDS2.int_data_out[6] trb_net_lvds_chain_testbench.LVDS2.int_data_out[5] trb_net_lvds_chain_testbench.LVDS2.int_data_out[4] trb_net_lvds_chain_testbench.LVDS2.int_data_out[3] trb_net_lvds_chain_testbench.LVDS2.int_data_out[2] trb_net_lvds_chain_testbench.LVDS2.int_data_out[1] trb_net_lvds_chain_testbench.LVDS2.int_data_out[0]
+@28
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[12]
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[11]
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[10]
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[9]
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[8]
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[7]
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[6]
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[5]
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[4]
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[3]
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[2]
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[1]
+trb_net_lvds_chain_testbench.LVDS2.med_data_out[0]
@200
-API (bounce)
-@28
-trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_dataready_out
-trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_read_in
+-
+-APL2
@22
-#int_reply_data_out[50:0] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[50] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[49] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[48] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[47] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[46] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[45] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[44] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[43] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[42] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[41] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[40] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[39] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[38] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[37] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[36] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[35] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[34] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[33] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[32] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[31] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[30] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[29] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[28] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[27] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[26] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[25] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[24] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[23] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[22] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[21] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[20] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[19] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[18] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[17] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[16] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[15] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[14] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[13] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[12] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[11] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[10] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[9] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[8] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[7] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[6] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[5] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[4] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[3] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[2] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[1] trb_net_lvds_chain_testbench.API2.ACTIVE_API.int_reply_data_out[0]
+#apl_data_in[47:0] trb_net_lvds_chain_testbench.APL2.apl_data_in[47] trb_net_lvds_chain_testbench.APL2.apl_data_in[46] trb_net_lvds_chain_testbench.APL2.apl_data_in[45] trb_net_lvds_chain_testbench.APL2.apl_data_in[44] trb_net_lvds_chain_testbench.APL2.apl_data_in[43] trb_net_lvds_chain_testbench.APL2.apl_data_in[42] trb_net_lvds_chain_testbench.APL2.apl_data_in[41] trb_net_lvds_chain_testbench.APL2.apl_data_in[40] trb_net_lvds_chain_testbench.APL2.apl_data_in[39] trb_net_lvds_chain_testbench.APL2.apl_data_in[38] trb_net_lvds_chain_testbench.APL2.apl_data_in[37] trb_net_lvds_chain_testbench.APL2.apl_data_in[36] trb_net_lvds_chain_testbench.APL2.apl_data_in[35] trb_net_lvds_chain_testbench.APL2.apl_data_in[34] trb_net_lvds_chain_testbench.APL2.apl_data_in[33] trb_net_lvds_chain_testbench.APL2.apl_data_in[32] trb_net_lvds_chain_testbench.APL2.apl_data_in[31] trb_net_lvds_chain_testbench.APL2.apl_data_in[30] trb_net_lvds_chain_testbench.APL2.apl_data_in[29] trb_net_lvds_chain_testbench.APL2.apl_data_in[28] trb_net_lvds_chain_testbench.APL2.apl_data_in[27] trb_net_lvds_chain_testbench.APL2.apl_data_in[26] trb_net_lvds_chain_testbench.APL2.apl_data_in[25] trb_net_lvds_chain_testbench.APL2.apl_data_in[24] trb_net_lvds_chain_testbench.APL2.apl_data_in[23] trb_net_lvds_chain_testbench.APL2.apl_data_in[22] trb_net_lvds_chain_testbench.APL2.apl_data_in[21] trb_net_lvds_chain_testbench.APL2.apl_data_in[20] trb_net_lvds_chain_testbench.APL2.apl_data_in[19] trb_net_lvds_chain_testbench.APL2.apl_data_in[18] trb_net_lvds_chain_testbench.APL2.apl_data_in[17] trb_net_lvds_chain_testbench.APL2.apl_data_in[16] trb_net_lvds_chain_testbench.APL2.apl_data_in[15] trb_net_lvds_chain_testbench.APL2.apl_data_in[14] trb_net_lvds_chain_testbench.APL2.apl_data_in[13] trb_net_lvds_chain_testbench.APL2.apl_data_in[12] trb_net_lvds_chain_testbench.APL2.apl_data_in[11] trb_net_lvds_chain_testbench.APL2.apl_data_in[10] trb_net_lvds_chain_testbench.APL2.apl_data_in[9] trb_net_lvds_chain_testbench.APL2.apl_data_in[8] trb_net_lvds_chain_testbench.APL2.apl_data_in[7] trb_net_lvds_chain_testbench.APL2.apl_data_in[6] trb_net_lvds_chain_testbench.APL2.apl_data_in[5] trb_net_lvds_chain_testbench.APL2.apl_data_in[4] trb_net_lvds_chain_testbench.APL2.apl_data_in[3] trb_net_lvds_chain_testbench.APL2.apl_data_in[2] trb_net_lvds_chain_testbench.APL2.apl_data_in[1] trb_net_lvds_chain_testbench.APL2.apl_data_in[0]
+@23
+#apl_typ_in[2:0] trb_net_lvds_chain_testbench.APL2.apl_typ_in[2] trb_net_lvds_chain_testbench.APL2.apl_typ_in[1] trb_net_lvds_chain_testbench.APL2.apl_typ_in[0]
+@29
+trb_net_lvds_chain_testbench.APL2.apl_dataready_in
+trb_net_lvds_chain_testbench.APL2.apl_send_out
+trb_net_lvds_chain_testbench.APL2.apl_write_out
+trb_net_lvds_chain_testbench.APL2.apl_run_in
+@28
+#state_bits[1:0] trb_net_lvds_chain_testbench.APL2.state_bits[1] trb_net_lvds_chain_testbench.APL2.state_bits[0]
+#next_state_bits[1:0] trb_net_lvds_chain_testbench.APL2.next_state_bits[1] trb_net_lvds_chain_testbench.APL2.next_state_bits[0]
+@200
+-
architecture trb_net_lvds_chain_testbench_arch of trb_net_lvds_chain_testbench is
signal clk : std_logic := '0';
- signal clk2 : std_logic := '0';
+ signal clk2 : std_logic := '1';
signal reset : std_logic := '1';
component trb_net_med_13bit_slow is
END component;
+component trb_net_passive_apimbuf is
+
+ generic (INIT_DEPTH : integer := 3; -- Depth of the FIFO, 2^(n+1), if
+ -- the initibuf
+ REPLY_DEPTH : integer := 3; -- or the replyibuf
+ FIFO_TO_INT_DEPTH : integer := 3; -- Depth of the FIFO, 2^(n+1),
+ -- for the direction to
+ -- internal world
+ FIFO_TO_APL_DEPTH : integer := 3; -- direction to application
+ FIFO_TERM_BUFFER_DEPTH : integer := 0 -- fifo for auto-answering of
+ -- the master path, if set to 0
+ -- no buffer is used at all
+ );
+
+ port(
+ -- Misc
+ CLK : in std_logic;
+ RESET : in std_logic;
+ CLK_EN : in std_logic;
+ -- Media direction port
+ MED_DATAREADY_OUT: out STD_LOGIC; --Data word ready to be read out
+ --by the media (via the TrbNetIOMultiplexer)
+ MED_DATA_OUT: out STD_LOGIC_VECTOR (51 downto 0); -- Data word
+ MED_READ_IN: in STD_LOGIC; -- Media is reading
+
+ MED_DATAREADY_IN: in STD_LOGIC; -- Data word is offered by the Media
+ -- (the IOBUF MUST read)
+ MED_DATA_IN: in STD_LOGIC_VECTOR (51 downto 0); -- Data word
+ MED_READ_OUT: out STD_LOGIC; -- buffer reads a word from media
+ MED_ERROR_IN: in STD_LOGIC_VECTOR (2 downto 0); -- Status bits
+
+ -- APL Transmitter port
+ APL_DATA_IN: in STD_LOGIC_VECTOR (47 downto 0); -- Data word "application to network"
+ APL_WRITE_IN: in STD_LOGIC; -- Data word is valid and should be transmitted
+ APL_FIFO_FULL_OUT: out STD_LOGIC; -- Stop transfer, the fifo is full
+ APL_SHORT_TRANSFER_IN: in STD_LOGIC; --
+ APL_DTYPE_IN: in STD_LOGIC_VECTOR (3 downto 0); -- see NewTriggerBusNetworkDescr
+ APL_ERROR_PATTERN_IN: in STD_LOGIC_VECTOR (31 downto 0); -- see NewTriggerBusNetworkDescr
+ APL_SEND_IN: in STD_LOGIC; -- Release sending of the data
+ APL_TARGET_ADDRESS_IN: in STD_LOGIC_VECTOR (15 downto 0); -- Address of
+ -- the target (only for active APIs)
+
+ -- Receiver port
+ APL_DATA_OUT: out STD_LOGIC_VECTOR (47 downto 0); -- Data word "network to application"
+ APL_TYP_OUT: out STD_LOGIC_VECTOR (2 downto 0); -- Which kind of data word: DAT, HDR or TRM
+ APL_DATAREADY_OUT: out STD_LOGIC; -- Data word is valid and might be read out
+ APL_READ_IN: in STD_LOGIC; -- Read data word
+
+ -- APL Control port
+ APL_RUN_OUT: out STD_LOGIC; -- Data transfer is running
+ APL_MY_ADDRESS_IN: in STD_LOGIC_VECTOR (15 downto 0); -- My own address (temporary solution!!!)
+ APL_SEQNR_OUT: out STD_LOGIC_VECTOR (7 downto 0);
+
+ -- Status and control port => just coming from the iobuf for debugging
+ STAT_GEN: out STD_LOGIC_VECTOR (31 downto 0); -- General Status
+ STAT_LOCKED: out STD_LOGIC_VECTOR (31 downto 0); -- Status of the handshake and buffer control
+ STAT_INIT_BUFFER: out STD_LOGIC_VECTOR (31 downto 0); -- Status of the handshake and buffer control
+ STAT_REPLY_BUFFER: out STD_LOGIC_VECTOR (31 downto 0); -- General Status
+ CTRL_GEN: in STD_LOGIC_VECTOR (31 downto 0);
+ CTRL_LOCKED: in STD_LOGIC_VECTOR (31 downto 0);
+ STAT_CTRL_INIT_BUFFER: in STD_LOGIC_VECTOR (31 downto 0);
+ STAT_CTRL_REPLY_BUFFER: in STD_LOGIC_VECTOR (31 downto 0);
+ MPLEX_CTRL: in STD_LOGIC_VECTOR (31 downto 0)
+ );
+END component;
+
+
component trb_net_dummy_apl
generic (TARGET_ADDRESS : STD_LOGIC_VECTOR (15 downto 0) := x"ffff";
PREFILL_LENGTH : integer := 3;
END component;
+component trb_net_dummy_passive_apl
+ generic (TARGET_ADDRESS : STD_LOGIC_VECTOR (15 downto 0) := x"ffff";
+ PREFILL_LENGTH : integer := 3;
+ TRANSFER_LENGTH : integer := 6); -- length of dummy data
+
+ port(
+ -- Misc
+ CLK : in std_logic;
+ RESET : in std_logic;
+ CLK_EN : in std_logic;
+
+ -- APL Transmitter port
+ APL_DATA_OUT: out STD_LOGIC_VECTOR (47 downto 0); -- Data word "application to network"
+ APL_WRITE_OUT: out STD_LOGIC; -- Data word is valid and should be transmitted
+ APL_FIFO_FULL_IN: in STD_LOGIC; -- Stop transfer, the fifo is full
+ APL_SHORT_TRANSFER_OUT: out STD_LOGIC; --
+ APL_DTYPE_OUT: out STD_LOGIC_VECTOR (3 downto 0); -- see NewTriggerBusNetworkDescr
+ APL_ERROR_PATTERN_OUT: out STD_LOGIC_VECTOR (31 downto 0); -- see NewTriggerBusNetworkDescr
+ APL_SEND_OUT: out STD_LOGIC; -- Release sending of the data
+ APL_TARGET_ADDRESS_OUT: out STD_LOGIC_VECTOR (15 downto 0); -- Address of
+ -- the target (only for active APIs)
+
+ -- Receiver port
+ APL_DATA_IN: in STD_LOGIC_VECTOR (47 downto 0); -- Data word "network to application"
+ APL_TYP_IN: in STD_LOGIC_VECTOR (2 downto 0); -- Which kind of data word: DAT, HDR or TRM
+ APL_DATAREADY_IN: in STD_LOGIC; -- Data word is valid and might be read out
+ APL_READ_OUT: out STD_LOGIC; -- Read data word
+
+ -- APL Control port
+ APL_RUN_IN: in STD_LOGIC; -- Data transfer is running
+ APL_SEQNR_IN: in STD_LOGIC_VECTOR (7 downto 0)
+ );
+END component;
+
signal apl_data_out_apl1: STD_LOGIC_VECTOR (47 downto 0);
signal apl_write_apl1: STD_LOGIC;
signal apl_fifo_full_apl1: STD_LOGIC;
begin
- clk <= not clk after 5ns;
- clk2 <= not clk2 after 5.1ns;
+ clk <= not clk after 15.15ns;
+ clk2 <= not clk2 after 15.00ns;
MED_DATA_1_to_2_api1_m(51 downto 0) <= MED_DATA_1_to_2_api1;
MED_DATA_1_to_2_api1_m(55 downto 52) <= "0000"; --set CID to 0
DO_RESET : process
begin
reset <= '1';
- wait for 30ns;
+ wait for 300ns;
reset <= '0';
ctrl(8 downto 0) <= "100000000"; --only fixed
-- ctrl(8 downto 0) <= "111111111"; --only rr
generic map (
TARGET_ADDRESS => x"0002",
-- TARGET_ADDRESS => x"000f",
- PREFILL_LENGTH => 0,
- TRANSFER_LENGTH => 4)
+ PREFILL_LENGTH => 3,
+ TRANSFER_LENGTH => 6)
-- TRANSFER_LENGTH => 16)
port map (
CLK => clk,
APL_SEQNR_IN => apl_seqnr_apl1
);
-APL2: trb_net_dummy_apl
+APL2: trb_net_dummy_passive_apl
generic map (
TARGET_ADDRESS => x"0001",
PREFILL_LENGTH => 0,
-- TRANSFER_LENGTH => 2)
TRANSFER_LENGTH => 8)
port map (
- CLK => clk2,
+ CLK => clk,
RESET => reset,
CLK_EN => '1',
MPLEX_CTRL => ctrl
);
-API2: trb_net_active_apimbuf
+API2: trb_net_passive_apimbuf
generic map (
FIFO_TERM_BUFFER_DEPTH => 3)
port map (
- CLK => clk2,
+ CLK => clk,
RESET => reset,
CLK_EN => '1',
LVDS1: trb_net_med_13bit_slow
generic map(
- TRANSMISSION_CLOCK_DIVIDER => 2
+ TRANSMISSION_CLOCK_DIVIDER => 4
)
port map(
-- Misc
LVDS2: trb_net_med_13bit_slow
generic map(
- TRANSMISSION_CLOCK_DIVIDER => 2
+ TRANSMISSION_CLOCK_DIVIDER => 4
)
port map(
-- Misc
- CLK => clk2,
+ CLK => clk,
RESET => reset,
CLK_EN => '1',
end trb_net_lvds_chain_testbench_arch;
--- fuse -prj trb_net_lvds_chain_testbench_beh.prj -top trb_net_lvds_chain_testbench -o trb_net_lvds_chain_testbench
+-- fuse -prj ise/trb_net_lvds_chain_testbench_beh.prj -top trb_net_lvds_chain_testbench -o trb_net_lvds_chain_testbench
--- trb_net_lvds_chain_testbench -tclbatch lvds_chain_testsim.tcl
+-- trb_net_lvds_chain_testbench -tclbatch trbnetendpoint_testbench.tcl
-- ntrace select -o on -m / -l this
-- ntrace start
vhdl work "../trb_net_priority_arbiter.vhd"
vhdl work "../trb_net_pattern_gen.vhd"
vhdl work "../trb_net_io_multiplexer.vhd"
+vhdl work "../trb_net_term.vhd"
+vhdl work "../trb_net_base_api.vhd"
vhdl work "../trb_net_active_api.vhd"
-vhdl work "../trb_net_active_apibuf.vhd"
vhdl work "../trb_net_active_apimbuf.vhd"
+vhdl work "../trb_net_passive_api.vhd"
+vhdl work "../trb_net_passive_apimbuf.vhd"
vhdl work "../trb_net_med_13bit_slow.vhd"
vhdl work "trb_net_dummy_apl.vhd"
+vhdl work "trb_net_dummy_passive_apl.vhd"
vhdl work "trb_net_lvds_chain_testbench.vhd"
FIFO_TO_INT_DEPTH : integer range 0 to 6 := c_FIFO_SMALL;
FIFO_TO_APL_DEPTH : integer range 0 to 6 := c_FIFO_SMALL;
SBUF_VERSION : integer range 0 to 1 := c_SBUF_FULL;
- MUX_SECURE_MODE : integer range 0 to 1 := c_SECURE_MODE;
+ MUX_SECURE_MODE : integer range 0 to 1 := c_NON_SECURE_MODE;
IBUF_SECURE_MODE : integer range 0 to 1 := c_SECURE_MODE;
- OBUF_DATA_COUNT_WIDTH : integer range 0 to 1 := std_DATA_COUNT_WIDTH;
+ OBUF_DATA_COUNT_WIDTH : integer range 0 to 7 := std_DATA_COUNT_WIDTH;
INIT_CAN_SEND_DATA : integer range 0 to 1 := c_YES;
REPLY_CAN_SEND_DATA : integer range 0 to 1 := c_YES;
- DAT_CHANNEL : integer range 0 to 3 := c_SLOW_CONTROL_CHANNEL
+ DAT_CHANNEL : integer range 0 to 3 := c_SLOW_CTRL_CHANNEL
);
port(
HUB_CTRL_CHANNELNUM : integer range 0 to 3 := 0;--c_SLOW_CTRL_CHANNEL;
HUB_CTRL_DEPTH : integer range 0 to 6 := c_FIFO_SMALL;
HUB_CTRL_REG_ADDR_WIDTH : integer range 1 to 7 := 4;
- HUB_USED_CHANNELS : hub_channel_config_t := (c_YES,c_NO,c_YES,c_YES);
+ HUB_USED_CHANNELS : hub_channel_config_t := (c_YES,c_YES,c_YES,c_YES);
IBUF_SECURE_MODE : integer range 0 to 1 := c_NO;
--media interfaces
MII_NUMBER : integer range 2 to c_MAX_MII_PER_HUB := 12;
CTRL => CTRL
);
- arbiter_CLK_EN <= CLK_EN and not endpoint_locked;
+ arbiter_CLK_EN <= CLK_EN and not next_endpoint_locked;
-- we have to care to read four packets from every endpoint
process(current_mux_buffer, mux_read, endpoint_locked, current_mux_packet_number)
signal fifo_din_a : std_logic_vector(17 downto 0);
signal fifo_dout_a : std_logic_vector(17 downto 0);
+ signal fifo_wr_en_a : std_logic;
signal fifo_rd_en_a : std_logic;
signal fifo_empty_a : std_logic;
signal fifo_full_a : std_logic;
STAT(31 downto 14) <= (others => '0');
TLK_TX_ER <= '0';
- TLK_ENABLE <= not RESET;
+ TLK_ENABLE <= '1';
TLK_LCKREFN <= '1';
TLK_PRBSEN <= '0';
TLK_LOOPEN <= '0';
read_clock_in => CLK,
write_clock_in => TLK_RX_CLK,
read_enable_in => fifo_rd_en_a,
- write_enable_in => TLK_RX_DV,
+ write_enable_in => fifo_wr_en_a,
fifo_gsr_in => fifo_reset,
write_data_in => fifo_din_a,
read_data_out => fifo_dout_a,
fifostatus_out => fifo_status_a
);
+ fifo_wr_en_a <= TLK_RX_DV and not TLK_RX_ER;
fifo_din_a <= '0' & TLK_RX_ER & TLK_RXD;
fifo_rd_en_a <= not fifo_empty_a;
fifo_reset <= RESET;
library work;
use work.trb_net_std.all;
-use work.trb_net_cfg.all;
+
entity trb_net16_sbuf is
generic (
next_INT_DATA_OUT <= buf_INT_DATA_OUT;
next_transfer_counter <= transfer_counter;
- if (reg_APL_GOT_TRM = '1' and APL_RELEASE_TRM = '1') or send_trm = '1' or USE_APL_PORT = 0 then
+ if (reg_APL_GOT_TRM = '1' and (APL_RELEASE_TRM = '1' or USE_APL_PORT = 0)) or send_trm = '1' then
+-- if (reg_APL_GOT_TRM = '1' and (APL_RELEASE_TRM = '1' )) or send_trm = '1' or 0 = 0 then
--next_transfer_counter is used for transmission!
if transfer_counter = "10" and INT_READ_IN = '1' then
next_send_trm <= '0';
if rising_edge(CLK) then
if RESET = '1' then
send_trm <= '0';
+ reg_APL_GOT_TRM <= '0';
reg_APL_SEQNR_OUT <= (others => '0');
else
send_trm <= next_send_trm;
+ reg_APL_GOT_TRM <= next_APL_GOT_TRM;
reg_APL_SEQNR_OUT <= next_APL_SEQNR_OUT;
end if;
end if;
begin
if rising_edge(CLK) then
if RESET = '1' then
- reg_APL_GOT_TRM <= '0';
reg_APL_DTYPE_OUT <= (others => '0');
else
- reg_APL_GOT_TRM <= next_APL_GOT_TRM;
reg_APL_DTYPE_OUT <= next_APL_DTYPE_OUT;
end if;
end if;
library work;
use work.trb_net_std.all;
-use work.trb_net_cfg.all;
entity trb_net_sbuf is
generic (
constant c_DATA_WIDTH : integer := 16;
constant c_NUM_WIDTH : integer := 2;
- constant c_MUX_WIDTH : integer := 1;
+ constant c_MUX_WIDTH : integer := 3;
constant c_USE_ACKNOWLEDGE : channel_config_t := (1,1,1,1);
constant c_FORCE_REPLY : channel_config_t := (1,1,1,1);
constant c_USE_REPLY_CHANNEL : channel_config_t := (1,1,1,1);
constant std_USE_REPLY_CHANNEL: integer := 1;
constant std_FIFO_DEPTH : integer := 1;
constant std_DATA_COUNT_WIDTH : integer := 5; --max 7
- constant std_TERM_SECURE_MODE : integer := 0;
+ constant std_TERM_SECURE_MODE : integer := 0;
constant std_MUX_SECURE_MODE : integer := 0;
constant std_FORCE_REPLY : integer := 1;