1 from nmigen
.build
import *
4 __all__
= ["SPIFlashResources"]
7 def SPIFlashResources(*args
, cs
, clk
, mosi
, miso
, wp
=None, hold
=None, attrs
=None):
13 io_all
.append(Subsignal("cs", PinsN(cs
, dir="o")))
14 io_all
.append(Subsignal("clk", Pins(clk
, dir="o")))
17 io_1x
.append(Subsignal("mosi", Pins(mosi
, dir="o")))
18 io_1x
.append(Subsignal("miso", Pins(miso
, dir="i")))
19 if wp
is not None and hold
is not None:
20 io_1x
.append(Subsignal("wp", PinsN(wp
, dir="o")))
21 io_1x
.append(Subsignal("hold", PinsN(hold
, dir="o")))
22 resources
.append(Resource
.family(*args
, default_name
="spi_flash", ios
=io_1x
,
26 io_2x
.append(Subsignal("dq", Pins(" ".join([mosi
, miso
]), dir="io")))
27 resources
.append(Resource
.family(*args
, default_name
="spi_flash", ios
=io_2x
,
30 if wp
is not None and hold
is not None:
32 io_4x
.append(Subsignal("dq", Pins(" ".join([mosi
, miso
, wp
, hold
]), dir="io")))
33 resources
.append(Resource
.family(*args
, default_name
="spi_flash", ios
=io_4x
,