|
33 | 33 | r"\g<0>" + colorama.Style.RESET_ALL),
|
34 | 34 | ]
|
35 | 35 |
|
| 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 | + |
36 | 46 | # Efinix AsyncResetSynchronizer --------------------------------------------------------------------
|
37 | 47 |
|
38 | 48 | class EfinixAsyncResetSynchronizerImpl(Module):
|
@@ -109,7 +119,7 @@ def __init__(self, platform, i, o):
|
109 | 119 | "size" : 1,
|
110 | 120 | "location" : platform.get_pin_location(o)[0],
|
111 | 121 | "properties" : platform.get_pin_properties(o),
|
112 |
| - "name" : i.name_override, # FIXME |
| 122 | + "name" : _to_signal(i), |
113 | 123 | "mode" : "OUTPUT_CLK",
|
114 | 124 | }
|
115 | 125 | platform.toolchain.ifacewriter.blocks.append(block)
|
@@ -290,9 +300,9 @@ def __init__(self, platform, io, o1, o2, oe1, oe2, i1, i2, clk):
|
290 | 300 | "properties" : io_prop,
|
291 | 301 | "size" : 1,
|
292 | 302 | "in_reg" : "DDIO_RESYNC",
|
293 |
| - "in_clk_pin" : clk.name_override, # FIXME. |
| 303 | + "in_clk_pin" : _to_signal(clk), |
294 | 304 | "out_reg" : "DDIO_RESYNC",
|
295 |
| - "out_clk_pin" : clk.name_override, # FIXME. |
| 305 | + "out_clk_pin" : _to_signal(clk), |
296 | 306 | "oe_reg" : "REG",
|
297 | 307 | "is_inclk_inverted" : False,
|
298 | 308 | "drive_strength" : io_prop_dict.get("DRIVE_STRENGTH", "4")
|
@@ -327,9 +337,9 @@ def __init__(self, platform, io, o, oe, i, clk):
|
327 | 337 | "properties" : io_prop,
|
328 | 338 | "size" : 1,
|
329 | 339 | "in_reg" : "REG",
|
330 |
| - "in_clk_pin" : clk.name_override, # FIXME. |
| 340 | + "in_clk_pin" : _to_signal(clk), |
331 | 341 | "out_reg" : "REG",
|
332 |
| - "out_clk_pin" : clk.name_override, # FIXME. |
| 342 | + "out_clk_pin" : _to_signal(clk), |
333 | 343 | "oe_reg" : "REG",
|
334 | 344 | "is_inclk_inverted" : False,
|
335 | 345 | "drive_strength" : io_prop_dict.get("DRIVE_STRENGTH", "4")
|
@@ -361,7 +371,7 @@ def __init__(self, platform, i, o, clk):
|
361 | 371 | "properties" : io_prop,
|
362 | 372 | "size" : 1,
|
363 | 373 | "out_reg" : "REG",
|
364 |
| - "out_clk_pin" : clk.name_override, # FIXME. |
| 374 | + "out_clk_pin" : _to_signal(clk), |
365 | 375 | "is_inclk_inverted" : False,
|
366 | 376 | "drive_strength" : io_prop_dict.get("DRIVE_STRENGTH", "4")
|
367 | 377 | }
|
@@ -395,7 +405,7 @@ def __init__(self, platform, i1, i2, o, clk):
|
395 | 405 | "properties" : io_prop,
|
396 | 406 | "size" : 1,
|
397 | 407 | "out_reg" : "DDIO_RESYNC",
|
398 |
| - "out_clk_pin" : clk.name_override, # FIXME. |
| 408 | + "out_clk_pin" : _to_signal(clk), |
399 | 409 | "is_inclk_inverted" : False,
|
400 | 410 | "drive_strength" : io_prop_dict.get("DRIVE_STRENGTH", "4")
|
401 | 411 | }
|
@@ -426,7 +436,7 @@ def __init__(self, platform, i, o1, o2, clk):
|
426 | 436 | "properties" : io_prop,
|
427 | 437 | "size" : 1,
|
428 | 438 | "in_reg" : "DDIO_RESYNC",
|
429 |
| - "in_clk_pin" : clk.name_override, # FIXME. |
| 439 | + "in_clk_pin" : _to_signal(clk), |
430 | 440 | "is_inclk_inverted" : False
|
431 | 441 | }
|
432 | 442 | platform.toolchain.ifacewriter.blocks.append(block)
|
|
0 commit comments