]> jspc29.x-matter.uni-frankfurt.de Git - trbnet.git/commitdiff
lvds chain working again, Ingo
authorhadaq <hadaq>
Tue, 27 Mar 2007 13:32:45 +0000 (13:32 +0000)
committerhadaq <hadaq>
Tue, 27 Mar 2007 13:32:45 +0000 (13:32 +0000)
13 files changed:
testbench/lvds_chain_testsim.tcl
testbench/settings_lvds_chain.sav
testbench/trb_net_ibuf_testbench.vhd
testbench/trb_net_lvds_chain_testbench_beh.prj
testbench/trb_net_obuf_testbench.vhd
trb_net_active_api.vhd
trb_net_endpoint_3ch.vhd
trb_net_ibuf.vhd
trb_net_io_multiplexer.vhd
trb_net_iobuf.vhd
trb_net_obuf.vhd
trb_net_sbuf.vhd
xilinx/trb_net_fifo_arch.vhd

index 7e4bd37dcb1f24f1ce906128de9cbde27f0fbc08..f4fdf470812d4535e5f50148250d4c08a65f4689 100644 (file)
@@ -1,5 +1,5 @@
 vcd dumpfile vcdfile.vcd
-vcd dumpvars lvds
+#vcd dumpvars lvds
 vcd dumpvars -m /APL1/
 vcd dumpvars -m /API1/MPLEX/
 vcd dumpvars -m /API1/ACTIVE_API/
index b1454922501748a516207ff83d9d97ee99333411..9ca75258b4cdf8f57f943c5300020a90dba366a5 100644 (file)
@@ -1,6 +1,6 @@
 [size] 1272 936
 [pos] -1 -1
-*-30.799541 -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 -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
 @200
 -DUMMY_APL
 @28
@@ -16,6 +16,8 @@ trb_net_lvds_chain_testbench.APL1.apl_send_out
 trb_net_lvds_chain_testbench.API1.ACTIVE_API.apl_dataready_out
 @22
 #apl_seqnr_in[7:0] trb_net_lvds_chain_testbench.APL1.apl_seqnr_in[7] trb_net_lvds_chain_testbench.APL1.apl_seqnr_in[6] trb_net_lvds_chain_testbench.APL1.apl_seqnr_in[5] trb_net_lvds_chain_testbench.APL1.apl_seqnr_in[4] trb_net_lvds_chain_testbench.APL1.apl_seqnr_in[3] trb_net_lvds_chain_testbench.APL1.apl_seqnr_in[2] trb_net_lvds_chain_testbench.APL1.apl_seqnr_in[1] trb_net_lvds_chain_testbench.APL1.apl_seqnr_in[0]
+@28
+trb_net_lvds_chain_testbench.APL1.apl_fifo_full_in
 @200
 -API
 @28
@@ -24,6 +26,18 @@ trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_read_in
 @22
 #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]
@@ -37,6 +51,29 @@ trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.med_dataready_out
 trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.med_read_in
 @22
 #ctrl_buffer[31:0] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[31] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[30] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[29] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[28] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[27] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[26] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[25] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[24] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[23] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[22] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[21] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[20] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[19] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[18] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[17] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[16] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[15] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[14] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[13] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[12] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[11] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[10] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[9] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[8] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[7] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[6] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[5] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[4] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[3] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[2] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[1] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.ctrl_buffer[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
+trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.int_read_out
+trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.int_dataready_in
+@22
+#current_output_buffer[50:0] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[50] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[49] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[48] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[47] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[46] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[45] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[44] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[43] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[42] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[41] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[40] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[39] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[38] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[37] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[36] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[35] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[34] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[33] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[32] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[31] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[30] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[29] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[28] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[27] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[26] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[25] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[24] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[23] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[22] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[21] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[20] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[19] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[18] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[17] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[16] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[15] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[14] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[13] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[12] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[11] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[10] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[9] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[8] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[7] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[6] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[5] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[4] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[3] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[2] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[1] trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.current_output_buffer[0]
+@200
+-MPLEX
+@22
+#med_data_out[51:0] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[51] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[50] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[49] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[48] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[47] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[46] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[45] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[44] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[43] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[42] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[41] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[40] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[39] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[38] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[37] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[36] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[35] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[34] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[33] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[32] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[31] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[30] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[29] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[28] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[27] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[26] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[25] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[24] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[23] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[22] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[21] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[20] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[19] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[18] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[17] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[16] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[15] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[14] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[13] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[12] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[11] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[10] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[9] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[8] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[7] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[6] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[5] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[4] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[3] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[2] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[1] trb_net_lvds_chain_testbench.API1.MPLEX.med_data_out[0]
+@28
+trb_net_lvds_chain_testbench.API1.MPLEX.mux_read
+trb_net_lvds_chain_testbench.API1.MPLEX.mux_next_read
+trb_net_lvds_chain_testbench.API1.MPLEX.mux_enable
+@22
+#current_mux_buffer[51:0] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[51] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[50] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[49] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[48] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[47] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[46] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[45] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[44] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[43] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[42] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[41] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[40] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[39] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[38] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[37] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[36] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[35] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[34] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[33] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[32] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[31] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[30] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[29] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[28] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[27] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[26] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[25] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[24] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[23] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[22] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[21] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[20] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[19] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[18] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[17] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[16] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[15] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[14] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[13] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[12] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[11] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[10] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[9] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[8] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[7] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[6] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[5] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[4] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[3] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[2] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[1] trb_net_lvds_chain_testbench.API1.MPLEX.current_mux_buffer[0]
 @200
 -LVDS
 @22
@@ -50,16 +87,11 @@ trb_net_lvds_chain_testbench.LVDS1.med_carrier_out
 @200
 -
 -LVDS (rec)
-@22
-#med_data_in[12:0] trb_net_lvds_chain_testbench.LVDS2.med_data_in[12] trb_net_lvds_chain_testbench.LVDS2.med_data_in[11] trb_net_lvds_chain_testbench.LVDS2.med_data_in[10] trb_net_lvds_chain_testbench.LVDS2.med_data_in[9] trb_net_lvds_chain_testbench.LVDS2.med_data_in[8] trb_net_lvds_chain_testbench.LVDS2.med_data_in[7] trb_net_lvds_chain_testbench.LVDS2.med_data_in[6] trb_net_lvds_chain_testbench.LVDS2.med_data_in[5] trb_net_lvds_chain_testbench.LVDS2.med_data_in[4] trb_net_lvds_chain_testbench.LVDS2.med_data_in[3] trb_net_lvds_chain_testbench.LVDS2.med_data_in[2] trb_net_lvds_chain_testbench.LVDS2.med_data_in[1] trb_net_lvds_chain_testbench.LVDS2.med_data_in[0]
-@28
-trb_net_lvds_chain_testbench.LVDS2.med_transmission_clk_in
-trb_net_lvds_chain_testbench.LVDS2.med_carrier_in
-@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.int_read_in
 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]
 @200
 -API (bounce)
 @28
index 8cd1f345f641823bedcdc6d6313d764862475ed0..0080c2ecba263be79347762cd784cc35f3446a66 100644 (file)
@@ -199,7 +199,7 @@ READ_BUF: process
 end trb_net_ibuf_testbench_arch;
 
 
--- fuse -prj trb_net_fifo_testbench_beh.prj  -top trb_net_fifo_testbench -o trb_net_fifo_testbench
+-- fuse -prj trb_net_ibuf_testbench_beh.prj  -top trb_net_ibuf_testbench -o trb_net_ibuf_testbench
 
 -- vhdl work "/home/hadaq/acromag/design/DX2002test/trbnet/trb_net_std.vhd" 
 -- vhdl work "/home/hadaq/acromag/design/DX2002test/trbnet/trb_net_fifo.vhd"
@@ -208,7 +208,7 @@ end trb_net_ibuf_testbench_arch;
 -- vhdl work "/home/hadaq/acromag/design/DX2002test/trbnet/xilinx/generic_shift.vhd"  
 -- vhdl work "/home/hadaq/acromag/design/DX2002test/trbnet/trb_net_fifo_testbench.vhd"
 
--- trb_net_fifo_testbench -tclbatch testsim.tcl
+-- trb_net_ibuf_testbench -tclbatch testsim.tcl
 
 -- ntrace select -o on -m / -l this
 -- ntrace start
index b120cdace48706277a0256a38ec71ff1414c50ba..fa937d6ded6b92222c1ec4a8b751d10d8a80269a 100644 (file)
@@ -6,6 +6,10 @@ vhdl work "../trb_net_sbuf.vhd"
 vhdl work "../trb_net_ibuf.vhd"
 vhdl work "../trb_net_obuf.vhd"
 vhdl work "../trb_net_iobuf.vhd"
