Sunteți pe pagina 1din 7

Aplicaii ale circuitelor FPGA (Field Programmable Logic Arrays)Introducere

Circuitele FPGA utilizate si la care se vor face referiri in continuare sunt circuite alefirmei Xilinx i aparin familiei Spartan IIE. Mediul de programare utilizat i la care se facreferiri este Xilinx WebPACK 4.2WP3.0 sau Xilinx WebPACK 5.1WP3.0. Va fi urmrit cptarea urmtoarelor cunotine: - definirea unui proiect FPGA asociat unei aplicaii - alegerea ca int a unui anumit tip de circuit FPGA (ca resurse i pin-out) - editarea unei surse VHDL folosind un editor HDL - detectarea i corectarea erorilor sintactice din sursa VHDL - sinteza logic a unui netlist din descrierea VHDL - plasarea si rutarea (fitting) netlist-ului obinut n circuitul FPGA int - verificarea modului n care au fost utilizate resursele FPGA -ului - utilizarea vectorilor de test pentru verificarea funcional a aplicaiei - generarea unui fiier JEDEC (implicit i a bitstream-ului) pentru FPGA - ncrcarea fiierului JEDEC (programarea circuitului FPGA) - testarea aplicaiei (implicit si a circuitului FPGA programat) Problemele care NU vor fi abordate sunt: - utilizarea testbench-urilor pentru simularea funcionala precum si a mediului de simulare Modelsim - proiectarea logic complex folosind limbajul VHDL (analiza timing, analiza puterii) - alegerea celui mai bun tip de FPGA pentru o anumit aplicaie - configurarea circuitului pentru cea mai eficient utilizare a resurselor circuitului FPGA - semnificaia i modul n care pot fi alese diversele opiuni i proprieti ale proceselor din mediul de dezvoltare WebPACK Realizarea unui proiect (aplicaie, circuit logic) cu ajutorul unui circuit FPGA presupune urmtorii pai (Design Flow), vezi figura 1: a. Descrierea circuitului logic folosind o schem (Schematics) sau
1

un limbaj HDL cum ar fi VHDL, Verilog sau ABEL. Etapa poart numele i de Design Entry. b. Utilizarea unui program de sintez logic pentru a ajunge de la sursa HDL la o descriere a porilor logice utilizate i a modului n care acestea sunt conectate sau, cu alte cuvinte, pentru a compila sursa HDL ntr-un netlist. n continuare se poate face i verificare a aplicaiei, prin simularea funcional cu ajutorul vectorilor de test generai prin intermediul unor module de cod speciale numite testbench. c. Utilizarea unui program de mapare (Map, Place and Route tool, fitter) pentru a plasa porile logice i a ruta interconexiunile ntr-un anume circuit FPGA int. Circuitul FPGA este compus din mai multe blocuri logice configurabile (CLB-

Configurable Logic Block) care la rndul lor sunt formate din tabele de cautare (LUT-Look-Up Table). CLB-urile si LUT-urile pot fi interconectate cu ajutorul unor resurse de conectare- rutare (routing resources) de natura unor matrici de conectare. Fitterul asigneaz porile din netlist diverselor LUT-uri, le asigneaz pe acestea CLB-urilor i, n acelai timp, configureaz matricele de conectare prin nchiderea sau deschiderea elementelor de comutaie (comutatoarelor) pentru a interconecta porile conform conectivitii descrise n netlist. Dup aceast etap se poate face o verificare complex a circuitului (post-implementare), lundu-se in considerare si timpii de propagare - o analiza de timing (Timing Analysis).

d. Odat faza de rutare si plasare terminat un alt program va extrage starea elementelor de comutaie din matricele de rutare i va genera o descriere sub forma unui ir de bii(bitstream). ntr-o descriere simplificatoare biii n 0 corespund unui comutator deschis, iar cei in 1 unui comutator nchis (n realitate lucrurile sunt mai complicate!). Fisierul de tip Bitstream generat poate fi uneori transformat si intr-un fiier de tipJEDEC, fiier coninnd i alte informaii, fiier a crui form i coninut sunt standardizate. e. Fiierul Bitstream poate fi acum ncrcat (download) n
3

circuitul fizic (conectat n circuit i alimentat!) cu ajutorul unui program dedicat i al unui dispozitiv de programare extern (JTAG programmer). Dispozitivul de programare se conecteaz cu circuitul CPLD prin intermediul interfeei JTAG standard i utilizeaz unul din porturile externe ale calculatorului gazd (paralel, serial sau USB). Dup realizarea ncrcrii programrii, circuitul CPLD se va comporta conform descrierii din sursa HDL. In figura 2 este descris fluxul funcional implicat de realizarea unei aplicaii VHDL avnd cacircuit int un circuit FPGA Spartan IIE, similar cu cel utilizat pe sistemul de dezvoltare Digilent IIE. Sistemul de dezvoltare Digilent IIE mpreun conectat prin intermediul conectorilor de expansiune cu un modul Digilent de intrri-ieiri DIO-1 este prezentat in figura 3

Figura 2
5

Figura 3 PWR, VCC- seciunea de alimentare, inclusiv conectorul pentru alimentatorul universal extern JTAG- conectorul pentru programatorul JTAG (atenie la notaia pinilor deoarece nu are o cheie!) FPGA- circuit FPGA Xilinx Spartan IIE XC2S200E-PQ208 (capsul PQFP cu 208 pini) LED- diverse diode electroluminiscente (LED-uri) OSC- oscilator numeric 50MHz 7 Segment 4 module de afiare LED 7 segmente (utilizare cu multiplexare) BTN- butoane (taste)
6

SW- comutatoare cu translaie

S-ar putea să vă placă și