Summary/Agenda
● What is an FPGA?■ Internal Composition■ Basical Features■ Advantages■ Configuration
● How do we use FPGA?
○ Advanced Digital Technologies Student Group○ Datalogger Project○ Final Project X-ISCKER
What is it?
IC Chips...
...which have an amount of configurable digital components that can be interconnected by the user.
What is it?
Image from: http://users.erols.com/aaps/x84lab/xilinxin.jpg
Field Programmable Gate Array
FPGA It's like a LEGO !
Small Pieces with specific functions
Interconnected between them,builds bigger systems
Logic GatesRegistersMultiplexersPathsClock Sources
Communication SystemsMicroprocessorsDriversSystem On a Chip
Basical Features
-Size
-Internal Blocks
How many Lego pieces are in the box?
-Hardware DesignHow to interconnect the Lego pieces appropriately?
CLB: Configurable Logic BlocksLES: Logic ElementsKGates: Kilo-Gates
How many kinds of Lego pieces are in the box?
PLL: Phase Locked LoopsRAM: Random Access MemoryMultipliersProcessors
Hardware Description Lenguage (HDL)
Verilog, VHDLor IDE Tools
Advantages...
...Over Microcontrollers ● Reconfigurability is in a lower
level of abstraction. ● Execution is parallel.
● Frequency isn't the most
important speed factor.
...Over ASIC or ASSP ● Extremely cheaper for low scale
production. ● Flexibility to updates and
corrections. ● Faster tangible results. ● Confortable level of abstraction.
FPGA: Approaches
System Integration Tools Higher Level of Abstraction SoC-like design Embedded Processors
Structural Description VERY specific design
Tedious but rewarding Reconfiguration of available modules*
*non propietary
Advanced Hardware Design
RTL (Register Transfer Level)○ Reliability
● Clock Domain Crossing, Glitches, Metastability
○ Resources Efficiency● Internal Memory, Pin Assignments, CLB underusage
○ Standarizations● Start-Finish, Avalon, Wishbone
○ Comprehensibility● Organized coding, Modular design
How do we use FPGA?
■ Advanced Digital Technologies (Academic Group)
■ Datalogger (CIC)
■ Final Project
ADT: Advanced Digital Technologies
-Digital Design Tutorials (Verilog)
-Computer Architecture -Projects Tutoring
Datalogger (CIC)Corrosion Investigation Corporation
Industrial Application Technical RequirementsSampling Rate -- 8 KHzResolution -- 16 bitsChannels -- >250Running Time -- 24h
Other requirements: Scalable design, User Interface, Fast reading of data acq, Compression.
X-ISKER: What is it?
HDL and an IDEEmbedded Processors
RISC & CISC ArchitecturesTeaching Computer Architectures
Design and implementation of new projects
● Full Documentation● Open Design● Reconfigurable
Device● IDE
X-ISCKER: Embedded Processors
Why going back to sequential execution when everything could be HW?
Random execution tasks are easier and faster to write Hardware acceleration Programs reutilization SoPCMerge processors and peripherals in one chip
X-ISCKER: Why?
CommercialDevices
Applicability
Add-on IC modules
Simulators
DocumentationInside look
X-ISCKERFPGA Embedded Processor Description
Teach by example "Open Source" Add-on ModulesArchitectures judgement
VS
X-ISCKER: Design Flow
Requirements
ArchitecturalDesign
Implementation
Testing
RISC-CISC ArchitectureFunctionalModularSimply
State MapsLogic DiagramsRTL Altera DE0-Nano
XilinxSpartan 3A
ADT projects...
RISC Based on: MIPS16 bits30 Instructions
CISC Based on: HC08 HC118 & 16 bits244 Instructions
X-ISCKER: How?
+ Available documentation+ Computer Architecture Theory+ Digital Design Principles
X-ISCKER: Results
Software - Windows forms applicationX-ISCKER IDE
Hardware - Verilog description files
CISCKERRISCKER
X-ISCKER: The Future
Wikihttps://sites.google.com/site/xiscker/ ApplicationCIC Research project alternative ADT ProjectsWe're Waiting for Volunteers
Top Related