Skip to content

Commit a3a55fc

Browse files
committed
build/efinix/common: Directly pass ClockSignal/Signal to blocks and let the build resolve names.
1 parent fde9d2e commit a3a55fc

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

litex/build/efinix/common.py

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,16 @@
3333
r"\g<0>" + colorama.Style.RESET_ALL),
3434
]
3535

36+
# Helpers ------------------------------------------------------------------------------------------
37+
38+
def _to_signal(obj):
39+
if isinstance(obj, str):
40+
return ClockSignal(obj)
41+
elif isinstance(obj, Signal):
42+
return obj
43+
else:
44+
raise ValueError
45+
3646
# Efinix AsyncResetSynchronizer --------------------------------------------------------------------
3747

3848
class EfinixAsyncResetSynchronizerImpl(Module):
@@ -109,7 +119,7 @@ def __init__(self, platform, i, o):
109119
"size" : 1,
110120
"location" : platform.get_pin_location(o)[0],
111121
"properties" : platform.get_pin_properties(o),
112-
"name" : i.name_override, # FIXME
122+
"name" : _to_signal(i),
113123
"mode" : "OUTPUT_CLK",
114124
}
115125
platform.toolchain.ifacewriter.blocks.append(block)
@@ -290,9 +300,9 @@ def __init__(self, platform, io, o1, o2, oe1, oe2, i1, i2, clk):
290300
"properties" : io_prop,
291301
"size" : 1,
292302
"in_reg" : "DDIO_RESYNC",
293-
"in_clk_pin" : clk.name_override, # FIXME.
303+
"in_clk_pin" : _to_signal(clk),
294304
"out_reg" : "DDIO_RESYNC",
295-
"out_clk_pin" : clk.name_override, # FIXME.
305+
"out_clk_pin" : _to_signal(clk),
296306
"oe_reg" : "REG",
297307
"is_inclk_inverted" : False,
298308
"drive_strength" : io_prop_dict.get("DRIVE_STRENGTH", "4")
@@ -327,9 +337,9 @@ def __init__(self, platform, io, o, oe, i, clk):
327337
"properties" : io_prop,
328338
"size" : 1,
329339
"in_reg" : "REG",
330-
"in_clk_pin" : clk.name_override, # FIXME.
340+
"in_clk_pin" : _to_signal(clk),
331341
"out_reg" : "REG",
332-
"out_clk_pin" : clk.name_override, # FIXME.
342+
"out_clk_pin" : _to_signal(clk),
333343
"oe_reg" : "REG",
334344
"is_inclk_inverted" : False,
335345
"drive_strength" : io_prop_dict.get("DRIVE_STRENGTH", "4")
@@ -361,7 +371,7 @@ def __init__(self, platform, i, o, clk):
361371
"properties" : io_prop,
362372
"size" : 1,
363373
"out_reg" : "REG",
364-
"out_clk_pin" : clk.name_override, # FIXME.
374+
"out_clk_pin" : _to_signal(clk),
365375
"is_inclk_inverted" : False,
366376
"drive_strength" : io_prop_dict.get("DRIVE_STRENGTH", "4")
367377
}
@@ -395,7 +405,7 @@ def __init__(self, platform, i1, i2, o, clk):
395405
"properties" : io_prop,
396406
"size" : 1,
397407
"out_reg" : "DDIO_RESYNC",
398-
"out_clk_pin" : clk.name_override, # FIXME.
408+
"out_clk_pin" : _to_signal(clk),
399409
"is_inclk_inverted" : False,
400410
"drive_strength" : io_prop_dict.get("DRIVE_STRENGTH", "4")
401411
}
@@ -426,7 +436,7 @@ def __init__(self, platform, i, o1, o2, clk):
426436
"properties" : io_prop,
427437
"size" : 1,
428438
"in_reg" : "DDIO_RESYNC",
429-
"in_clk_pin" : clk.name_override, # FIXME.
439+
"in_clk_pin" : _to_signal(clk),
430440
"is_inclk_inverted" : False
431441
}
432442
platform.toolchain.ifacewriter.blocks.append(block)

0 commit comments

Comments
 (0)