-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
arrow_deca: add Arrow DECA platform #158
Conversation
Also related: nmigen_boards/de10_lite.py seems to contain "F484" as part of the I do have the DE10 Lite on the way to confirm whether the current board definition works or not. |
ec116b2
to
a1ac9ef
Compare
a1ac9ef
to
f3b605e
Compare
nmigen_boards/arrow_deca.py
Outdated
# Configure the voltages of the I/O banks by appending the global assignments to the | ||
# template. However, we create our own copy of the file templates before modifying them to | ||
# avoid modifying the original. | ||
templates = {**super().file_templates} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something like this would be more elegant:
return {
**super().file_templates,
"{{name}}.qsf": r"""
...
"""
Though this can be merged as-is.
f3b605e
to
8f3539a
Compare
Adds rudimentary support for the Arrow DECA board (see also the user manual) including the clocks, LEDs, switches, buttons and GPIO connectors as well as setitng the correct voltages for the I/O banks. The board features the Intel Altera MAX10 (10M50DAF484C6GES) FPGA.
There are more peripherals like the ADV7513 for HDMI TX, the TI TLV320AIC3254 24-bit audio codec, an SD card reader, etc. but this commit does not add support for those due to the varying voltages required for the different pins in a lot of cases. In addition, I would like to test any further additions thoroughly before committing them :).
To set the I/O bank voltages correctly, and to make sure Quartus doesn't complain (see also Tom Verbeure's blog post), we have to specify some additional set_global_assignment directives to the QSF file by overriding the file_templates() method.
I tested the board successfully with Blinky.
This also includes the fix discussed in pull request #156 to separate the "F484" part of the SKU out to the
package
variable. This change has been successfully tested with Blinky before opening this pull request.