Code Monkey home page Code Monkey logo

de10-nano's Introduction

Absolute beginner's guide to DE10-Nano

To get started with the guide, please begin here.

To just download the Debian or Arch Linux ARM (NEW) image for the DE10-Nano, please visit the releases page.

Table of Contents

Getting Started

Building Embedded Linux - Full Custom

Flashing the FPGA from SD Card

HPS and FPGA communication

My First SoC - Simple Hardware Adder

FPGA - SDRAM Communication

Appendix

FAQ

Isn't there documentation already? Why this guide?

  • Not beginner friendly - There is a lot of documentation online, but they don't always explain everything.
  • Comprehensive - The ultimate goal of this site is to be comprehensive so all the information needed is available and accessible easily.
  • Focused - There are several boards by Terasic and Altera which use Cyclone V and all of them vary slightly. This guide only focuses on the DE10-Nano. If you are using a DE1 or any other Cyclone V board, a lot of the content will still be applicable. But I haven't tested it, so I don't know if it will work or not.

Can I just get the image? I don't want to go through the guide to get Debian on my DE10-Nano.

Sure, You can download the SD Card image from the releases page.

How much Linux do I need to know?

You are expected to be comfortable using the command line in Linux. All the shell commands you will need will be provided in the guide. But the commands themselves won't be explained, you will need to learn more about them yourself.

Will you cover VHDL/Verilog or FPGAs in general?

No, this guide does not cover general FPGAs. There is enough information online to learn HDL as well. Basic understanding of FPGAs and HDL is expected.

I spotted a mistake!

Please let me know! Either raise an issue or submit a pull request and I will greatly appreciate it!

Getting further help

If you have a question about something, feel free to raise it as an issue and I'll try and address it. But this is a hobby for me and I can't really guarantee being able to answer it, nor do I guarantee that I will have time to answer your question.

You can also reach out to the following communities for more help:

  • FPGA Subreddit - Some of the nicest people online here. I have lost track of the number of times people have asked "Which board should I get?" and yet never has the post been taken down or rudely put down.
  • ##FPGA on IRC Freenode - Excellent resource for general FPGA related questions. Ask a question and do lurk around, people are busy and may not reply immediately.
  • Intel community forums - Not very active, but from time to time people do reply. Sometimes support engineers from Intel will come across your post and reply, but that usually takes time.
  • Rocketboards forum - Similar to the intel forums, these are not very active. But there's a lot of helpful information on the forums, so searching there is also an option when you get stuck.

Prerequisites

This document assumes no knowledge of SoCs. However, it requires a few things for you to be able to follow along:

  • DE10-Nano: Obviously you need the DE10-Nano board. Most prominent electronics retailers stock it (digikey, mouser, element14) or you can purchase it directly from the Terasic website. Please don't purchase knock-offs or cheap alternatives. FPGA programming is hard enough and there are a million things that can go wrong.
  • Beginner's knowledge of FPGAs - While there is some FPGA programming involved, this guide does not teach you the basics of FPGAs, HDLs etc. There are several resources available online.
  • Intermediate knowledge of Linux: Linux will be the preferred OS for this guide. You should be able to navigate the terminal and know at least the basic commands of the shell.
  • Serial UART: To see the bootloader commands, we will need to have a serial console like PuTTy or minicom available and also connect our DE10-Nano using the USB port.
  • Connected to LAN: We will need the device connected to LAN so that we can ssh to it from our host computer.

de10-nano's People

Contributors

zangman avatar kirkster96 avatar mateusfbsoares avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.