Skip to content

Latest commit

 

History

History
45 lines (36 loc) · 3.67 KB

Week1.md

File metadata and controls

45 lines (36 loc) · 3.67 KB

Week 1: Introduction to digital electronics, FPGA's and environment setup

Material

  • Shawn Hymel FPGA Part 1: Introduction
  • Shawn Hymel FPGA Part 2: environment setup
  • Complete the following portions of ES4 course
    • Week 1 September 8 (that is the section name not to be confused with our schedule)

      • Lecture 1 slides
      • All Videos (6 in total)
      • decimal/binary conversion site (counting in binary is very useful in many related fields)
    • Week 2 September 13

      • All Videos except the first titled "How to submit your first reading check with provide" (7 in total)
      • Lecture 2 slides/handout (logic gates)
      • Lecture 3 slides
      • Attempt reading check 1 and reading check 2 (research any parts you don't understand/are unfamiliar with)
      • Lab 1: Blinky lights
      • Breadboard circuit tutorial (Starting Electronics)
      • Attempt Homework 1 (completing this successfully is a good indicator that you are ready to continue to next module)

Tasks

  • Review the website for open source toolchains etc.: FPGA Wars
  • Setup your simulation and synthesis environment

Suggested setup:

Challenge

  1. Complete setting up your coding environment. By the end of this, you should be able to compile verilog code on your computer. You can use APIO or Makefiles (see Advanced challenge below).
  • Try using iverilog to compile some simple verilog code snippets from the web (available in browser via EDA Playground under "tools and simulators" dropdown menu).
  • Extra points for running through a full design simulation and being able to explain what it does.
  1. If you have an UPduino or other FPGA board, write code to get various colors on the 3 color LED and program the board with it. Try out the UPduino FPGA tutorial to get your hands wet.
  2. Advanced challenge: Setup a command line compile using a Simple Makefile or a more Complex Makefile as an example. Go through the makefile and understand what it does.

Keep in mind this is a complex field notorious for it's steep learning curve, and you are encouraged to discuss any difficulties with your fellow learners. If you get stuck and can't get past a portion of the material by researching it yourself or by discussing it with other learners, ask for help on the discord