|
| 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