Skip to content

Commit a797ef8

Browse files
committed
fhdl: memory: prepare for dat_r being None
prepare for dat_r of a memory port being None. could come with m-labs/migen#313 Signed-off-by: Fin Maaß <[email protected]>
1 parent 0012929 commit a797ef8

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

litex/gen/fhdl/memory.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ def _get_name(e):
4747
r += "//" + "-"*78 + "\n"
4848
for n, port in enumerate(memory.ports):
4949
r += f"// Port {n} | "
50-
if port.async_read:
50+
if port.dat_r is None:
51+
r += "Read: ---- | "
52+
elif port.async_read:
5153
r += "Read: Async | "
5254
else:
5355
r += "Read: Sync | "
@@ -84,7 +86,7 @@ def _get_name(e):
8486
# --------------------------
8587
for n, port in enumerate(memory.ports):
8688
# No Intermediate Signal for Async Read.
87-
if port.async_read:
89+
if port.dat_r is None or port.async_read:
8890
continue
8991

9092
# Create Address Register in Write-First mode.
@@ -121,7 +123,7 @@ def _get_name(e):
121123
r += f"\t\t{_get_name(memory)}[{_get_name(port.adr)}] <= {_get_name(port.dat_w)};\n"
122124

123125
# Read Logic.
124-
if not port.async_read:
126+
if port.dat_r is not None and not port.async_read:
125127
# In Write-First mode, Read from Address Register.
126128
if port.mode in [WRITE_FIRST]:
127129
rd = f"\t{_get_name(adr_regs[n])} <= {_get_name(port.adr)};\n"
@@ -146,6 +148,9 @@ def _get_name(e):
146148
# Ports Read Mapping.
147149
# -------------------
148150
for n, port in enumerate(memory.ports):
151+
if port.dat_r is None:
152+
continue
153+
149154
# Direct (Asynchronous) Read on Async-Read mode.
150155
if port.async_read:
151156
r += f"assign {_get_name(port.dat_r)} = {_get_name(memory)}[{_get_name(port.adr)}];\n"

0 commit comments

Comments
 (0)