Skip to content

Commit e63093b

Browse files
nakengelhardtsbourdeauducq
authored andcommittedDec 4, 2017
genlib/fifo: fix data output changing while not reading when fifo is full in non-fwft mode
1 parent 13ee25b commit e63093b

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed
 

Diff for: ‎migen/genlib/fifo.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from migen.fhdl.structure import *
22
from migen.fhdl.module import Module
3-
from migen.fhdl.specials import Memory
3+
from migen.fhdl.specials import Memory, READ_FIRST
44
from migen.fhdl.bitcontainer import log2_int
55
from migen.fhdl.decorators import ClockDomainsRenamer
66
from migen.genlib.cdc import MultiReg, GrayCounter
@@ -89,7 +89,7 @@ def __init__(self, width, depth, fwft=True):
8989
storage = Memory(self.width, depth)
9090
self.specials += storage
9191

92-
wrport = storage.get_port(write_capable=True)
92+
wrport = storage.get_port(write_capable=True, mode=READ_FIRST)
9393
self.specials += wrport
9494
self.comb += [
9595
If(self.replace,
@@ -106,7 +106,7 @@ def __init__(self, width, depth, fwft=True):
106106
do_read = Signal()
107107
self.comb += do_read.eq(self.readable & self.re)
108108

109-
rdport = storage.get_port(async_read=fwft, has_re=not fwft)
109+
rdport = storage.get_port(async_read=fwft, has_re=not fwft, mode=READ_FIRST)
110110
self.specials += rdport
111111
self.comb += [
112112
rdport.adr.eq(consume),

0 commit comments

Comments
 (0)