Make oe in SRAMResource optional.
authorWilliam D. Jones <thor0505@comcast.net>
Sun, 4 Aug 2019 13:32:34 +0000 (09:32 -0400)
committerwhitequark <whitequark@whitequark.org>
Sun, 4 Aug 2019 13:32:34 +0000 (13:32 +0000)
nmigen_boards/dev/sram.py

index 4eb4eca723db19ac1632d7a4d7f7e179e432c1a4..14e31ce50c1f3bb6d6d261b06df0f7ff5c7f8cb7 100644 (file)
@@ -4,10 +4,12 @@ from nmigen.build import *
 __all__ = ["SRAMResource"]
 
 
-def SRAMResource(*args, cs, oe, we, a, d, dm=None, attrs=None):
+def SRAMResource(*args, cs, oe=None, we, a, d, dm=None, attrs=None):
     io = []
     io.append(Subsignal("cs", PinsN(cs, dir="o", assert_width=1)))
-    io.append(Subsignal("oe", PinsN(oe, dir="o", assert_width=1)))
+    if oe is not None:
+        # Asserted WE# deactivates the D output buffers, so WE# can be used to replace OE#.
+        io.append(Subsignal("oe", PinsN(oe, dir="o", assert_width=1)))
     io.append(Subsignal("we", PinsN(we, dir="o", assert_width=1)))
     io.append(Subsignal("a", Pins(a, dir="o")))
     io.append(Subsignal("d", Pins(d, dir="io")))