180 likes | 336 Vues
Circuite VLSI reconfigurabile. Facultatea de Electronic ă Telecomunicaţii şi Tehnologia Informa ţiei s.l.dr.ing. Liviu Ţigăeru. Curs : Structura dispozitivelor reconfigurabile: FPGA, CPLD, SPLD
E N D
Circuite VLSI reconfigurabile Facultatea de Electronică Telecomunicaţiişi Tehnologia Informaţiei s.l.dr.ing. Liviu Ţigăeru
Curs: Structura dispozitivelor reconfigurabile: FPGA, CPLD, SPLD Laborator: implementarea sistemelor digitale pe suportul fizic furnizat de dispozitivele FPGA tehnici de descriere VHDL a sistemelor digitale in scopul sintezei logice a acestora. Modul de acordare a notei: NF=0,5xT+0,3xLS+0,2xL NF = nota finala T = nota obţinută la testul pe calculator – implementarea unui sistem digital pe FPGA (săptămâna 14) LS = nota obţinută la lucrarea scrisă (săptămâna 13) L = nota laborator
Soluţii pentru implementarea sistemelor digitale 1. Procesoare convenţionale 2. Soluţii ASIC 3. Dispozitive reconfigurabile
Procesoare • Procesoarele (microprocesoare, procesoare digitale de semnal DSPs) furnizează resursele logice necesare implementării unor platforme de calcul variate. • Permit implementarea unor platforme de calcul foarte flexibile, capabile să execute aplicaţii din domenii diferite: comunicaţii, sisteme de comandă şi control, prelucrarea semnalelor, etc. • Aplicaţiile sunt executate prin decodarea unui flux de instrucţiuni preluate dintr-un cod software, pe baza informaţiilor stocate în blocuri de memorie. • Caracterul secvenţial de executare a aplicaţiilor, limitele impuse de viteza de acces la blocurile de memorie şi arhitectura fixă a procesoarelor, limitează performanţa acestor sisteme.
Application Specific Integrated Circuits (ASICs) • ASIC-urile furnizează o soluţie alternativă procesoarelor convenţionale pentru implementarea unor aplicaţii performante. • ASIC-urile sunt proiectate să deservească o aplicaţie specifică au funcţionalitate şi arhitectură limitată la aplicaţia deservită şi performanţe superioare. • ASIC-urile permit optimizări în scopul obţinerii unor frecvenţe de lucru superioare, respectiv consum de putere inferioară, relativ la celelalte soluţii de implementare. • Sunt excluse optimizări post-design. • Cost ridicat in faza de proiectare. • Timp de proiectare ridicat.
Circuite reconfigurabile(PLD - Programmable Logic Devices) • Asigură un compromis între cele 2 tendinţe: flexibilitate vs. performanţă. • Permit reconfigurarea, asigurând suportul logic necesar implementării unor aplicaţii din clase diferite, cu performanţe semnificative. • Risc scăzut în faza de proiectare. • Cost iniţial redus. • Timp proiectare redus. • Permit optimizări post-design. • Migrare către ASIC hard copy. • Ideale pentru realizarea prototipurilor.
Soluţii utilizate în dispozitivele PLDpentru implementarea funcţiilor logice 1. Porti logice 2. Multiplexoare
termeni produs (porti SI) Implementarea functiei logice F(A,B)=AB’+A’B A A’ B B’ suma (poarta SAU) bit programabil AB’ F(A,B) F(A,B) 0 1 D Q DMUX F(A,B,CLK) DFF A’B CLK comutator programabil
Implementarea functiei logice F(A,B)=AB’+A’B A B F(A,B) 0 0 0 0 1 1 1 0 1 1 1 0 B A bit programabil 00 01 10 11 0 F(A,B) 0 1 1 F(A,B) MUX D Q 1 DMUX F(A,B,CLK) 0 DFF Celule de memorie CLK
Clasificare PLD • SPLD (Simple Programmable Logic Device) • CPLD (Complex Programmable Logic Device) • FPGA (Field Programmable Gate Array)
Arhitectura SPLD Variabile de intrare Iesiri Arie de porti SAU (planul logic SAU) Arie programabila de porti logice SI (planul logic SI) Celule de ieşire Macrocelule Termeni produs Functii logice combinationale Functii logice secventiale / combinationale
Arhitectura CPLD SPLD Bloc logic SPLD Matrice de interconexiuni programabile Celule intrare / iesire Celule intrare / iesire SPLD SPLD Intârzierea asociata unui semnal(functie logică) poate fi determinata (anticipata) deoarece întârzierea acestuia prin matricea de interconexiuni este cunoscuta!
Arhitectura FPGA Blocuri intrare / iesire Intârzierea asociata unui semnal (functie logică)NU poate fi anticipată! Matrice conexiuni programabile Celula logica Celula logica Celula logica Celula logica Celula logica Celula logica Blocuri intrare / iesire Blocuri intrare / iesire Celula logica Celula logica Celula logica Blocuri intrare / iesire
Firme producătoare PLD • Xilinx • Altera • Lattice • Actel • Cypress • Atmel • QuickLogic
Etape de proiectare (Design Flow) 1 Design Specification Design Entry/ Descriere RTL - Descriere comportamentală/structurală a proiectului Simulare RTL -Simulare funcţională - Verificare model (fără intârzierile semnalelor) M512 Sinteză logica Translatează descrierea sistemului (HDL+Schematic) într-un set de primitive logice specifice dispozitivului; genereaza un fisier netlist care contine modul in care sunt conectate primitivele logice=> schemă electronică ce conţine primitivele logice (blocuri digitale elementare) LE M4K I/O Map, Place & Route - Mapează primitivele logice obţinute în etapa de sinteză logică spre resursele logice ale dispozitivului, ţinând cont de constrângerile legate de cantitatea de resurse logice şi de performanţă: - Plasează resursele logice utilizate pentru implementare în structura dispozitivului; - Conectează resursele logice utilizate
Etape de proiectare (Design Flow) 2 tclk Timing Analysis (analiza întârzierilor semnalelor) - permite verificarea performanţei sistemului Simulare postlayout - simulare în regim tranzitoriu => forme de undă - se verifică dacă sistemul poate fi implementat pe dispozitivul adoptat Configurare & Testare -se configurează/programează dispozitivul - se testează dispozitivul
Programarea (configurarea) PLD-urilor • stabilirea interconexiunilor dintre blocurile logice • stabilirea configuraţiei blocurilor logice • prin intermediul unui flux de biţi de configurare, generat prin intermediul unui instrument software special şi obţinut pe baza descrierii sistemului implementat.