+vhdl work "../trb_net_priority_encoder.vhd"
+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_active_api.vhd"
 vhdl work "../trb_net_active_apibuf.vhd"
 vhdl work "../trb_net_active_apimbuf.vhd"
index b16b1908bb4a356fe3000b45ccb9e4a0d231851d..d7653969306ad4da91c0d57ef8c5ee399aae7211 100644 (file)
@@ -41,8 +41,6 @@ architecture trb_net_obuf_testbench_arch of trb_net_obuf_testbench is
   
   component trb_net_obuf 
     
-   generic (DEPTH : integer := 3);     -- Depth of the FIFO, 2^(n+1)
-
   port(
 --  Misc
     CLK    : in std_logic;             
@@ -52,12 +50,12 @@ architecture trb_net_obuf_testbench_arch of trb_net_obuf_testbench is
     MED_DATAREADY_OUT: out STD_LOGIC;
     MED_DATA_OUT:      out STD_LOGIC_VECTOR (50 downto 0); -- Data word
     MED_READ_IN:       in  STD_LOGIC; 
-    MED_ERROR_OUT:     out STD_LOGIC_VECTOR (2 downto 0);  -- Status bits
+
     -- Internal direction port
     INT_DATAREADY_IN:  in  STD_LOGIC; 
     INT_DATA_IN:       in  STD_LOGIC_VECTOR (50 downto 0); -- Data word
     INT_READ_OUT:      out STD_LOGIC; 
-    INT_ERROR_IN:      in  STD_LOGIC_VECTOR (2 downto 0);  -- Status bits
+
     -- Status and control port
     STAT_LOCKED:       out STD_LOGIC_VECTOR (15 downto 0);
     CTRL_LOCKED:       in  STD_LOGIC_VECTOR (15 downto 0);
@@ -77,7 +75,6 @@ begin
       INT_DATAREADY_IN => int_dataready_in,
       INT_DATA_IN     => int_data_in,
       INT_READ_OUT    => int_read_out,
-      INT_ERROR_IN    => (others => '0'),
       MED_DATAREADY_OUT =>med_dataready_out,
       MED_DATA_OUT    => med_data_out,
       MED_READ_IN     => med_read_in,
@@ -227,7 +224,7 @@ READ_BUF: process
 end trb_net_obuf_testbench_arch;
 
 
--- fuse -prj trb_net_fifo_testbench_beh.prj  -top trb_net_fifo_testbench -o trb_net_fifo_testbench
+-- fuse -prj trb_net_obuf_testbench_beh.prj  -top trb_net_obuf_testbench -o trb_net_obuf_testbench
 
 -- vhdl work "/home/hadaq/acromag/design/DX2002test/trbnet/trb_net_std.vhd" 
 -- vhdl work "/home/hadaq/acromag/design/DX2002test/trbnet/trb_net_fifo.vhd"
@@ -236,7 +233,7 @@ end trb_net_obuf_testbench_arch;
 -- vhdl work "/home/hadaq/acromag/design/DX2002test/trbnet/xilinx/generic_shift.vhd"  
 -- vhdl work "/home/hadaq/acromag/design/DX2002test/trbnet/trb_net_fifo_testbench.vhd"
 
--- trb_net_fifo_testbench -tclbatch testsim.tcl
+-- trb_net_obuf_testbench -tclbatch testsim.tcl
 
 -- ntrace select -o on -m / -l this
 -- ntrace start
index 1c45c8dd9c4941829f49e3fae88d38b7053769c4..4f9296fe2bcba23d1a2fd7e5c5dccf66c8882e32 100644 (file)
@@ -119,7 +119,8 @@ component trb_net_dummy_fifo is
 
   component trb_net_sbuf is
 
-  generic (DATA_WIDTH : integer := 56);
+  generic (DATA_WIDTH : integer := 56;
+           VERSION: integer := 1);
 
   port(
     --  Misc
@@ -186,7 +187,7 @@ signal next_APL_DATAREADY_OUT, reg_APL_DATAREADY_OUT: std_logic;
 signal next_APL_DATA_OUT, reg_APL_DATA_OUT: std_logic_vector(47 downto 0);
 signal next_APL_TYP_OUT, reg_APL_TYP_OUT: std_logic_vector(2 downto 0);
 
-type OUTPUT_SELECT is (HDR, DAT, TRM);
+type OUTPUT_SELECT is (HDR, DAT, TRM, TRM_COMB);
 signal out_select:OUTPUT_SELECT;
 
 begin
@@ -289,7 +290,7 @@ end generate CHECK_BUFFER2;
                                     INT_INIT_DATAREADY_IN, tb_next_registered_trailer,
                                     tb_registered_trailer,
                                     fifo_term_buffer_empty, fifo_term_buffer_data_out,
-                                    INT_REPLY_READ_IN, tb_registered_target)
+                                    INT_REPLY_READ_IN, tb_registered_target, APL_MY_ADDRESS_IN)
     begin  -- process
       INT_INIT_READ_OUT <= '0';
       fifo_term_buffer_data_in(TYPE_POSITION) <= TYPE_ILLEGAL;
