aboutsummaryrefslogtreecommitdiffstats
path: root/usrp2/vrt/vita_tx_chain.v
diff options
context:
space:
mode:
authorMatt Ettus <matt@ettus.com>2010-10-08 14:01:33 -0700
committerMatt Ettus <matt@ettus.com>2010-10-08 14:01:33 -0700
commit37f928fa5a3c01bd522a1d0db17d88ce4cdd0e03 (patch)
tree0662e958984222a8203de1b2fdea372d649525b4 /usrp2/vrt/vita_tx_chain.v
parent26ada69153c8db487dda81ca63a5ea9c7ac6ba88 (diff)
downloaduhd-37f928fa5a3c01bd522a1d0db17d88ce4cdd0e03.tar.gz
uhd-37f928fa5a3c01bd522a1d0db17d88ce4cdd0e03.tar.bz2
uhd-37f928fa5a3c01bd522a1d0db17d88ce4cdd0e03.zip
checkpoint in flow control packet generation
Diffstat (limited to 'usrp2/vrt/vita_tx_chain.v')
-rw-r--r--usrp2/vrt/vita_tx_chain.v28
1 files changed, 19 insertions, 9 deletions
diff --git a/usrp2/vrt/vita_tx_chain.v b/usrp2/vrt/vita_tx_chain.v
index 662cdca62..12e94b1a8 100644
--- a/usrp2/vrt/vita_tx_chain.v
+++ b/usrp2/vrt/vita_tx_chain.v
@@ -24,9 +24,10 @@ module vita_tx_chain
wire trigger, sent;
wire [31:0] debug_vtc, debug_vtd, debug_tx_dsp;
- wire error;
+ wire error, packet_consumed;
wire [31:0] error_code;
wire clear_seqnum;
+ wire [15:0] current_seqnum;
assign underrun = error;
assign message = error_code;
@@ -40,6 +41,7 @@ module vita_tx_chain
.set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
.data_i(tx_data_i), .src_rdy_i(tx_src_rdy_i), .dst_rdy_o(tx_dst_rdy_o),
.sample_fifo_o(tx1_data), .sample_fifo_src_rdy_o(tx1_src_rdy), .sample_fifo_dst_rdy_i(tx1_dst_rdy),
+ .current_seqnum(current_seqnum),
.debug(debug_vtd) );
vita_tx_control #(.BASE(BASE_CTRL), .WIDTH(32*MAXCHAN)) vita_tx_control
@@ -47,7 +49,7 @@ module vita_tx_chain
.set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
.vita_time(vita_time),.error(error),.error_code(error_code),
.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), .strobe(strobe_tx),
+ .sample(sample_tx), .run(run), .strobe(strobe_tx), .packet_consumed(packet_consumed),
.debug(debug_vtc) );
dsp_core_tx #(.BASE(BASE_DSP)) dsp_core_tx
@@ -59,13 +61,21 @@ module vita_tx_chain
generate
if(REPORT_ERROR==1)
- gen_context_pkt #(.PROT_ENG_FLAGS(PROT_ENG_FLAGS)) gen_tx_err_pkt
- (.clk(clk), .reset(reset), .clear(clear_vita),
- .trigger(error), .sent(),
- .streamid(streamid), .vita_time(vita_time), .message(message),
- .data_o(err_data_o), .src_rdy_o(err_src_rdy_o), .dst_rdy_i(err_dst_rdy_i));
+ begin
+ gen_context_pkt #(.PROT_ENG_FLAGS(PROT_ENG_FLAGS)) gen_tx_err_pkt
+ (.clk(clk), .reset(reset), .clear(clear_vita),
+ .trigger(trigger),.error(error), .sent(),
+ .streamid(streamid), .vita_time(vita_time), .message(message),
+ .seqnum0(current_seqnum), .seqnum1(16'd0),
+ .data_o(err_data_o), .src_rdy_o(err_src_rdy_o), .dst_rdy_i(err_dst_rdy_i));
+ trigger_context_pkt #(.BASE(BASE_CTRL)) trigger_context_pkt
+ (.clk(clk), .reset(reset), .clear(clear_vita),
+ .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data),
+ .packet_consumed(packet_consumed), .trigger(trigger));
+ end
endgenerate
-
- assign debug = debug_vtc | debug_vtd;
+
+ //assign debug = debug_vtc | debug_vtd;
+ assign debug = { debug_vtd[15:0], current_seqnum };
endmodule // vita_tx_chain