[breaking-change] Factor out "led", "button" and "switch" resources.
[nmigen-boards.git] / nmigen_boards / numato_mimas.py
index a85abc39a8d1417e46fd00d8f566b9fb8eb8677d..d484fa28d1175dade6687b3f0c720851d1a93f7f 100644 (file)
@@ -18,31 +18,10 @@ class NumatoMimasPlatform(XilinxSpartan6Platform):
         Resource("clk100", 0, Pins("P126", dir="i"),
                  Clock(100e6), Attrs(IOSTANDARD="LVCMOS33")),
 
-        Resource("user_led", 0, Pins("P119", dir="o"),
-                 Attrs(IOSTANDARD="LVCMOS33")),
-        Resource("user_led", 1, Pins("P118", dir="o"),
-                 Attrs(IOSTANDARD="LVCMOS33")),
-        Resource("user_led", 2, Pins("P117", dir="o"),
-                 Attrs(IOSTANDARD="LVCMOS33")),
-        Resource("user_led", 3, Pins("P116", dir="o"),
-                 Attrs(IOSTANDARD="LVCMOS33")),
-        Resource("user_led", 4, Pins("P115", dir="o"),
-                 Attrs(IOSTANDARD="LVCMOS33")),
-        Resource("user_led", 5, Pins("P114", dir="o"),
-                 Attrs(IOSTANDARD="LVCMOS33")),
-        Resource("user_led", 6, Pins("P112", dir="o"),
-                 Attrs(IOSTANDARD="LVCMOS33")),
-        Resource("user_led", 7, Pins("P111", dir="o"),
-                 Attrs(IOSTANDARD="LVCMOS33")),
-
-        Resource("user_btn", 0, Pins("P124", dir="i"),
-                 Attrs(IOSTANDARD="LVCMOS33", PULLUP="TRUE")),
-        Resource("user_btn", 1, Pins("P123", dir="i"),
-                 Attrs(IOSTANDARD="LVCMOS33", PULLUP="TRUE")),
-        Resource("user_btn", 2, Pins("P121", dir="i"),
-                 Attrs(IOSTANDARD="LVCMOS33", PULLUP="TRUE")),
-        Resource("user_btn", 3, Pins("P120", dir="i"),
-                 Attrs(IOSTANDARD="LVCMOS33", PULLUP="TRUE")),
+        *LEDResources(pins="P119 P118 P117 P116 P115 P114 P112 P111",
+                      attrs=Attrs(IOSTANDARD="LVCMOS33")),
+        *ButtonResources(pins="P124 P123 P121 P120",
+                         attrs=Attrs(IOSTANDARD="LVCMOS33", PULLUP="TRUE")),
 
         *SPIFlashResources(0,
             cs="P38", clk="P70", mosi="P64", miso="65",