@@ -365,7 +366,8 @@ end generate CHECK_BUFFER2;
     
     
 INIT_SBUF: trb_net_sbuf
-        generic map (DATA_WIDTH => 51)
+        generic map (DATA_WIDTH => 51,
+                     VERSION => 1)
         port map (
           CLK   => CLK,
           RESET  => RESET,
@@ -379,37 +381,45 @@ INIT_SBUF: trb_net_sbuf
           SYN_READ_IN => INT_INIT_READ_IN
           );
 
-sbuf_free <= sbuf_next_READ or INT_INIT_READ_IN;  --sbuf killed in next cycle
+--sbuf_free <= sbuf_next_READ or INT_INIT_READ_IN;  --sbuf killed in next cycle
+sbuf_free <= sbuf_next_READ;
 next_registered_trailer <= combined_trailer;
 --next_registered_header <= combined_header;
 next_APL_DATA_OUT <= fifo_to_apl_data_out(DWORD_POSITION);
 next_APL_TYP_OUT <= fifo_to_apl_data_out(TYPE_POSITION);
 
-      process (out_select, combined_header, registered_trailer)
-        begin
-          if out_select = HDR then
+      process (out_select, combined_header, registered_trailer,
+               fifo_to_int_data_out)
+      begin
+        if out_select = HDR then
           next_INT_INIT_DATA_OUT(TYPE_POSITION) <= TYPE_HDR;
           next_INT_INIT_DATA_OUT(DWORD_POSITION) <= combined_header;
-          elsif out_select = TRM then
+        elsif out_select = TRM then
           next_INT_INIT_DATA_OUT(TYPE_POSITION) <= TYPE_TRM;
           next_INT_INIT_DATA_OUT(DWORD_POSITION) <= registered_trailer;
-          else
+        elsif out_select = TRM_COMB then
+          next_INT_INIT_DATA_OUT(TYPE_POSITION) <= TYPE_TRM;
+          next_INT_INIT_DATA_OUT(DWORD_POSITION) <= combined_trailer;
+        else
           next_INT_INIT_DATA_OUT(TYPE_POSITION) <= TYPE_DAT;
           next_INT_INIT_DATA_OUT(DWORD_POSITION) <= fifo_to_int_data_out;
-          end if;
-        end process;
+        end if;
+      end process;
+        
 -- combinatorial part of state machine
-    STATE_COMB : process(current_state, APL_SEND_IN, combined_header, INT_INIT_READ_IN,
-                         APL_WRITE_IN, fifo_to_int_empty,
+    STATE_COMB : process(current_state, APL_SEND_IN, combined_header,
+                         INT_INIT_READ_IN, APL_WRITE_IN, fifo_to_int_empty,
                          fifo_to_int_data_out, combined_trailer,
-                         next_registered_trailer, fifo_to_int_data_out, fifo_to_apl_empty,
-                         INT_REPLY_DATAREADY_IN, reg_INT_REPLY_READ_OUT,fifo_to_apl_read,
-                         reg_APL_DATAREADY_OUT, fifo_to_apl_data_out, reg_APL_DATAREADY_OUT,
-                         APL_READ_IN, sbuf_free, reg_APL_TYP_OUT)
+                         next_registered_trailer, fifo_to_int_data_out,
+                         fifo_to_apl_empty, INT_REPLY_DATAREADY_IN,
+                         reg_INT_REPLY_READ_OUT,fifo_to_apl_read,
+                         reg_APL_DATAREADY_OUT, fifo_to_apl_data_out,
+                         reg_APL_DATAREADY_OUT, APL_READ_IN, sbuf_free,
+                         reg_APL_TYP_OUT, APL_SHORT_TRANSFER_IN, fifo_to_apl_full)
     begin  -- process
       next_state <=  MY_ERROR;
