fpga @ upb-bga

23
FPGA @ UPB-BGA Field-Programmable Gate Arrays

Upload: jose-pinilla

Post on 18-Jul-2015

967 views

Category:

Education


0 download

TRANSCRIPT

FPGA @ UPB-BGAField-Programmable Gate Arrays

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.

Levels 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.

Datalogger (CIC)

Final Project

X = Reduced/ComplexInstruction

SetComputing

KeyEducational

Resource

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-ISKER: What is it?

X-ISCKER

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