gen/fhdl/verilog: explicitly define input/output/inout wires.
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Tue, 5 May 2020 14:58:33 +0000 (16:58 +0200)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Tue, 5 May 2020 14:58:33 +0000 (16:58 +0200)
When integrating designs which set `default_nettype none, the top also needs
to explicitly define the type of the signals.

litex/gen/fhdl/verilog.py

index f515dbfb2848779123207c080a1ccc4584def775..98a732707cb4ac8af4899cf23e92d3159f35e619 100644 (file)
@@ -236,17 +236,17 @@ def _printheader(f, ios, name, ns, attr_translate,
         sig.type = "wire"
         if sig in inouts:
             sig.direction = "inout"
-            r += "\tinout " + _printsig(ns, sig)
+            r += "\tinout wire " + _printsig(ns, sig)
         elif sig in targets:
             sig.direction = "output"
             if sig in wires:
-                r += "\toutput " + _printsig(ns, sig)
+                r += "\toutput wire " + _printsig(ns, sig)
             else:
                 sig.type = "reg"
                 r += "\toutput reg " + _printsig(ns, sig)
         else:
             sig.direction = "input"
-            r += "\tinput " + _printsig(ns, sig)
+            r += "\tinput wire " + _printsig(ns, sig)
     r += "\n);\n\n"
     for sig in sorted(sigs - ios, key=lambda x: x.duid):
         attr = _printattr(sig.attr, attr_translate)