diff options
author | Matt Ettus <matt@ettus.com> | 2010-05-03 12:34:45 -0700 |
---|---|---|
committer | Matt Ettus <matt@ettus.com> | 2010-05-03 12:34:45 -0700 |
commit | b30cbe85e8537de6a94e481a57033b5e57a73e12 (patch) | |
tree | 138215aa5f5b3b12913b581e3819938f00be147e /usrp2/gpmc/fifo_watcher.v | |
parent | eb5bfb963459dbb3e51df49b5aa22fcbda1627d5 (diff) | |
download | uhd-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.v | 6 |
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) |