02000d89e375f830a1760c13ef818f68cfc1287d
1 from nmigen
import Module
, Elaboratable
, Memory
4 class TestMemory(Elaboratable
):
5 def __init__(self
, regwid
, addrw
, granularity
=None, init
=True):
6 self
.ddepth
= 1 # regwid //8
7 depth
= (1<<addrw
) // self
.ddepth
10 print ("test memory", regwid
, depth
)
12 init
= range(0, depth
*2, 2)
15 self
.mem
= Memory(width
=regwid
, depth
=depth
, init
=init
)
16 self
.rdport
= self
.mem
.read_port() # not now transparent=False)
17 self
.wrport
= self
.mem
.write_port(granularity
=granularity
)
19 def elaborate(self
, platform
):
21 m
.submodules
.rdport
= self
.rdport
22 m
.submodules
.wrport
= self
.wrport
26 yield self
.rdport
.addr
27 yield self
.rdport
.data
29 yield self
.wrport
.addr
30 yield self
.wrport
.data