From 55da8b867a2f04e53df1f17b61d327354dffcd1e Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Wed, 7 Oct 2020 11:25:20 +0200 Subject: [PATCH] platforms/zedboard: minor cleanups to uniformize with other platforms. --- litex_boards/platforms/zedboard.py | 79 +++++++++++++++--------------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/litex_boards/platforms/zedboard.py b/litex_boards/platforms/zedboard.py index 0d5b88b..037e88c 100644 --- a/litex_boards/platforms/zedboard.py +++ b/litex_boards/platforms/zedboard.py @@ -18,13 +18,13 @@ _io = [ # UG-2832HSWEG04 (ssd1306) ("zed_oled", 0, - Subsignal("clk", Pins("AB12")), - Subsignal("mosi", Pins("AA12")), + Subsignal("clk", Pins("AB12")), + Subsignal("mosi", Pins("AA12")), # OLED does not have a MISO pin :( Subsignal("reset_n", Pins("U9")), - Subsignal("dc", Pins("U10")), - Subsignal("vbat_n", Pins("U11")), - Subsignal("vdd_n", Pins("U12")), + Subsignal("dc", Pins("U10")), + Subsignal("vbat_n", Pins("U11")), + Subsignal("vdd_n", Pins("U12")), IOStandard("LVCMOS33") ), @@ -50,33 +50,43 @@ _io = [ # Clock source (Bank 13) ("clk100", 0, Pins("Y9"), IOStandard("LVCMOS33")), - # PS stuff - ("ps7_clk", 0, Pins("F7")), - ("ps7_porb", 0, Pins("B5")), + # PS7 + ("ps7_clk", 0, Pins("F7")), + ("ps7_porb", 0, Pins("B5")), ("ps7_srstb", 0, Pins("C9")), - ("ps7_mio", 0, Pins("G6 A1 A2 F6 E4 A3 A4 D5 E5 C4 G7 B4 C5 A6 B6 E6 D6 E9 A7 E10 A8 F11 A14 E11 B7 F12 A13 D7 A12 E8 A11 F9 C7 G13 B12 F14 A9 B14 F13 C13 E14 C8 D8 B11 E13 B9 D12 B10 D11 C14 D13 C10 D10 C12")), + ("ps7_mio", 0, Pins( + " G6 A1 A2 F6 E4 A3 A4 D5", + " E5 C4 G7 B4 C5 A6 B6 E6", + " D6 E9 A7 E10 A8 F11 A14 E11", + " B7 F12 A13 D7 A12 E8 A11 F9", + " C7 G13 B12 F14 A9 B14 F13 C13", + "E14 C8 D8 B11 E13 B9 D12 B10", + "D11 C14 D13 C10 D10 C12")), ("ps7_ddram", 0, - Subsignal("addr", - Pins("M4 M5 K4 L4 K6 K5 J7 J6 J5 H5 J3 G5 H4 F4 G4")), - Subsignal("ba", Pins("L7 L6 M6")), + Subsignal("addr", Pins( + "M4 M5 K4 L4 K6 K5 J7 J6", + "J5 H5 J3 G5 H4 F4 G4")), + Subsignal("ba", Pins("L7 L6 M6")), Subsignal("cas_n", Pins("P3")), - Subsignal("cke", Pins("V3")), - Subsignal("ck_n", Pins("N5")), - Subsignal("ck_p", Pins("N4")), - Subsignal("cs_n", Pins("P6")), - Subsignal("dm", Pins("B1 H3 P1 AA2")), - Subsignal("dq", - Pins("D1 C3 B2 D3 E3 E1 F2 F1 G2 G1 L1 L2 L3 K1 J1 K3 " - "M1 T3 N3 T1 R3 T2 M2 R1 AA3 U1 AA1 U2 W1 Y3 W3 Y1"), + Subsignal("cke", Pins("V3")), + Subsignal("ck_n", Pins("N5")), + Subsignal("ck_p", Pins("N4")), + Subsignal("cs_n", Pins("P6")), + Subsignal("dm", Pins("B1 H3 P1 AA2")), + Subsignal("dq", Pins( + " D1 C3 B2 D3 E3 E1 F2 F1", + " G2 G1 L1 L2 L3 K1 J1 K3", + " M1 T3 N3 T1 R3 T2 M2 R1", + "AA3 U1 AA1 U2 W1 Y3 W3 Y1"), ), - Subsignal("dqs_n", Pins("D2 J2 P2 W2")), - Subsignal("dqs_p", Pins("C2 H2 N2 V2")), + Subsignal("dqs_n", Pins("D2 J2 P2 W2")), + Subsignal("dqs_p", Pins("C2 H2 N2 V2")), Subsignal("reset_n", Pins("F3")), - Subsignal("odt", Pins("P5")), - Subsignal("ras_n", Pins("R5")), - Subsignal("vrn", Pins("M7")), - Subsignal("vrp", Pins("N7")), - Subsignal("we_n", Pins("R4")) + Subsignal("odt", Pins("P5")), + Subsignal("ras_n", Pins("R5")), + Subsignal("vrn", Pins("M7")), + Subsignal("vrp", Pins("N7")), + Subsignal("we_n", Pins("R4")) ), # serial (just to make CI pass) @@ -199,21 +209,12 @@ class Platform(XilinxPlatform): default_clk_name = "clk100" default_clk_period = 10.0 - def __init__(self, toolchain="vivado"): - XilinxPlatform.__init__( - self, - "xc7z020clg484-1", - _io, - _connectors, - toolchain=toolchain - ) + def __init__(self): + XilinxPlatform.__init__(self, "xc7z020clg484-1", _io, _connectors, toolchain="vivado") def create_programmer(self): return OpenOCD(config="board/digilent_zedboard.cfg") def do_finalize(self, fragment): XilinxPlatform.do_finalize(self, fragment) - self.add_period_constraint( - self.lookup_request(Platform.default_clk_name, loose=True), - Platform.default_clk_period - ) + self.add_period_constraint(self.lookup_request("clk100", loose=True), 1e9/100e6)