-from nmigen import Elaboratable, Cat, Module, Signal, Instance
+from nmigen import Elaboratable, Cat, Module, Signal, ClockSignal, Instance
from nmigen.cli import rtlil
class ADD(Elaboratable):
def __init__(self, width):
+ self.we = Signal(8)
self.a = Signal(width)
self.b = Signal(width)
self.f = Signal(width)
a = Signal(9)
q = Signal(64) # output
d = Signal(64) # input
- we = Signal(8)
- sram = Instance("SPBlock_512W64B8W", i_a=a, o_q=q, i_d=d, i_we=we)
+ sram = Instance("SPBlock_512W64B8W", i_a=a, o_q=q, i_d=d,
+ i_we=self.we, i_clk=ClockSignal())
m.submodules += sram
# connect up some arbitrary signals
f.write(vl)
if __name__ == "__main__":
- alu = ADD(width=4)
- create_ilang(alu, [alu.a, alu.b, alu.f], "memory")
+ alu = ADD(width=64)
+ create_ilang(alu, [alu.a, alu.b, alu.f, alu.we], "memory")