summaryrefslogtreecommitdiffstats
path: root/usrp2/gpmc/fifo_watcher.v
diff options
context:
space:
mode:
authorMatt Ettus <matt@ettus.com>2010-05-03 12:34:45 -0700
committerMatt Ettus <matt@ettus.com>2010-05-03 12:34:45 -0700
commitb30cbe85e8537de6a94e481a57033b5e57a73e12 (patch)
tree138215aa5f5b3b12913b581e3819938f00be147e /usrp2/gpmc/fifo_watcher.v
parenteb5bfb963459dbb3e51df49b5aa22fcbda1627d5 (diff)
downloaduhd-b30cbe85e8537de6a94e481a57033b5e57a73e12.tar.gz
uhd-b30cbe85e8537de6a94e481a57033b5e57a73e12.tar.bz2
uhd-b30cbe85e8537de6a94e481a57033b5e57a73e12.zip
have_space and have_packet now stay high even while busy,
as long as there really is more data/space. This should allow bursting without having additional interrupts. Also lenghten RX FIFO
Diffstat (limited to 'usrp2/gpmc/fifo_watcher.v')
-rw-r--r--usrp2/gpmc/fifo_watcher.v6
1 files changed, 4 insertions, 2 deletions
diff --git a/usrp2/gpmc/fifo_watcher.v b/usrp2/gpmc/fifo_watcher.v
index 7a3f00483..4bba142b0 100644
--- a/usrp2/gpmc/fifo_watcher.v
+++ b/usrp2/gpmc/fifo_watcher.v
@@ -10,11 +10,13 @@ module fifo_watcher
wire read = src_rdy2 & dst_rdy2 & eof2;
wire have_packet_int;
reg [15:0] counter;
+ wire [4:0] pkt_count;
fifo_short #(.WIDTH(16)) frame_lengths
(.clk(clk), .reset(reset), .clear(clear),
.datain(counter), .src_rdy_i(write), .dst_rdy_o(),
- .dataout(length), .src_rdy_o(have_packet_int), .dst_rdy_i(read) );
+ .dataout(length), .src_rdy_o(have_packet_int), .dst_rdy_i(read),
+ .occupied(pkt_count), .space());
always @(posedge clk)
if(reset | clear)
@@ -38,7 +40,7 @@ module fifo_watcher
if(reset | clear)
have_packet <= 0;
else
- have_packet <= have_packet_int & ~in_packet;
+ have_packet <= (have_packet_int & ~in_packet) | (pkt_count>1) ;
always @(posedge clk)
if(reset | clear)