Tutorial - Getting Started with FPGA Design
The Altium Innovation Station – the powerful combination of Altium Designer software and Desktop NanoBoard reconfigurable hardware platform – provides all of the tools and technology needed to capture, implement, test and debug your FPGA designs, in real-time.
With Altium's Innovation Station the low level detail is managed for you, leaving you free to focus on device intelligence and functionality – the source of true and sustainable product differentiation. Before embarking into the world of processors and embedded software intelligence however, it is beneficial to receive a solid grasp of the fundamentals of designing within this innovative environment – how to implement the most basic of designs and get it running on a physical FPGA device plugged into the Desktop NanoBoard.
This tutorial implements a simple counter-based design (non-processor) which, when programmed into the target daughter board FPGA, will cause the User LEDs on the Desktop NanoBoard to light sequentially from left to right, or from right to left. During the course of this tutorial, you will gain knowledge of the basics of FPGA design, introducing you to:
- FPGA project creation within Altium Designer and how to implement a schematic-based design, including sourcing and placing parts and wiring them on a schematic sheet.
- Targeting of a design to a daughter board FPGA using the auto-configuration feature.
- Processing of a design – compiling, synthesizing and building the design to obtain the programming file which is used to program the target device.
- Use of design hierarchy within an FPGA project, including simple custom logic (HDL).
- Virtual instrumentation.
The example design featured in this tutorial is a simple twisted-ring counter (Figure 1). This is a synchronous counter where the inverted output of the last stage is connected to the input of the first stage. Rather than individual flip-flops, we will use a shift register component, readily supplied with Altium Designer. The base design schematic and additional files can be found in the
\Examples\Tutorials\Getting Started with FPGA Design folder of your Altium Designer installation. Refer to this example at any time to get further insight or to skip some of the steps.
Figure 1. Simple, non-processor-based design - a twisted-ring counter.
The synchronizing clock signal for the logic components in our circuit is provided courtesy of the reference clock on the Desktop NanoBoard. The counter output is displayed on the NanoBoard's User LEDs.
Additional logic in the design, coupled with use of resources found on the NanoBoard, allow for the following controls:
- Direction control – the count will proceed from left to right or from right to left, dependent on the setting of an associated switch on the NanoBoard (part of the DIP-switch).
- Stop control – the count can be stopped or resumed, dependent on the setting of an associated switch on the NanoBoard (part of the DIP-switch).
- Clear control – the counter output can be cleared (all LEDs turned OFF), by pressing the
'DAUGHTER BD TEST/RESET'button on the NanoBoard.
Follow each of the linked pages below, in sequence, to complete the tutorial and implement the example simple counter design: