Title: An Introduction to FPGA and SOPC Development Board
1An Introduction to FPGA and SOPC Development
Board
2Outline
- What are Programmable Logic Devices?
- Architecture and Examples
- Why FPGA?
- Vendors and Devices
- Development on Altera Device
- Summary
3Programmable Logic Devices
- Programmable digital integrated circuit
- Desired functionality is implemented by
configuring on-chip logic blocks and
interconnections - Developers only care about the logic design but
not the internal hard-wire connection (
softwarelize the hardware design)
4ASIC vs. Programmable Logic Devices
ASIC (Application Specific Integrated Circuit) Programmable Chips
Longer design cycle and costlier ECO (Engineering Change order) Shorter design cycle and cheaper ECO
Faster performance Long delay
Lower cost if produced in high volume gt 10,000 chips Higher cost, good for medium to low volume products
Energy saving More power consumption
5Type of Programmable Logic Devices
- PLA (Programmable Logic Array)
- CPLD (Complex Programmable Logic Device)
- FPGA (Field Programmable Gate Array)
6PLD - Sum of Products
Programmable AND array followed by fixed fan-in
OR gates
Programmable switch or fuse
7PLD - Macrocell
- Can implement combinational or sequential logic
Select
A
B
C
Enable
Flip-flop
MUX
D
Q
Clock
AND plane
8CPLD Structure
- Integration of several PLD blocks with a
programmable interconnect on a single chip
9CPLD Example - Altera MAX7000
EPM7000 Series Block Diagram
10CPLD Example - Altera MAX7000
EPM7000 Series Device Macrocell
11FPGA - Generic Structure
- FPGA building blocks
- Programmable logic blocksImplement combinatorial
and sequential logic - Programmable interconnectWires to connect inputs
and outputs to logic blocks - Programmable I/O blocks Special logic blocks at
the periphery of device for external connections
12Other FPGA Building Blocks
- Clock distribution
- Embedded memory blocks
- Special purpose blocks
- DSP blocks
- Hardware multipliers, adders and registers
- Embedded microprocessors/microcontrollers
- High-speed serial transceivers
13FPGA Basic Logic Element
- LUT to implement combinatorial logic
- Register for sequential circuits
- Additional logic (not shown)
- Carry logic for arithmetic functions
- Expansion logic for functions requiring more than
4 inputs
14Look-Up Tables (LUT)
- Look-up table with N-inputs can be used to
implement any combinatorial function of N inputs - LUT is programmed with the truth-table
LUT implementation
Truth-table
Gate implementation
15LUT Implementation
- Example 3-input LUT
- Based on multiplexers (pass transistors)
- LUT entries stored in configuration memory cells
Configuration memory cells
16Other FPGA Building Blocks
- Clock distribution
- Embedded memory blocks
- Special purpose blocks
- DSP blocks
- Hardware multipliers, adders and registers
- Embedded microprocessors/microcontrollers
- High-speed serial transceivers
17Special Features
- Clock management
- PLL,DLL
- Eliminate clock skew between external clock input
and on-chip clock - Low-skew global clock distribution network
- Support for various interface standards
- High-speed serial I/Os
- Embedded processor cores
- DSP blocks
18Configuration Storage Elements
- Static Random Access Memory (SRAM)
- Logical configuration is controlled by the state
of SRAM bits - FPGA needs to be configured at power-on by
another separated ROM - Flash Erasable Programmable ROM (Flash)
- Logical configuration is implemented by
floating-gate transistors that can be turned off
by injecting charge onto its gate. FPGA itself
holds the program - reprogrammable, even in-circuit
19Example Altera Stratix Series
20Why FPGA?
- FPGA chips handle dense logic and memory elements
offering very high logic capacity - Uncommitted logic blocks are replicated in an
FPGA with interconnects and I/O blocks - Complete integrated design environment (IDE)
- Easy to learn and use
- Low cost of ownership
21FPGA Vendors
- Altera
- Xilinx
- Virtex-II/Virtex-4 Feature-packed
high-performance SRAM-based FPGA - Spartan 3 low-cost feature reduced version
- CoolRunner CPLDs
- Actel
- Lattice
- QuickLogic
22Introduction to Altera Devices
- Programmable Logic Families
- High Medium Density FPGAs
- Stratix II, Stratix, APEX II, APEX 20K, FLEX
10K - Low-Cost FPGAs
- Cyclone ACEX 1K
- FPGAs with Clock Data Recovery
- Stratix GX Mercury
- CPLDs
- MAX 7000 MAX 3000
- Embedded Processor Solutions
- Nios, ExcaliburT
- Configuration Devices
- EPC
23Nios The processor in software
- a user-configurable, 16-bit instruction set
architecture (ISA), general-purpose RISC embedded
processor - designers can use the SOPC (system-on-aprogrammabl
e-chip) Builder system development tool to very
easily create custom processor-based systems
24What is available
- Altera Stratix Nios Development Board
- Altera UP2 Development Board
25Altera Stratix Nios Development Board
26Altera Stratix Nios Development Board
- Stratix EP1S10F780C6
- 10,570 Logic Elements
- 920 Kb on-chip memory
- Provide hardware platform for developing embedded
system - Comes pre-programmed with a 32-bit Nios processor
reference design
27Altera Staratix Nios Development Board
- 8 MB of flash Memory,1MB of static RAM, 16MB of
SDRAM - On-board Ethernet MAC/PHY device
- Compact Flash connector hearder
- Two RS-232 DB9 serial ports
- 50MHz oscillator and zero-skew clock distribution
circuitry - Four push-button switches
- Dual 7-segment LED display
28Altera UP2 Development Board
29Altera UP2 Development Board
- EPF10K70RC240-4 device
- EPM7128SLC-7 device
- One RS-232 serial port
- Four push-button switches
- Dual 7-segment LED display
- 25.175MHz oscillator
30FPGA Design Flow
31FPGA Design Flow
Design Specification
Design Entry/RTL Coding Behavioral or Structural
Description of Design
- RTL Simulation
- Functional Simulation
- Verify Logic Model Data Flow
- (No Timing Delays)
-
LE
- Synthesis
- Translate Design into Device Specific Primitives
- Optimization to Meet Required Area Performance
Constraints
MEM
I/O
- Place Route
- Map Primitives to Specific Locations inside
- Target Technology with Reference to Area
- Performance Constraints
- Specify Routing Resources to Be Used
32FPGA Design Flow
Timing Analysis - Verify Performance
Specifications Were Met - Static Timing Analysis
tclk
Gate Level Simulation - Timing Simulation -
Verify Design Will Work in Target Technology
Program Test - Program Test Device on Board
33Design Entry Methods
- Text-based
- VHDL(Very High Speed Integrated Circuit Hardware
Description Language) - Verilog HDL
34Block Diagram
- Contents of a block can be any type of design unit
35State Diagram
- Bubble diagram
- States
- Conditions
- Transitions
- Outputs
- Useful for developing control modules
36Program Devices
- Once we verify our design, it should be
downloaded to the FPGA devices - Designs can be downloaded through parallel port
in PC to the JTAG connector on board using
download cables - Designs can also be downloaded via the Internet
to a target device
37Introduction to Altera Design Software
- Software Development Tools
- Quartus II
- Stratix II, Stratix, Stratix GX, Cyclone, APEX
II, APEX 20K/E/C, Excalibur, Mercury Devices - FLEX 10K/A/E, ACEX 1K, FLEX 6000, MAX
7000S/AE/B, MAX 3000A Devices - Quartus II Web Edition
- Free Version
- Not All Features Devices Included
- MAXPLUS II
- All FLEX, ACEX, MAX Devices
38Quartus II Development System
- Fully-Integrated Design Tool
- Multiple Design Entry Methods
- Logic Synthesis
- Place Route
- Simulation
- Timing Power Analysis
- Device Programming
39More Features
- MegaWizard SOPC Builder Design Tools
- LogicLock Optimization Tool
- NativeLink 3rd-Party EDA Tool Integration
- Integrated Embedded Software Development
- SignalTap II SignalProbe Debug Tools
- Windows, Solaris, HPUX, Linux Support
- Node-Locked Network Licensing Options
- Revision Control Interface
40Quartus II Operating Environment
41Main Toolbar Modes
Dynamic menus
Compiler Report
Floorplans
Execution Controls
Window new file buttons
To Reset Views Tools ?ToolbarsgtReset
All Restart Quartus II
42Previous Project 1 VGA Driver
- 25Mhz clock (640 480)
- Horizontal, Vertical Sync
- RGB
43Previous Project 2 DRIIVE Network
44Summary
- Prerequisite
- Electronics and circuits
- Digital logic design
- VHDL (VHSIC Hardware Description Language)
- FPGA
- Combine technologies in hardware software
- Benefits