---      next_registered_header <= registered_header;
---      update_registered_header <= '0';
+--      next_registered_header <= registered_header; update_registered_header
+--      <= '0';
       next_INT_INIT_DATAREADY_OUT <= '0';
       out_select <= DAT;
 --      next_INT_INIT_DATA_OUT(TYPE_POSITION) <= TYPE_ILLEGAL;
@@ -495,7 +505,7 @@ next_APL_TYP_OUT <= fifo_to_apl_data_out(TYPE_POSITION);
             update_registered_trailer <= '1';
             --next_registered_trailer <= combined_trailer;
             next_INT_INIT_DATAREADY_OUT <= '1';
-            out_select <= TRM;
+            out_select <= TRM_COMB;
 --             next_INT_INIT_DATA_OUT(TYPE_POSITION) <= TYPE_TRM;
 --             next_INT_INIT_DATA_OUT(DWORD_POSITION) <= combined_trailer;
           else
@@ -548,6 +558,7 @@ next_APL_TYP_OUT <= fifo_to_apl_data_out(TYPE_POSITION);
       elsif current_state = SEND_TRAILER then
         if sbuf_free = '1' then  -- kill current trailer
           next_state <= WAITING;
+          out_select <= TRM; 
           next_INT_INIT_DATAREADY_OUT <= '0';
         else
           next_state <= SEND_TRAILER;
index 86bd1f241279b858c8129f5b96de6054e72ad4f3..da6f3aecee912fd546703ed45a8966925e409915 100644 (file)
@@ -389,6 +389,7 @@ begin
           CTRL_LOCKED           => (others => '0'),
           STAT_CTRL_INIT_BUFFER => (others => '0'),
           STAT_CTRL_REPLY_BUFFER=> (others => '0'),
+          
           MPLEX_CTRL            => APL_MPLEX_CTRL );
     end generate;
   end generate;
index c81ff40011f6fed08f5d875ca61cdde933a5f9ff..b635a0bfe2209cfd7e27f0fcf7406428a6a97a65 100644 (file)
@@ -60,7 +60,8 @@ end component;
 
   component trb_net_sbuf is
 
-  generic (DATA_WIDTH : integer := 56);
+  generic (DATA_WIDTH : integer := 56;
+           VERSION: integer := 1);
 
   port(
     --  Misc
@@ -128,7 +129,7 @@ signal next_rec_buffer_size_out, current_rec_buffer_size_out
 -- this process controls the writing of the media into the fifo
     FILTER_DATAREADY_IN : process(MED_DATA_IN, MED_DATAREADY_IN, MED_ERROR_IN,
                                   fifo_full, is_locked, current_rec_buffer_size_out,
-                                  current_error_state)
+                                  current_error_state, reg_read_out)
     begin  -- process
       got_ack_internal <=   '0';
       next_read_out <=  '0';
@@ -203,7 +204,7 @@ reg_buffer: process(CLK)
   
 -- this process controls what will be forwarded to the internal point
   DATA_OUT : process (INT_HEADER_IN, fifo_data_out,
-                      current_last_header, tmp_INT_DATAREADY_OUT, INT_READ_IN,
+                      current_last_header, INT_READ_IN,
                       release_locked, is_locked, sbuf_free, fifo_empty)
   begin
     -- tmp_INT_DATA_OUT <= (others => '1');
index 6187223265f40b6d2478ba16a87c4fca272a88da..1e5b56d8512d9fcc9eaec44aff516db6ca3475d6 100644 (file)
@@ -60,7 +60,8 @@ architecture trb_net_io_multiplexer_arch of trb_net_io_multiplexer is
 
   component trb_net_sbuf is
 
-  generic (DATA_WIDTH : integer := 56);
+  generic (DATA_WIDTH : integer := 56;
+           VERSION: integer := 1);
 
   port(
     --  Misc
@@ -111,6 +112,7 @@ architecture trb_net_io_multiplexer_arch of trb_net_io_multiplexer is
 --  signal sbuf_stat: STD_LOGIC_VECTOR (2*(2**MULT_WIDTH)-1 downto 0);
   
   signal tmp_INT_READ_OUT: STD_LOGIC_VECTOR ((2**MULT_WIDTH)-1 downto 0);
+  signal tmp_tmp_INT_READ_OUT: STD_LOGIC_VECTOR ((2**MULT_WIDTH)-1 downto 0);
   signal mux_read, mux_enable, mux_next_READ: STD_LOGIC;       
   signal current_mux_buffer: STD_LOGIC_VECTOR (BUS_WIDTH-1 downto 0);
 
@@ -194,12 +196,24 @@ ARBITER: trb_net_priority_arbiter
     CLK_EN  => CLK_EN,
     INPUT_IN  => INT_DATAREADY_IN,
     RESULT_OUT => tmp_INT_READ_OUT,
-    ENABLE  => mux_enable,
+    ENABLE  => mux_enable,              
     CTRL => CTRL
     );
 
