gen/fhdl/verilog: allow single element verilog inline attribute
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Wed, 28 Aug 2019 03:15:45 +0000 (05:15 +0200)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Wed, 28 Aug 2019 03:24:11 +0000 (05:24 +0200)
litex/build/lattice/diamond.py
litex/gen/fhdl/verilog.py

index da1c441f17855007f2c0709af3090888b380d9a9..a22288fd9a84de8fffb56e60dae9be154088c892 100644 (file)
@@ -10,8 +10,6 @@ import shutil
 
 from migen.fhdl.structure import _Fragment
 
-from litex.gen.fhdl.verilog import DummyAttrTranslate
-
 from litex.build.generic_platform import *
 from litex.build import tools
 from litex.build.lattice import common
index 0e34af26fcd79dfda1bc0bf5a78c81dc4b26ab76..b0fc69faceaee3bca55651eed1079789f7aadd3d 100644 (file)
@@ -198,11 +198,13 @@ def _printattr(attr, attr_translate):
     firsta = True
     for attr in sorted(attr,
                        key=lambda x: ("", x) if isinstance(x, str) else x):
+        # platform-dependent attribute
         if isinstance(attr, tuple):
-            # platform-dependent attribute
             attr_name, attr_value = attr
+        elif attr not in attr_translate.keys():
+            attr_name, attr_value = attr, None
+        # translated attribute
         else:
-            # translated attribute
             at = attr_translate[attr]
             if at is None:
                 continue
@@ -210,7 +212,9 @@ def _printattr(attr, attr_translate):
         if not firsta:
             r += ", "
         firsta = False
-        r += attr_name + " = \"" + attr_value + "\""
+        r += attr_name
+        if attr_value is not None:
+            r += " = \"" + attr_value + "\""
     if r:
         r = "(* " + r + " *)"
     return r
@@ -366,14 +370,9 @@ def _printspecials(overrides, specials, ns, add_data_file, attr_translate):
     return r
 
 
-class DummyAttrTranslate:
-    def __getitem__(self, k):
-        return (k, "true")
-
-
 def convert(f, ios=None, name="top",
   special_overrides=dict(),
-  attr_translate=DummyAttrTranslate(),
+  attr_translate={},
   create_clock_domains=True,
   display_run=False,
   reg_initialization=True,