self.io = io
self.ck = ck = Signal()
self.cs = cs = Signal()
+ self.rst_n = rst_n = Signal()
self.dq_o = dq_o = Signal(8)
self.dq_i = dq_i = Signal(8)
def elaborate(self, platform):
m = Module()
comb = m.d.comb
- ck, cs = self.ck, self.cs
+ ck, cs, rst_n = self.ck, self.cs, self.rst_n
dq_o, dq_i, dq_oe = self.dq_o, self.dq_i, self.dq_oe
rwds_o, rwds_oe = self.rwds_o, self.rwds_oe
self.io["ck_o"].eq(ck),
self.io["ck_oe"].eq(0),
self.io["rwds_oe"].eq(~rwds_oe),
+ self.io["rst_n"].eq(rst_n),
]
for i in range(8):
class HyperRAMPads:
def __init__(self, dw=8):
+ self.rst_n = Signal()
self.ck = Signal()
self.cs_n = Signal()
self.dq = Record([("oe", 1), ("o", dw), ("i", dw)])
def ports(self):
return [self.ck, self.cs, self.dq.o, self.dq.i, self.dq.oe,
- self.rwds.o, self.rwds.oe]
+ self.rwds.o, self.rwds.oe, self.reset_n]
class HyperRAMPHY(Elaboratable):
self.pads = pads
self.ck = pads.ck
self.cs = Signal()
+ self.rst_n = pads.rst_n
self.dq_o = pads.dq.o
self.dq_i = pads.dq.i
self.dq_oe = pads.dq.oe
if __name__ == '__main__':
layout=[('rwds_o', 1), ('rwds_oe', 1),
('csn_o', 1), ('csn_oe', 1),
- ('ck_o', 1), ('ck_oe', 1)]
+ ('ck_o', 1), ('ck_oe', 1),
+ ('rst_n', 1)]
for i in range(8):
layout += [('d%d_o' % i, 1), ('d%d_oe' % i, 1), ('d%d_i' % i, 1)]
io = Record(layout=layout)