summaryrefslogtreecommitdiffstats
path: root/usrp2/extramfifo/nobl_fifo.v
diff options
context:
space:
mode:
authorianb <ianb@astro.localdomain>2010-08-25 16:32:43 -0700
committerMatt Ettus <matt@ettus.com>2010-11-11 12:06:12 -0800
commitb4d3dba56fd7dd709ec26b89a2e17002e77b202a (patch)
tree8e43efbef505e2e8b9c5eabf0d21c834093ce743 /usrp2/extramfifo/nobl_fifo.v
parenta782395e91a9d2e22369ca35f74421a91f266060 (diff)
downloaduhd-b4d3dba56fd7dd709ec26b89a2e17002e77b202a.tar.gz
uhd-b4d3dba56fd7dd709ec26b89a2e17002e77b202a.tar.bz2
uhd-b4d3dba56fd7dd709ec26b89a2e17002e77b202a.zip
Corrected extfifo code so that all registers that are on SRAM signals are packed into IOBs
Explcit drives and skews added to GPIO pins Corrected minor error in FIFO logic that showed data avail internally incorrectly
Diffstat (limited to 'usrp2/extramfifo/nobl_fifo.v')
-rw-r--r--usrp2/extramfifo/nobl_fifo.v4
1 files changed, 2 insertions, 2 deletions
diff --git a/usrp2/extramfifo/nobl_fifo.v b/usrp2/extramfifo/nobl_fifo.v
index 62229e6c2..4c009d980 100644
--- a/usrp2/extramfifo/nobl_fifo.v
+++ b/usrp2/extramfifo/nobl_fifo.v
@@ -47,7 +47,7 @@ module nobl_fifo
capacity <= (1 << FIFO_DEPTH) - 1;
wr_pointer <= 0;
rd_pointer <= 0;
- space_avail <= 0;
+ space_avail <= 1;
data_avail_int <= 0;
end
else
@@ -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)-2)) && read) );
+ data_avail_int <= ~((capacity == ((1 << FIFO_DEPTH)-1)) || ((capacity == ((1 << FIFO_DEPTH)-2)) && (~write && read)) );
wr_pointer <= wr_pointer + write;
rd_pointer <= rd_pointer + (~write && read);
capacity <= capacity - write + (~write && read) ;