]> jspc29.x-matter.uni-frankfurt.de Git - trbnet.git/commitdiff
*** empty log message ***
authorhadeshyp <hadeshyp>
Mon, 7 Jan 2008 16:40:06 +0000 (16:40 +0000)
committerhadeshyp <hadeshyp>
Mon, 7 Jan 2008 16:40:06 +0000 (16:40 +0000)
14 files changed:
optical_link/hub.vhd
testbench/command.txt
testbench/lvds_chain_testsim.tcl
testbench/settings_lvds_chain.sav
testbench/trb_net_lvds_chain_testbench.vhd
testbench/trb_net_lvds_chain_testbench_beh.prj
trb_net16_endpoint_0_trg_1_api.vhd
trb_net16_hub_base.vhd
trb_net16_io_multiplexer.vhd
trb_net16_med_tlk.vhd
trb_net16_sbuf.vhd
trb_net16_term.vhd
trb_net_sbuf.vhd
trb_net_std.vhd

index 3eb41b03ce0f51ecd1c58c66f0e6b98f63d0b4fd..785b786f8ba81a696f2f703559e732f8c7c6842a 100644 (file)
@@ -570,7 +570,7 @@ begin
         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,
index 90035b937e117ac7f5d9d477a1064b1cc0f1d53a..0e089a43f8f7f930dde968687774c3528db18063 100644 (file)
@@ -13,11 +13,11 @@ SE_TR 1 004
 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_
@@ -46,89 +46,89 @@ 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
index f4fdf470812d4535e5f50148250d4c08a65f4689..a650eb40f42842eecb115f59018b56006e9d007f 100644 (file)
@@ -1,18 +1,18 @@
 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
index 9ca75258b4cdf8f57f943c5300020a90dba366a5..a0424faf5479ae81b7851d38864ce89a3eba6bcd 100644 (file)
@@ -1,6 +1,6 @@
 [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
@@ -27,17 +27,6 @@ trb_net_lvds_chain_testbench.API1.ACTIVE_API.int_init_read_in
 #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]
@@ -54,9 +43,6 @@ trb_net_lvds_chain_testbench.API1.IOBUF.INITOBUF.med_read_in
 @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
@@ -81,7 +67,20 @@ trb_net_lvds_chain_testbench.API1.MPLEX.mux_enable
 @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
@@ -92,10 +91,35 @@ 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]
+@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
+-
index e2a6f3a96a771d9942e68f898ea9343826446f07..c73d3e259ce7c832cc34b8b4a91b6a25e5504a23 100644 (file)
@@ -14,7 +14,7 @@ end trb_net_lvds_chain_testbench;
 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
@@ -137,6 +137,73 @@ component trb_net_active_apimbuf 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;
@@ -172,6 +239,40 @@ component trb_net_dummy_apl
 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;
@@ -227,8 +328,8 @@ signal ctrl: std_logic_vector(31 downto 0) := (others => '0');
 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
@@ -242,7 +343,7 @@ begin
   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
@@ -260,8 +361,8 @@ APL1: trb_net_dummy_apl
     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,
@@ -289,14 +390,14 @@ APL1: trb_net_dummy_apl
       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',
 
@@ -370,11 +471,11 @@ API1: trb_net_active_apimbuf
       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',
       
@@ -422,7 +523,7 @@ API2: trb_net_active_apimbuf
 
 LVDS1: trb_net_med_13bit_slow
   generic map( 
-    TRANSMISSION_CLOCK_DIVIDER => 2
+    TRANSMISSION_CLOCK_DIVIDER => 4
   )
   port map(
     --  Misc
@@ -466,11 +567,11 @@ LVDS1: trb_net_med_13bit_slow
   
 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',
 
@@ -510,9 +611,9 @@ LVDS2: trb_net_med_13bit_slow
   
 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
index fa937d6ded6b92222c1ec4a8b751d10d8a80269a..db80bd57906e3c244fc552900eeed5e0792cd437 100644 (file)
@@ -10,9 +10,13 @@ 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_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"
index 53944bc5576992f24dc21a2652794034d9ff2b00..e592841b44c9523ca145c965638101b98668a918 100644 (file)
@@ -19,12 +19,12 @@ entity trb_net16_endpoint_0_trg_1_api is
     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(
index 060520cf2301414393a613682ec64ccf2164b9c1..27af05ef51b7bf746f547f9e0bd818f361568c45 100644 (file)
@@ -15,7 +15,7 @@ entity trb_net16_hub_base is
     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;
index 5c1805e19cf79643eed276c483436bbacdd9e768..d4887c3fc8ed640cfa35aebd4806bee6b3b2bc68 100644 (file)
@@ -243,7 +243,7 @@ ARBITER: trb_net_priority_arbiter
     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)
index 912c32294adc8379ef747ffe5964793a832e2e0e..d2a22c5a492fbe82365b30616ebb362485e0a0f6 100644 (file)
@@ -57,6 +57,7 @@ architecture trb_net16_med_tlk_arch of trb_net16_med_tlk is
 
   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;
@@ -82,7 +83,7 @@ begin
   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';
@@ -98,7 +99,7 @@ begin
       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,
@@ -107,6 +108,7 @@ begin
       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;
index 2663850bc7ae0c7a1f32746c53bbc93866aa681a..a694d3aa3cdcb0f79b77c0bd6796d2ff6634336d 100644 (file)
@@ -22,7 +22,7 @@ USE IEEE.STD_LOGIC_UNSIGNED.ALL;
 
 library work;
 use work.trb_net_std.all;
-use work.trb_net_cfg.all;
+
 
 entity trb_net16_sbuf is
   generic (
index 57bbe04b407e493f35323731af9fa2c1b9be829f..a530da5905b0f016c2f6316975ce96d0bb477b6f 100644 (file)
@@ -106,7 +106,8 @@ begin
         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';
@@ -197,9 +198,11 @@ begin
     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;
@@ -210,10 +213,8 @@ begin
       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;
index 8ba832b0feb8fa102550c79a171f5941a82a7694..3e55e157042175bf48e288f9dcb8fd53e101ad48 100644 (file)
@@ -19,7 +19,6 @@ USE IEEE.STD_LOGIC_UNSIGNED.ALL;
 
 library work;
 use work.trb_net_std.all;
-use work.trb_net_cfg.all;
 
 entity trb_net_sbuf is
   generic (
index 5fc7b9f1dd1cbb2a53486f3f7d9a587b90700971..ed971cd4e068e630e894c6dfdbc934d3c0dc7043 100644 (file)
@@ -14,7 +14,7 @@ package trb_net_std is
 
   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);
@@ -32,7 +32,7 @@ package trb_net_std is
   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;