About this project
Nandland Go Board - Your FPGA Playground
My name is Russell and I am the creator of www.nandland.com. I started Nandland to increase the usage of FPGAs by making them easy to use. I am thrilled to announce after months of hard work the creation of the next phase of that plan: The first FPGA development board you should buy!
What is an FPGA?
FPGA stands for Field Programmable Gate Array. An FPGA is a component that can be thought of as a giant ocean of digital components that can be connected together by wires. The code that you write makes real physical connections with wires to perform the function that you need. What makes FPGAs special is that they are very good at performing a large number of operations in parallel (at the same time). They are used in high-speed, high-performance tasks such as image processing, telecommunications, digital signal processing, high-frequency stock market trading, and many others.
FPGAs are also fun to design with! The code that you write is at the lowest possible level. It's like using simple Lego Bricks to build the Millennium Falcon, FPGAs allow you to make something very complex out of something simple. The Nandland Go Board is an amazing platform for you to become familiar with hardware programming in the two coding languages used: VHDL and Verilog.
How is an FPGA different from Software?
There are two main programming languages that a FPGA designer uses: VHDL and Verilog. This type of code is fundamentally different than software! The main difference is that software code targets a processor, whereas hardware code does not.
A Central Processing Unit (CPU) or just processor, is the central component that software designers need to understand. A CPU processes instructions one at a time to perform a task. A software designer writes code in a language like C that gets compiled by a compiler. The job of the compiler is to take the high-level code that the software designer writes and convert it into low-level code that the processor can understand. It must be understood that in hardware design, there is no compiler! There is nothing to take your code and turn it into instructions the way that a software compiler does.
This is because an FPGA designer does not have a processor to target. Instead, they have thousands or hundreds of thousands of discrete digital components such as Look-Up-Tables, Registers, RAM, Digital Signal Processing components, and others. An FPGA designer writes code at a much lower level than the software engineer. The FPGA designer is targeting the individual components of the FPGA, and has control over everything!
Digital Design is fun to learn, because it is the lowest-level of programming that is possible to do. Your code is used to literally run wires between components such as and-gates and or-gates!
- Lattice ICE40 HX1K FPGA
- EASY USB Connection for power, communication, and programming
- Dual 7-Segment LED Display
- VGA Connector
- Four User Settable LEDs
- Four Push-Buttons
- External Connector (PMOD)
- 25 MHz on-board clock
- 1 Mb Flash for booting up your FPGA
I designed the Go Board to enable you to have access to many different types of projects. Using the Go Board in conjunction with the tutorials on www.nandland.com will enable you to get started as quickly as possible on your journey into the wonderful world of digital design. From learning the simple things like how to blink an LED, to designing your own communication to the computer keyboard, to driving your own desktop montor, the Go Board is truly an FPGA playground.
Finally an FPGA board for everyone
Too often I see FPGA development boards that are simply a bare board with no peripherals. How is someone supposed to learn to interact with different technologies, protocols, and accessories if none are presented? The Go Board will enable you to write your own VHDL or Verilog for projects such as:
- Push-Button Reaction Timer
- Up/Down Counter
- Computer Keyboard Communication (UART)
- PONG Game on your Monitor!
- I2C Temperature Sensor
- Mouse Control
- Audio Police Siren
- Many More!
Additionally, many FPGA boards do not ship with any instruction or tutorials. The Nandland Go Board is DIFFERENT. I have already created dozens of tutorials and examples in both VHDL and Verilog that will enable you to get started quickly and easily! No hassles, just pure unadulterated FPGA excitement! This is why I call it a Playground: there's lots of projects available for you to do when you receive your board, no additional breadboard or components are required! Just check out www.nandland.com and watch the video to see everything that you'll be able to do once you have a Go Board of your own.
What does an FPGA design look like with the Go Board?
When you first get your Go Board, I will provide a link to the software needed to build your FPGA project. The software is provided free by Lattice Semiconductor (who makes the FPGA that is on the Go Board). Their ICEcube2 software is perfectly suited for this board. It removes many of the unnecessary complexities that are found in other bloated FPGA vendor tools and helps get you focused on whats important: Writing VHDL and Verilog for your projects!
Once the software is installed, you can write the VHDL or Verilog code for your design, taking advantage of many of the "playground" features that are built right in to the Nandland Go Board. For example for your first project you might want to try to blink an LED on the board. Once the code is written, you simply hit one button on the FPGA tool and it will build your bitstream file (.bit). This is the file that tell the FPGA what to do.
Here is where the Go Board really shines. In order to program the Go Board, all you need is a Micro USB cable! Many other FPGA boards require a separate programmer pod which is expensive and bulky. I designed the Go Board specifically to be EASY and FUN to use, so getting rid of the programmer pod was my #1 requirement. The FPGA tool will detect the board, you select the bitstream you created, and hit program, and watch the FPGA do its magic! It couldn't be easier!
I am confident that you will find building your FPGA designs with the Nandland Go Board to be the easiest and most enjoyable FPGA experience. Please support this Kickstarter by ordering your own Go Board. Help me spread knowledge of FPGA, VHDL, and Verilog and make these fascinating devices used in more places! And thank you for your support!!
Risks and challenges
There is a risk that there will be an issue with the board schematic or layout. I have mitigated this issue by building a prototype circuit board. Additionally, before ordering all of the boards for you fine Kickstarter folks, I will be procuring an initial board set from the manufacturer of QTY 10 boards. I will personally check out every feature of that first lot to make sure they work correctly. If there are any errors, they can be corrected prior to purchasing the large batch of circuit boards.
There could be a challenge in delivery of the circuit boards if this Kickstarter launch is highly successful. If that happens, I am planning on using a shipping fulfillment center that caters to Kickstarter fulfillment.Learn about accountability on Kickstarter
Support this project
- (33 days)