build: use our own fhdl/verilog code (needed to avoid combinatorial loop in simulation)
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Tue, 1 May 2018 10:02:54 +0000 (12:02 +0200)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Tue, 1 May 2018 10:02:54 +0000 (12:02 +0200)
litex/build/generic_platform.py
litex/build/lattice/diamond.py
litex/gen/fhdl/verilog.py

index b082c3b32440f15db7c8fc9218f670d8b58ab1e4..c4c1e3ba9614b4d6e123df19cb2a37d2b7c38d9f 100644 (file)
@@ -3,7 +3,8 @@ import os
 from migen.fhdl.structure import Signal
 from migen.genlib.record import Record
 from migen.genlib.io import CRG
-from migen.fhdl import verilog
+
+from litex.gen.fhdl import verilog
 
 from litex.build import tools
 
index d0594ec9e3bcb403e2f9ba4360e4bfb340d9f4fd..e8486e333c5c1495d4b568c567d40af3570479fa 100644 (file)
@@ -7,7 +7,8 @@ import subprocess
 import shutil
 
 from migen.fhdl.structure import _Fragment
-from migen.fhdl.verilog import DummyAttrTranslate
+
+from litex.gen.fhdl.verilog import DummyAttrTranslate
 
 from litex.build.generic_platform import *
 from litex.build import tools
index 9ed17b0e76ee1690874110e96093007de2ae57c5..ec858b26491285d930076ae9e3b3da70a2424a13 100644 (file)
@@ -118,17 +118,6 @@ def _printexpr(ns, node):
 def _printnode(ns, at, level, node, target_filter=None):
     if target_filter is not None and target_filter not in list_targets(node):
         return ""
-    elif isinstance(node, Display):
-        s = "\"" + node.s + "\""
-        for arg in node.args:
-            s += ", "
-            if isinstance(arg, Signal):
-                s += ns.get_name(arg)
-            else:
-                s += str(arg)
-        return "\t"*level + "$display(" + s + ");\n"
-    elif isinstance(node, Finish):
-        return "\t"*level + "$finish;\n"
     elif isinstance(node, _Assign):
         if at == _AT_BLOCKING:
             assignment = " = "