331352c6e847a1c1b4832ad8f9201fc394de6ee0
1 # Reference: https://www.digilentinc.com/Pmods/Digilent-Pmod_%20Interface_Specification.pdf
3 from nmigen
.build
import *
7 "PmodGPIOType1Resource",
8 "PmodSPIType2Resource",
9 "PmodSPIType2AResource",
10 "PmodUARTType3Resource",
11 "PmodUARTType4Resource",
12 "PmodUARTType4AResource",
13 "PmodHBridgeType5Resource",
14 "PmodDualHBridgeType6Resource",
18 def PmodGPIOType1Resource(name
, number
, *, pmod
, extras
=None):
19 return Resource(name
, number
,
20 Pins("1 2 3 4", dir="io", conn
=("pmod", pmod
)),
25 def PmodSPIType2Resource(name
, number
, *, pmod
, extras
=None):
26 return Resource(name
, number
,
27 Subsignal("cs_n", Pins("1", dir="o", conn
=("pmod", pmod
))),
28 Subsignal("clk", Pins("2", dir="o", conn
=("pmod", pmod
))),
29 Subsignal("mosi", Pins("3", dir="o", conn
=("pmod", pmod
))),
30 Subsignal("miso", Pins("4", dir="i", conn
=("pmod", pmod
))),
35 def PmodSPIType2AResource(name
, number
, *, pmod
, extras
=None):
36 return Resource(name
, number
,
37 Subsignal("cs_n", Pins("1", dir="o", conn
=("pmod", pmod
))),
38 Subsignal("clk", Pins("2", dir="o", conn
=("pmod", pmod
))),
39 Subsignal("mosi", Pins("3", dir="o", conn
=("pmod", pmod
))),
40 Subsignal("miso", Pins("4", dir="i", conn
=("pmod", pmod
))),
41 Subsignal("int", Pins("7", dir="i", conn
=("pmod", pmod
))),
42 Subsignal("reset", Pins("8", dir="o", conn
=("pmod", pmod
))),
47 def PmodUARTType3Resource(name
, number
, *, pmod
, extras
=None):
48 return Resource(name
, number
,
49 Subsignal("cts", Pins("1", dir="o", conn
=("pmod", pmod
))),
50 Subsignal("rts", Pins("2", dir="i", conn
=("pmod", pmod
))),
51 Subsignal("rx", Pins("3", dir="i", conn
=("pmod", pmod
))),
52 Subsignal("tx", Pins("4", dir="o", conn
=("pmod", pmod
))),
57 def PmodUARTType4Resource(name
, number
, *, pmod
, extras
=None):
58 return Resource(name
, number
,
59 Subsignal("cts", Pins("1", dir="i", conn
=("pmod", pmod
))),
60 Subsignal("tx", Pins("2", dir="o", conn
=("pmod", pmod
))),
61 Subsignal("rx", Pins("3", dir="i", conn
=("pmod", pmod
))),
62 Subsignal("rts", Pins("4", dir="o", conn
=("pmod", pmod
))),
67 def PmodUARTType4AResource(name
, number
, *, pmod
, extras
=None):
68 return Resource(name
, number
,
69 Subsignal("cts", Pins("1", dir="i", conn
=("pmod", pmod
))),
70 Subsignal("tx", Pins("2", dir="o", conn
=("pmod", pmod
))),
71 Subsignal("rx", Pins("3", dir="i", conn
=("pmod", pmod
))),
72 Subsignal("rts", Pins("4", dir="o", conn
=("pmod", pmod
))),
73 Subsignal("int", Pins("7", dir="i", conn
=("pmod", pmod
))),
74 Subsignal("reset", Pins("8", dir="o", conn
=("pmod", pmod
))),
79 def PmodHBridgeType5Resource(name
, number
, *, pmod
, extras
=None):
80 return Resource(name
, number
,
81 Subsignal("dir", Pins("1", dir="o", conn
=("pmod", pmod
))),
82 Subsignal("en", Pins("2", dir="o", conn
=("pmod", pmod
))),
83 Subsignal("sa", Pins("3", dir="i", conn
=("pmod", pmod
))),
84 Subsignal("sb", Pins("4", dir="i", conn
=("pmod", pmod
))),
89 def PmodDualHBridgeType6Resource(name
, number
, *, pmod
, extras
=None):
90 return Resource(name
, number
,
91 Subsignal("dir", Pins("1 3", dir="o", conn
=("pmod", pmod
))),
92 Subsignal("en", Pins("2 4", dir="o", conn
=("pmod", pmod
))),