Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: amaranth-lang/amaranth-boards
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: e8611d433df8
Choose a base ref
...
head repository: amaranth-lang/amaranth-boards
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 08b1b955b1fb
Choose a head ref
  • 1 commit
  • 9 files changed
  • 1 contributor

Commits on May 31, 2021

  1. Copy the full SHA
    08b1b95 View commit details
14 changes: 6 additions & 8 deletions nmigen_boards/de0.py
Original file line number Diff line number Diff line change
@@ -57,14 +57,12 @@ class DE0Platform(IntelPlatform):
Attrs(io_standard="3.3-V LVTTL")
),

Resource("vga", 0,
Subsignal("r", Pins("H19 H17 H20 H21", dir="o")),
Subsignal("g", Pins("H22 J17 K17 J21", dir="o")),
Subsignal("b", Pins("K22 K21 J22 K18", dir="o")),
Subsignal("hs", Pins("L21", dir="o")),
Subsignal("vs", Pins("L22", dir="o")),
Attrs(io_standard="3.3-V LVTTL")
),
VGAResource(0,
r="H19 H17 H20 H21",
g="H22 J17 K17 J21",
b="K22 K21 J22 K18",
hs="L21", vs="L22",
attrs=Attrs(io_standard="3.3-V LVTTL")),

Resource("ps2_host", 0, # Keyboard
Subsignal("clk", Pins("P22", dir="i")),
14 changes: 6 additions & 8 deletions nmigen_boards/de0_cv.py
Original file line number Diff line number Diff line change
@@ -52,14 +52,12 @@ class DE0CVPlatform(IntelPlatform):
a="N9", b="M8", c="T14", d="P14", e="C1", f="C2", g="W19", invert=True,
attrs=Attrs(io_standard="3.3-V LVTTL")),

Resource("vga", 0,
Subsignal("r", Pins("A9 B10 C9 A5", dir="o")),
Subsignal("g", Pins("L7 K7 J7 J8", dir="o")),
Subsignal("b", Pins("B6 B7 A8 A7", dir="o")),
Subsignal("hs", Pins("H8", dir="o")),
Subsignal("vs", Pins("G8", dir="o")),
Attrs(io_standard="3.3-V LVTTL")
),
VGAResource(0,
r="A9 B10 C9 A5",
g="L7 K7 J7 J8",
b="B6 B7 A8 A7",
hs="H8", vs="G8",
attrs=Attrs(io_standard="3.3-V LVTTL")),

Resource("ps2_host", 0, # Keyboard
Subsignal("clk", Pins("D3", dir="i")),
13 changes: 6 additions & 7 deletions nmigen_boards/de10_lite.py
Original file line number Diff line number Diff line change
@@ -61,13 +61,12 @@ class DE10LitePlatform(IntelPlatform):
dq="Y21 Y20 AA22 AA21 Y22 W22 W20 V21 P21 J22 H21 H22 G22 G20 G19 F22",
dqm="V22 J21", attrs=Attrs(io_standard="3.3-V LVCMOS")),

Resource("vga", 0,
Subsignal("r", Pins("AA1 V1 Y2 Y1", dir="o")),
Subsignal("g", Pins("W1 T2 R2 R1", dir="o")),
Subsignal("b", Pins("P1 T1 P4 N2", dir="o")),
Subsignal("hs", Pins("N3", dir="o")),
Subsignal("vs", Pins("N1", dir="o")),
Attrs(io_standard="3.3-V LVTTL"))
VGAResource(0,
r="AA1 V1 Y2 Y1",
g="W1 T2 R2 R1",
b="P1 T1 P4 N2",
hs="N3", vs="N1",
attrs=Attrs(io_standard="3.3-V LVTTL"))
]
connectors = [
Connector("gpio", 0,
14 changes: 6 additions & 8 deletions nmigen_boards/genesys2.py
Original file line number Diff line number Diff line change
@@ -127,14 +127,12 @@ def bank15_16_17_iostandard(self):
DiffPairs(p="AJ26 AG27 AH26",
n="AK26 AG28 AH27", dir="i")),
Attrs(IOSTANDARD="TMDS_33")),
Resource("vga", 0,
Subsignal("r", Pins("AK25 AG25 AH25 AK24 AJ24", dir="o")),
Subsignal("g", Pins("AJ23 AJ22 AH22 AK21 AJ21 AK23",
dir="o")),
Subsignal("b", Pins("AH20 AG20 AF21 AK20 AG22", dir="o")),
Subsignal("hsync", PinsN("AF20", dir="o")),
Subsignal("vsync", PinsN("AG23", dir="o")),
Attrs(IOSTANDARD="LVCMOS33")),
VGAResource(0,
r="AK25 AG25 AH25 AK24 AJ24",
g="AJ23 AJ22 AH22 AK21 AJ21 AK23",
b="AH20 AG20 AF21 AK20 AG22",
hs="AF20", vs="AG23", invert_sync=True,
attrs=Attrs(IOSTANDARD="LVCMOS33")),
*SDCardResources(0, clk="R28", cmd="R29", dat0="R26", dat1="R30",
dat2="P29", dat3="T30", cd="P28",
attrs=Attrs(IOSTANDARD="LVCMOS33")),
15 changes: 6 additions & 9 deletions nmigen_boards/mercury.py
Original file line number Diff line number Diff line change
@@ -159,15 +159,12 @@ class MercuryPlatform(XilinxSpartan3APlatform):
]

_vga = [
Resource("vga_out", 0,
Subsignal("hsync", PinsN("led_0:3", dir="o")),
Subsignal("vsync", PinsN("led_0:4", dir="o")),

Subsignal("r", Pins("dio_0:1 dio_0:2 dio_0:3", dir="o")),
Subsignal("g", Pins("dio_0:4 dio_0:5 dio_0:6", dir="o")),
Subsignal("b", Pins("dio_0:7 clkio_0:1", dir="o")),
Attrs(IOSTANDARD="LVCMOS33", SLEW="FAST")
)
VGAResource(0,
r="dio_0:1 dio_0:2 dio_0:3",
g="dio_0:4 dio_0:5 dio_0:6",
b="dio_0:7 clkio_0:1",
hs="led_0:3", vs="led_0:4", invert_sync=True,
Attrs(IOSTANDARD="LVCMOS33", SLEW="FAST"))
]

_extclk = [
14 changes: 7 additions & 7 deletions nmigen_boards/mister.py
Original file line number Diff line number Diff line change
@@ -93,13 +93,13 @@ class MisterPlatform(IntelPlatform):
conn=("gpio", 1), attrs=Attrs(io_standard="3.3-V LVTTL")),

# The schematic is difficult to understand here...
Resource("vga", 0,
Subsignal("r", Pins("28 32 34 36 38 40", dir="o", conn=("gpio", 1))),
Subsignal("g", Pins("27 31 33 35 37 39", dir="o", conn=("gpio", 1))),
Subsignal("b", Pins("21 23 25 26 24 24", dir="o", conn=("gpio", 1))),
Subsignal("hs", Pins("20", dir="o", conn=("gpio", 1))),
Subsignal("vs", Pins("19", dir="o", conn=("gpio", 1))),
Attrs(io_standard="3.3-V LVTTL"))
VGAResource(0,
r="28 32 34 36 38 40",
g="27 31 33 35 37 39",
b="21 23 25 26 24 24",
hs="20", vs="19",
conn=("gpio", 1),
attrs=Attrs(io_standard="3.3-V LVTTL"))
]
connectors = [
# Located on the top of the board, above the chip.
13 changes: 6 additions & 7 deletions nmigen_boards/nexys4ddr.py
Original file line number Diff line number Diff line change
@@ -57,13 +57,12 @@ class Nexys4DDRPlatform(Xilinx7SeriesPlatform):
Resource("button_down", 0,
Pins("P18", dir="i"), Attrs(IOSTANDARD="LVCMOS33")),

Resource("vga", 0,
Subsignal("r", Pins("A3 B4 C5 A4", dir="o")),
Subsignal("g", Pins("C6 A5 B6 A6", dir="o")),
Subsignal("b", Pins("B7 C7 D7 D8", dir="o")),
Subsignal("hs", Pins("B11" , dir="o")),
Subsignal("vs", Pins("B12" , dir="o")),
Attrs(IOSTANDARD="LVCMOS33")),
VGAResource(0,
r="A3 B4 C5 A4",
g="C6 A5 B6 A6",
b="B7 C7 D7 D8",
hs="B11", vs="B12",
attrs=Attrs(IOSTANDARD="LVCMOS33")),

*SDCardResources(0,
clk="B1", cmd="C1", cd="A1",
17 changes: 16 additions & 1 deletion nmigen_boards/resources/display.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from nmigen.build import *


__all__ = ["Display7SegResource"]
__all__ = ["Display7SegResource", "VGAResource"]


def Display7SegResource(*args, a, b, c, d, e, f, g, dp=None, invert=False,
@@ -19,3 +19,18 @@ def Display7SegResource(*args, a, b, c, d, e, f, g, dp=None, invert=False,
if attrs is not None:
ios.append(attrs)
return Resource.family(*args, default_name="display_7seg", ios=ios)


def VGAResource(*args, r, g, b, vs, hs, invert_sync=False, conn=None, attrs=None):
ios = []

ios.append(Subsignal("r", Pins(r, dir="o", conn=conn)))
ios.append(Subsignal("g", Pins(g, dir="o", conn=conn)))
ios.append(Subsignal("b", Pins(b, dir="o", conn=conn)))
ios.append(Subsignal("hs", Pins(hs, dir="o", invert=invert_sync, conn=conn, assert_width=1)))
ios.append(Subsignal("vs", Pins(vs, dir="o", invert=invert_sync, conn=conn, assert_width=1)))

if attrs is not None:
ios.append(attrs)

return Resource.family(*args, default_name="vga", ios=ios)
10 changes: 3 additions & 7 deletions nmigen_boards/rz_easyfpga_a2_2.py
Original file line number Diff line number Diff line change
@@ -41,13 +41,9 @@ class RZEasyFPGAA2_2Platform(IntelPlatform):
dqm="42 55", attrs=Attrs(io_standard="3.3-V LVCMOS")),

# VGA connector, located on the right of the board.
Resource("vga", 0,
Subsignal("r", Pins("106", dir="o")),
Subsignal("g", Pins("105", dir="o")),
Subsignal("b", Pins("104", dir="o")),
Subsignal("hs", Pins("101", dir="o")),
Subsignal("vs", Pins("103", dir="o")),
),
VGAResource(0,
r="106", g="105", b="104",
hs="101", vs="103"),

# 4 digit 7 segment display, located on top of the board.
Display7SegResource(0,