From 492c5d53c31dd403817a27c6b25c30f8e089693b Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Thu, 19 Aug 2010 20:25:15 -0700 Subject: capacity logic fix --- usrp2/extramfifo/nobl_fifo.v | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'usrp2/extramfifo') diff --git a/usrp2/extramfifo/nobl_fifo.v b/usrp2/extramfifo/nobl_fifo.v index cec2a5c4b..62229e6c2 100644 --- a/usrp2/extramfifo/nobl_fifo.v +++ b/usrp2/extramfifo/nobl_fifo.v @@ -56,7 +56,7 @@ module nobl_fifo // Capacity is already zero; Capacity is 1 and write is asserted (lookahead); both read and write are asserted (collision) space_avail <= ~((capacity == 0) || (read&&write) || ((capacity == 1) && write) ); // Capacity has 1 cycle delay so look ahead here for corner case of read of last item in FIFO. - data_avail_int <= ~((capacity == (1 << (FIFO_DEPTH-1))) || ((capacity == ((1 << (FIFO_DEPTH-1))-1)) && read) ); + data_avail_int <= ~((capacity == ((1 << FIFO_DEPTH)-1)) || ((capacity == ((1 << FIFO_DEPTH)-2)) && read) ); wr_pointer <= wr_pointer + write; rd_pointer <= rd_pointer + (~write && read); capacity <= capacity - write + (~write && read) ; -- cgit v1.2.3