Skip to content

Commit b30f366

Browse files
committed
Add support for Elbert V2 Spartan 3A board
1 parent aba2300 commit b30f366

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

amaranth_boards/elbert_v2.py

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
from amaranth.build import *
2+
from amaranth.vendor.xilinx import XilinxPlatform
3+
from .resources import *
4+
5+
__all__ = ["ElbertV2NumatoPlatform"]
6+
7+
class ElbertV2NumatoPlatform(XilinxPlatform):
8+
device = "xc3s50an"
9+
package = "tqg144"
10+
speed = "4"
11+
default_clk = "clk12"
12+
13+
resources = [
14+
Resource("clk12", 0, Pins("P129", dir="i"), Clock(12e6), Attrs(IOSTANDARD="LVCMOS33")),
15+
16+
*LEDResources(pins="P55 P54 P51 P50 P49 P48 P47 P46", attrs=Attrs(IOSTANDARD="LVCMOS33")),
17+
Display7SegResource(0, a="P117", b="P116", c="P115", d="P113", e="P112", f="P111", g="P110", dp="P114",
18+
invert=True, attrs=Attrs(IOSTANDARD="LVCMOS33")),
19+
Resource("display_7seg_ctrl", 0,
20+
Subsignal("en", Pins("P120 P121 P124", invert=True, dir="o"))
21+
),
22+
VGAResource(0, r="P105 P104 P103", g="P102 P101 P99", b="P98 P96", hs="P93", vs="P92", attrs=Attrs(IOSTANDARD="LVCMOS33")),
23+
*SDCardResources(0, dat0="P83", dat1="P82", dat2="P90", dat3="P85", cmd="P84", clk="P57", attrs=Attrs(IOSTANDARD="LVCMOS33")),
24+
Resource("audiojack", 0,
25+
Subsignal("audio", Pins("P88 P87", dir="o"))
26+
),
27+
*ButtonResources(pins="P80 P79 P78 P77 P76 P75", attrs=Attrs(IOSTANDARD="LVCMOS33")),
28+
*SwitchResources(pins="P70 P69 P68 P64 P63 P60 P59 P58", attrs=Attrs(IOSTANDARD="LVCMOS33"))
29+
]
30+
31+
connectors = [
32+
Connector("p", 1,
33+
"- - - - P25 P24 P29 P27 P30 P28 P32 P31"
34+
),
35+
Connector("p", 6,
36+
"- - - - P13 P12 P16 P15 P20 P18 P21 P19"
37+
),
38+
Connector("p", 2,
39+
"- - - - P6 P4 P5 P3 P8 P7 P11 P10"
40+
),
41+
Connector("p", 4,
42+
"- - - - P132 P130 P135 P134 P139 P138 P143 P141"
43+
),
44+
Connector("p", 5,
45+
"- - P140 P142 P91 P131 P126 P127 P123 P125"
46+
)
47+
]
48+
49+
if __name__ == "__main__":
50+
from .test.blinky import *
51+
ElbertV2NumatoPlatform().build(Blinky())

0 commit comments

Comments
 (0)