diff options
| -rw-r--r-- | top/u2_core/u2_core.v | 30 | ||||
| -rw-r--r-- | vrt/vita_tx_control.v | 11 | ||||
| -rw-r--r-- | vrt/vita_tx_deframer.v | 8 | 
3 files changed, 35 insertions, 14 deletions
| diff --git a/top/u2_core/u2_core.v b/top/u2_core/u2_core.v index 5dd7c6282..e6001a412 100644 --- a/top/u2_core/u2_core.v +++ b/top/u2_core/u2_core.v @@ -593,25 +593,31 @@ module u2_core     wire [35:0] 	 tx_data;     wire [99:0] 	 tx1_data;     wire 	 tx_src_rdy, tx_dst_rdy, tx1_src_rdy, tx1_dst_rdy; + +   wire [31:0] 	 debug_vtc, debug_vtd, debug_vt;     fifo_cascade #(.WIDTH(36), .SIZE(10)) tx_fifo_cascade       (.clk(dsp_clk), .reset(dsp_rst), .clear(0), -      .datain({rd1_flags,rd1_dat}), .src_rdy_i(rd1_ready_o), .dst_rdy_o(rd_ready_i), +      .datain({rd1_flags,rd1_dat}), .src_rdy_i(rd1_ready_o), .dst_rdy_o(rd1_ready_i),        .dataout(tx_data), .src_rdy_o(tx_src_rdy), .dst_rdy_i(tx_dst_rdy) );     vita_tx_deframer #(.BASE(SR_TX_CTRL), .MAXCHAN(1)) vita_tx_deframer       (.clk(dsp_clk), .reset(dsp_rst), .clear(0),        .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),        .data_i(tx_data), .src_rdy_i(tx_src_rdy), .dst_rdy_o(tx_dst_rdy), -      .sample_fifo_o(tx1_data), .sample_fifo_src_rdy_o(tx1_src_rdy), .sample_fifo_dst_rdy_i(tx1_dst_rdy)); +      .sample_fifo_o(tx1_data), .sample_fifo_src_rdy_o(tx1_src_rdy), .sample_fifo_dst_rdy_i(tx1_dst_rdy), +      .debug(debug_vtd) );     vita_tx_control #(.BASE(SR_TX_CTRL), .WIDTH(32)) vita_tx_control       (.clk(dsp_clk), .reset(dsp_rst), .clear(0),        .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),        .vita_time(vita_time),.underrun(underrun),        .sample_fifo_i(tx1_data), .sample_fifo_src_rdy_i(tx1_src_rdy), .sample_fifo_dst_rdy_o(tx1_dst_rdy), -      .sample(sample_tx), .run(run_tx), .strobe(strobe_tx) ); -       +      .sample(sample_tx), .run(run_tx), .strobe(strobe_tx), +      .debug(debug_vtc) ); +    +   assign debug_vt = debug_vtc | debug_vtd; +        dsp_core_tx dsp_core_tx       (.clk(dsp_clk),.rst(dsp_rst),        .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data), @@ -622,7 +628,7 @@ module u2_core     // ///////////////////////////////////////////////////////////////////////////////////     // SERDES - +/*     serdes #(.TXFIFOSIZE(9),.RXFIFOSIZE(9)) serdes       (.clk(dsp_clk),.rst(dsp_rst),        .ser_tx_clk(ser_tx_clk),.ser_t(ser_t),.ser_tklsb(ser_tklsb),.ser_tkmsb(ser_tkmsb), @@ -632,7 +638,7 @@ module u2_core        .tx_occupied(ser_tx_occ),.tx_full(ser_tx_full),.tx_empty(ser_tx_empty),        .rx_occupied(ser_rx_occ),.rx_full(ser_rx_full),.rx_empty(ser_rx_empty),        .serdes_link_up(serdes_link_up),.debug0(debug_serdes0), .debug1(debug_serdes1) ); - +*/     // ///////////////////////////////////////////////////////////////////////////////////     // External RAM Interface @@ -700,7 +706,8 @@ module u2_core  			{eth_rx_full2, eth_rx_empty2, eth_rx_occ2[13:0]} };     assign  debug_clk[0]  = 0; // wb_clk; -   assign  debug_clk[1]  = clk_to_mac;	 +   assign  debug_clk[1]  = dsp_clk; +  /*     wire        mdio_cpy  = MDIO; @@ -714,14 +721,15 @@ module u2_core  			     { 5'd0, GMII_TX_EN, GMII_TX_ER, GMII_GTX_CLK },  			     { wr2_flags, rd2_flags },  			     { 4'd0, wr2_ready_i, wr2_ready_o, rd2_ready_i, rd2_ready_o } }; - */             assign debug 	 = { { GMII_RXD },  			     { 5'd0, GMII_RX_DV, GMII_RX_ER, GMII_RX_CLK },  			     { wr2_flags, rd2_flags },  			     { GMII_TX_EN,3'd0, wr2_ready_i, wr2_ready_o, rd2_ready_i, rd2_ready_o } }; -           -   assign  debug_gpio_0 = debug_mac; //eth_mac_debug; -   assign  debug_gpio_1 = 0; + */ + +   assign debug = debug_vt; +   assign debug_gpio_0 = sample_tx; +   assign debug_gpio_1 = 0;  endmodule // u2_core diff --git a/vrt/vita_tx_control.v b/vrt/vita_tx_control.v index a887f056f..e53b968a5 100644 --- a/vrt/vita_tx_control.v +++ b/vrt/vita_tx_control.v @@ -16,9 +16,11 @@ module vita_tx_control      // To DSP Core      output [WIDTH-1:0] sample,      output run, -    input strobe -    ); +    input strobe, +    output [31:0] debug +    ); +        assign sample = sample_fifo_i[4+64+WIDTH-1:4+64];     wire [63:0] send_time = sample_fifo_i[63:0]; @@ -66,5 +68,10 @@ module vita_tx_control     assign sample_fifo_dst_rdy_o = (strobe & (ibs_state == IBS_RUN));  // FIXME also cleanout     assign run = (ibs_state == IBS_RUN);     assign underrun = (ibs_state == IBS_UNDERRUN); + +   assign debug = { { now,early,late,too_early,eop,eob,sob,send_at }, +		    { sample_fifo_src_rdy_i, sample_fifo_dst_rdy_o, strobe, run, underrun, ibs_state[2:0] }, +		    { 8'b0 }, +		    { 8'b0 } };  endmodule // vita_tx_control diff --git a/vrt/vita_tx_deframer.v b/vrt/vita_tx_deframer.v index f6f9f3da8..470ba3f3e 100644 --- a/vrt/vita_tx_deframer.v +++ b/vrt/vita_tx_deframer.v @@ -17,7 +17,8 @@ module vita_tx_deframer      // FIFO Levels      output [15:0] fifo_occupied,      output fifo_full, -    output fifo_empty     +    output fifo_empty, +    output [31:0] debug      );     wire [1:0] numchan; @@ -177,5 +178,10 @@ module vita_tx_deframer     assign fifo_i = {sample_d,sample_c,sample_b,sample_a,has_secs_reg,is_sob_reg,is_eob_reg,eop,send_time};     assign dst_rdy_o = (vita_state != VITA_PAYLOAD); + +   assign debug = { { 8'b0 }, +		    { 8'b0 }, +		    { eof, line_done, store, fifo_space, src_rdy_i, dst_rdy_o, vector_phase[1:0] }, +		    { has_secs_reg, is_sob_reg, is_eob_reg, eop, vita_state[3:0] } };  endmodule // vita_tx_deframer | 