+--   process (tmp_tmp_INT_READ_OUT, mux_enable)
+--     begin
+--       if mux_enable = '1' then
+--         tmp_INT_READ_OUT <= tmp_tmp_INT_READ_OUT;
+--       else
+--         tmp_INT_READ_OUT <= (others => '0');
+--       end if;
+--     end process;
+
+--                   <= so I have to gate it once more
 INT_READ_OUT <=  tmp_INT_READ_OUT;
 
+
+  
   MUX_SBUF: trb_net_sbuf
     generic map (DATA_WIDTH => BUS_WIDTH)
     port map (
index 61c48c4190eeb20b3150804ec9b701a26276061f..c90ea91da81d7c7a40f75061ece3c3fac6b4a7f5 100644 (file)
@@ -134,7 +134,8 @@ architecture trb_net_iobuf_arch of trb_net_iobuf is
   END component;
   
   component trb_net_obuf is
-
+  generic (
+    DATA_COUNT_WIDTH : integer := 4);
   port(
     --  Misc
     CLK    : in std_logic;             
@@ -269,6 +270,8 @@ architecture trb_net_iobuf_arch of trb_net_iobuf is
     end generate;
     
     INITOBUF : trb_net_obuf
+      generic map (
+        DATA_COUNT_WIDTH => 16)
       port map (
         CLK       => CLK,
         RESET     => RESET,
@@ -286,6 +289,8 @@ architecture trb_net_iobuf_arch of trb_net_iobuf is
         );
 
     REPLYOBUF : trb_net_obuf
+      generic map (
+        DATA_COUNT_WIDTH => 16)
       port map (
         CLK       => CLK,
         RESET     => RESET,
index 0fb9814cb1a05b7588163e3a6121daf03786d799..e5042b7c0885e310fff98f49740688571f9d211a 100644 (file)
@@ -105,7 +105,8 @@ architecture trb_net_obuf_arch of trb_net_obuf is
     decrease_TRANSMITTED_BUFFERS <= GOT_ACK_IN;
     comb_read <= '1';
     INT_READ_OUT <= reg_INT_READ_OUT;
-    sbuf_free <= comb_next_read or MED_READ_IN;  --sbuf killed
+--    sbuf_free <= comb_next_read or MED_READ_IN;  --sbuf killed
+    sbuf_free <= comb_next_read;
     
     COMB_NEXT_TRANSFER : process(current_NOP_word, MED_READ_IN, comb_next_read,
                                  CURRENT_DATA_COUNT,reg_SEND_ACK_IN,reg_INT_READ_OUT,
@@ -130,25 +131,30 @@ architecture trb_net_obuf_arch of trb_net_obuf is
         else
           next_DATA_COUNT <= CURRENT_DATA_COUNT +1;
         end if;
+-- If we are not able to fill ACK or EOB now, we have to stop activity
+        if (sent_ACK = '1'  or sent_EOB = '1' ) then
+          next_INT_READ_OUT       <= '0';
+          if sent_ACK = '1' then        --BUGBUG: next_SEND_ACK_IN should be a
+                                        --counter (2 may arrive)
+            next_SEND_ACK_IN   <= '1';
+          end if;
+        end if;
 -- Otherwise we fill the gap
       elsif sent_ACK  = '1' and sbuf_free = '1' then
         current_output_buffer <= current_ACK_word;
         next_SEND_ACK_IN   <= '0';
         comb_dataready <= '1';
+        next_INT_READ_OUT       <= '0';  --stop activity to be on the save side
+      elsif sent_ACK  = '1' and sbuf_free = '0' then
+        next_SEND_ACK_IN   <= '1';
       elsif sent_EOB  = '1' and sbuf_free = '1' then
         current_output_buffer <= current_EOB_word;
         next_DATA_COUNT    <= (others => '0');
         increase_TRANSMITTED_BUFFERS <= '1';
         comb_dataready <= '1';
+        next_INT_READ_OUT       <= '0';  --stop activity to be on the save side
       end if;
--- If we are not able to fill ACK or EOB now, we have to stop activity
-      if (reg_INT_READ_OUT = '1' and  INT_DATAREADY_IN = '1'
-          and (sent_ACK = '1'  or sent_EOB = '1' )) then
-        next_INT_READ_OUT       <= '0';
-        if sent_ACK = '1' then
-          next_SEND_ACK_IN   <= '1';
-        end if;
-      end if;
+
 --finally, block data read if the rec buffer is full
       if sent_data = '0' or
         (next_DATA_COUNT(DATA_COUNT_WIDTH-1 downto 0) = max_DATA_COUNT_minus_one(DATA_COUNT_WIDTH-1 downto 0)) or
index ac38dffdb7cc08f014994756509498018212b7d2..8639b16f3882a06a3e9cd69960ebe64b54321002 100644 (file)
@@ -68,6 +68,9 @@ architecture trb_net_sbuf_arch of trb_net_sbuf is
   begin
 
     COMB_next_READ_OUT <= current_next_READ_OUT;
+
+
+
     SYN_DATA_OUT <= current_b2_buffer;
     SYN_DATAREADY_OUT <=  current_SYN_DATAREADY_OUT;
 
@@ -76,7 +79,8 @@ architecture trb_net_sbuf_arch of trb_net_sbuf is
     combined_COMB_DATAREADY_IN <= (COMB_DATAREADY_IN and COMB_READ_IN);
 
     GEN1: if VERSION = 0 generate    
-      MUX: process (use_current_b1_buffer)
+      MUX: process (use_current_b1_buffer,
+                    COMB_DATA_IN, current_b1_buffer)
       begin                                   -- simple MUX
         if use_current_b1_buffer = '1' then
           next_b2_buffer <= current_b1_buffer;
@@ -92,7 +96,8 @@ architecture trb_net_sbuf_arch of trb_net_sbuf is
 
 COMB: process (current_buffer_state, COMB_DATAREADY_IN, COMB_READ_IN,
                SYN_READ_IN, COMB_DATA_IN, current_b1_buffer, current_b2_buffer,
-               current_SYN_DATAREADY_OUT, current_got_overflow)
+               current_SYN_DATAREADY_OUT, current_got_overflow,
+               combined_COMB_DATAREADY_IN, current_next_READ_OUT)
 begin  -- process COMB
   next_buffer_state <= current_buffer_state;
   next_next_READ_OUT <= '1';
@@ -163,6 +168,9 @@ begin  -- process COMB
       next_SYN_DATAREADY_OUT <= '1';
     elsif SYN_READ_IN = '1' then
       next_buffer_state <= BUFFER_B2_FULL;
+      use_current_b1_buffer <= '1';
+      move_b1_buffer <= '1';
+      move_b2_buffer <= '1';
       next_next_READ_OUT <= '0';
       next_SYN_DATAREADY_OUT <= '1';
     else
@@ -171,6 +179,20 @@ begin  -- process COMB
       next_SYN_DATAREADY_OUT <= '1';
     end if;      
   end if;
+
+  -- for version1 it is more complicated: we have to gate
+  -- the signal: when somebody is writing, we have to stop
+  -- all the activity. I do this in the following way: If I
+  -- promised to take the data, I stop the data taking in the
+  -- following cycle. This reduces the bandwidth by a factor of
+  -- 2
+
+  if VERSION = 1 then
+    if current_next_READ_OUT = '1' then
+      next_next_READ_OUT <= '0';
+    end if;
+  end if;
+  
 end process COMB;
 
     
index f768a65ca13f28aa53138b12790bc54eaf03fa53..c4af78f55290b18b5ce5bf3793f6bdfe2a340eb5 100644 (file)
@@ -72,7 +72,8 @@ begin
   end process;
 
 -- adress logic
-  comb_counter: process(WRITE_ENABLE_IN, READ_ENABLE_IN, current_ADDRESS_SRL)
+  comb_counter: process(WRITE_ENABLE_IN, READ_ENABLE_IN, current_ADDRESS_SRL,
+                        current_EMPTY, current_FULL)
   begin
 -- no activity
     if WRITE_ENABLE_IN = '0' and READ_ENABLE_IN = '0' then