Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Kestrel Collaboration
Kestrel LiteX
migen
Commits
e63093ba
Commit
e63093ba
authored
6 years ago
by
N. Engelhardt
Committed by
Sébastien Bourdeauducq
6 years ago
Browse files
Options
Download
Email Patches
Plain Diff
genlib/fifo: fix data output changing while not reading when fifo is full in non-fwft mode
parent
13ee25bc
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
3 additions
and
3 deletions
+3
-3
migen/genlib/fifo.py
migen/genlib/fifo.py
+3
-3
No files found.
migen/genlib/fifo.py
View file @
e63093ba
from
migen.fhdl.structure
import
*
from
migen.fhdl.structure
import
*
from
migen.fhdl.module
import
Module
from
migen.fhdl.module
import
Module
from
migen.fhdl.specials
import
Memory
from
migen.fhdl.specials
import
Memory
,
READ_FIRST
from
migen.fhdl.bitcontainer
import
log2_int
from
migen.fhdl.bitcontainer
import
log2_int
from
migen.fhdl.decorators
import
ClockDomainsRenamer
from
migen.fhdl.decorators
import
ClockDomainsRenamer
from
migen.genlib.cdc
import
MultiReg
,
GrayCounter
from
migen.genlib.cdc
import
MultiReg
,
GrayCounter
...
@@ -89,7 +89,7 @@ class SyncFIFO(Module, _FIFOInterface):
...
@@ -89,7 +89,7 @@ class SyncFIFO(Module, _FIFOInterface):
storage
=
Memory
(
self
.
width
,
depth
)
storage
=
Memory
(
self
.
width
,
depth
)
self
.
specials
+=
storage
self
.
specials
+=
storage
wrport
=
storage
.
get_port
(
write_capable
=
True
)
wrport
=
storage
.
get_port
(
write_capable
=
True
,
mode
=
READ_FIRST
)
self
.
specials
+=
wrport
self
.
specials
+=
wrport
self
.
comb
+=
[
self
.
comb
+=
[
If
(
self
.
replace
,
If
(
self
.
replace
,
...
@@ -106,7 +106,7 @@ class SyncFIFO(Module, _FIFOInterface):
...
@@ -106,7 +106,7 @@ class SyncFIFO(Module, _FIFOInterface):
do_read
=
Signal
()
do_read
=
Signal
()
self
.
comb
+=
do_read
.
eq
(
self
.
readable
&
self
.
re
)
self
.
comb
+=
do_read
.
eq
(
self
.
readable
&
self
.
re
)
rdport
=
storage
.
get_port
(
async_read
=
fwft
,
has_re
=
not
fwft
)
rdport
=
storage
.
get_port
(
async_read
=
fwft
,
has_re
=
not
fwft
,
mode
=
READ_FIRST
)
self
.
specials
+=
rdport
self
.
specials
+=
rdport
self
.
comb
+=
[
self
.
comb
+=
[
rdport
.
adr
.
eq
(
consume
),
rdport
.
adr
.
eq
(
consume
),
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment