diff options
| -rw-r--r-- | nmigen_boards/de0.py | 14 | ||||
| -rw-r--r-- | nmigen_boards/de0_cv.py | 14 | ||||
| -rw-r--r-- | nmigen_boards/de10_lite.py | 13 | ||||
| -rw-r--r-- | nmigen_boards/genesys2.py | 14 | ||||
| -rw-r--r-- | nmigen_boards/mercury.py | 15 | ||||
| -rw-r--r-- | nmigen_boards/mister.py | 14 | ||||
| -rw-r--r-- | nmigen_boards/nexys4ddr.py | 13 | ||||
| -rw-r--r-- | nmigen_boards/resources/display.py | 17 | ||||
| -rw-r--r-- | nmigen_boards/rz_easyfpga_a2_2.py | 10 |
9 files changed, 62 insertions, 62 deletions
diff --git a/nmigen_boards/de0.py b/nmigen_boards/de0.py index e1c1f56..0285499 100644 --- a/nmigen_boards/de0.py +++ b/nmigen_boards/de0.py @@ -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")), diff --git a/nmigen_boards/de0_cv.py b/nmigen_boards/de0_cv.py index 35788ad..4abbe88 100644 --- a/nmigen_boards/de0_cv.py +++ b/nmigen_boards/de0_cv.py @@ -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")), diff --git a/nmigen_boards/de10_lite.py b/nmigen_boards/de10_lite.py index 9f260ce..21b7d09 100644 --- a/nmigen_boards/de10_lite.py +++ b/nmigen_boards/de10_lite.py @@ -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, diff --git a/nmigen_boards/genesys2.py b/nmigen_boards/genesys2.py index bf8e98f..0a2aef7 100644 --- a/nmigen_boards/genesys2.py +++ b/nmigen_boards/genesys2.py @@ -127,14 +127,12 @@ class Genesys2Platform(Xilinx7SeriesPlatform): 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")), diff --git a/nmigen_boards/mercury.py b/nmigen_boards/mercury.py index 6750921..b03bb88 100644 --- a/nmigen_boards/mercury.py +++ b/nmigen_boards/mercury.py @@ -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 = [ diff --git a/nmigen_boards/mister.py b/nmigen_boards/mister.py index d961a3d..9d08cff 100644 --- a/nmigen_boards/mister.py +++ b/nmigen_boards/mister.py @@ -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. diff --git a/nmigen_boards/nexys4ddr.py b/nmigen_boards/nexys4ddr.py index 7219163..1e32653 100644 --- a/nmigen_boards/nexys4ddr.py +++ b/nmigen_boards/nexys4ddr.py @@ -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", diff --git a/nmigen_boards/resources/display.py b/nmigen_boards/resources/display.py index f145119..4255db8 100644 --- a/nmigen_boards/resources/display.py +++ b/nmigen_boards/resources/display.py @@ -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) diff --git a/nmigen_boards/rz_easyfpga_a2_2.py b/nmigen_boards/rz_easyfpga_a2_2.py index 3f6ee08..892b546 100644 --- a/nmigen_boards/rz_easyfpga_a2_2.py +++ b/nmigen_boards/rz_easyfpga_a2_2.py @@ -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, |
