aboutsummaryrefslogtreecommitdiff
path: root/nmigen_boards/de10_nano.py
diff options
context:
space:
mode:
authorDan Ravensloft <dan.ravensloft@gmail.com>2019-10-25 10:20:20 +0100
committerwhitequark <whitequark@whitequark.org>2019-10-25 09:20:20 +0000
commitba2911914b076ca7b3ec1394a74e40bf741bc80e (patch)
treefd9cfd1f65aac1875128160b90e6003b8e9df75e /nmigen_boards/de10_nano.py
parent835c175d7cf9d143aea2c7dbc0c870ede655cfc2 (diff)
Add DE10-Nano-based MiSTer.
Diffstat (limited to 'nmigen_boards/de10_nano.py')
-rw-r--r--nmigen_boards/de10_nano.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/nmigen_boards/de10_nano.py b/nmigen_boards/de10_nano.py
index 80a70d8..517f45d 100644
--- a/nmigen_boards/de10_nano.py
+++ b/nmigen_boards/de10_nano.py
@@ -9,6 +9,7 @@ from .resources import *
__all__ = ["DE10NanoPlatform"]
+# The MiSTer platform is built around the DE10-Nano; if you update one you should update the other.
class DE10NanoPlatform(IntelPlatform):
device = "5CSEBA6" # Cyclone V 110K LEs
package = "U23" # UBGA-484
@@ -62,11 +63,13 @@ class DE10NanoPlatform(IntelPlatform):
Attrs(io_standard="3.3-V LVTTL")),
]
connectors = [
+ # Located on the top of the board, above the chip.
Connector("gpio", 0,
"V12 E8 W12 D11 D8 AH13 AF7 AH14 AF4 AH3 "
"- - AD5 AG14 AE23 AE6 AD23 AE24 D12 AD20 "
"C12 AD17 AC23 AC22 Y19 AB23 AA19 W11 - - "
"AA18 W14 Y18 Y17 AB25 AB26 Y11 AA26 AA13 AA11 "),
+ # Located on the bottom of the board.
Connector("gpio", 1,
"Y15 AC24 AA15 AD26 AG28 AF28 AE25 AF27 AG26 AH27 "
"- - AG25 AH26 AH24 AF25 AG23 AF23 AG24 AH22 "
@@ -81,6 +84,8 @@ class DE10NanoPlatform(IntelPlatform):
def toolchain_program(self, products, name):
quartus_pgm = os.environ.get("QUARTUS_PGM", "quartus_pgm")
with products.extract("{}.sof".format(name)) as bitstream_filename:
+ # The @2 selects the second device in the JTAG chain, because this chip
+ # puts the ARM cores first.
subprocess.check_call([quartus_pgm, "--haltcc", "--mode", "JTAG",
"--operation", "P;" + bitstream_filename + "@2"])