Jste zde

Nová FPGA od Lattice - EC a ECP

Firma Lattice nedávno uvedla na trh nové řady svých FPGA pod označení EC a ECP. Zatímco první je

určena pro aplikace jako HMI, převodníky rozhraní, logické zpracování signálů, řada ECP-DSP obsahuje výpočetní

jednotky s násobičkami pro libovolně náročné digitální zpracování signálů.

Od roku 1984 se firma Lattice zabývá návrhem a výrobou programovatelných obvodů ať již to jsou legendární obvody GAL, CPLD nebo FPGA. V letošním roce jsou v nabídce dvě nové řady FPGA:

  • LatticeEC (EConomy)
  • LatticeECP (EConomy Plus)

Zatímco první z nich, řada EC, nabízí dnes již klasické bloky a jednotky s cílem poskytnout co největší výkon pro jednodušší aplikace za co nejnižší cenu, řada ECP nabízí jádro řady EC plus něco navíc. Momentálně jsou v nabídce FPGA ECP-DSP, která tedy přidávají DSP bloky pro rychlé digitální zpracování signálů potřebné například při filtraci, kompresi, odšumění aj. Tato kombinace se pak díky paralelnímu zpracování a velkému množství násobiček vyrovná i těm nejvýkonnějším DSP (Digital Signal Procesor). Jednodušší řada EC pak lze využít ve všech aplikacích, kde není potřeba operace násobení. Proč také používat složitější obvod, když plně nevyužiji celý jeho výkon ? V tom je strategie firmy Lattice, která nabízí i k obou řadám široký rozptyl velikostí obvodů co se týče počtu obsažených bloků a jednotek (viz. tabulka 1.).

Tab. 1. Vybavení FPGA v závislosti na typovém označení

Použití

LatticeEC

  • Aplikace zpracování signálů ze senzorů + vizualizace, přenos, zalohování
  • Řízení motorů (krokových, servo) a jiných akčních členů
  • HMI (Human-Machine Interface) - LED a LCD displeje a monitory, klávesnice, myš atd.
  • Routery, Servery, Gateway
  • Bezdrátové (Wireless) aplikace - WiFi, modemy
  • Paměťová rozhraní SRAM, SDRAM, DDR
  • Komunikační rozhraní mezi IrDA, UART, I2C, SPI, LPT, PCI
  • Rozhraní pro paměťové karty, různé mechaniky
  • atd.

LatticeECP-DSP

  • Levná náhrada za signálový procesor (DSP)
  • Měřící zařízení - paralelní zpracování dat z desítek kanálů současně + vizualizace a zalohování dat
  • Zpracování obrazu - MPEG-2, MPEG-4, detekce pohybu, redukce šumu
  • Zpracování zvuku - MP3, odšumování, zvýranění, filtrace, digitální ekvalizér, apod.
  • Zpracování řeči - odšumění, rozpoznání řeči, převod řeč <-> text
  • Zdravotnictví - zpracování EEG, EKG, zobrazení, řízení
  • Komprese dat - ztrátová/bezeztrátová
  • Navigační systémy - GPS

LatticeEC - Architektura obvodu

Celou strukturu obvodu FPGA řady EC lze rozdělit do následujících bloků:

  • Programmable Function Unit (PFU)
  • sysMEM Embedded Block RAM (EBR)
  • sysCLOCK PLL
  • Programmable I/O Cells (PIC)
  • sysCONFIG port
  • JTAG komunikační port

Obr. 1. Bloková struktura obvodu FPGA Lattice EC

PFU jednotka

Jedná se o logické jednotky složené z LUT (Lookup table) a bufferu. V každé PFU jednotce se vyskytují čtyři shodné bloky umístěné nadsebou ve čtyřech vrstvách (slice) - viz. obrázek 1. Každou PFU jednotku lze konfigurovat jako logický obvod, aritmetickou jednotku, část tzv. rozprostřené RAM nebo ROM paměti. Paměť RAM nemohou některé jednotky vytvořit, které jsou interně označovány jako PFF. Pokud by se všechny jednotky PFU použily jako RAM tak lze dosáhnout hodnoty až 16Kb.

Obr. 2. Blokové schéma PFU jednoky

Každá LUT (Lookup table) pracuje na principu tabulky logických funkcí a proto může v rámci 4 datových vodičů, 3 řídících signálu a 2 výstupních vodičů generovat libovolnou logickou funkci, případně z nich i aritmetické operace. Protože LUT je tvořena RAM nebo ROM pamětí, lze ji tedy využít i jako paměťovou buňku. Následující tabulka 2. ukazuje možnost konfigurace LUT v rámci jedné PFU, resp PFF.

Tab. 2. Možné konfigurace jednotky PFU, resp. PFF

EBR jednotka

Jde o bloky RAM paměti, která může být konfigurována jako klasická jednopřístupová paměť (single port RAM) nebo jako paměť s dvojím přístupem v jednom hodinové cyklu (dual port RAM). Každá EBR paměť má velikost 9Kb a u nejlépe vybavených obvodů lze tak to použít až 645Kb dual port RAM. Co se týče nastavení, je možné každou jednotku konfigurovat jako paměť s 1-bitovou až 36-bitovou šířkou slova. Operační rychlost je až 275MHz a jednotlivé bloky EBR pamětí lze za sebe skládat a propojovat kaskádně.


sysCLOCK PLL (Phase Locked Loops)

Jde o bloky určené pro generování hodinových a řídících signálů rozsahu frekvencí 33 až 420MHz s možností využít fázového závěsu (PLL) s velkým rozsahem nastavení děličky frekvence a možností volby referenčního signálu z externího pinu obvodu nebo libovolného vnitřního vodiče. Vnitřní zpětnou vazbu PLL lze nahradit externí. Každý tento blok obsahuje 4 výstupy z různých míst PLL a tím lze z jednoho PLL získat více signálů s různými vlastnostmi (frekvence, střída apod.). Generované signály mají jitter na periodu max. 100ps. Fázi signálu lze programově nastavovat po kroku 45°.

sysCONFIG port

Pod tímto názvem se vyskytuje komunikační blok podporující SPI i JTAG standard, sériovou i paralelní komunikaci, dle nastavení. Umožňuje tak jednoduchou vzájemnou komunikaci mezi různými FPGA nebo MCU. SPI rozhraní lze použít k připojení SPI Serial FLASH BOOTovací paměti pro samotné nahraní programu do FPGA při jeho zapnutí (připojení napájení). To nabízí tyto FPGA jako jedni z prvních na světě.

PIC

Každá PIC jednotka obsahuje dva PIO bloky, které poskytují třístavové registry, výstupní a vstupní registry. Protože výstup, resp. vstup z každého registru je pouze jeden, je v PIO i multiplexer pro přepínání více vstupů. Nejblíže fyzickému pinu je pak budič (sysIO Buffer), který umožňuje nastavit napěťové hladiny velké množství rozhraní a standardů. Například LVCMOS (3.3, 2.5, 1.8, 1.2V), LVTTL, SSTL, HSTL, PCI, LVDS, LVPECL. Nastavovat lze i použití pull-up, pull-down rezistorů nebo výstup s otevřeným kolektorem a řídit rychlost přeběhu SR (Slew Rate) výstupního signálu. Tím lze ovlivňovat jak vliv rušení na samotný datová signál tak i rušení ostatních obvodů a bloků vlastním přenosem.

DDR Memory Interface

Některé PIC I/O bloky mají implementované DDR rozhraní a mohou tak tvořit rychlé rozhraním pro připojení DDR SDRAM 133 až 400MHz. To mu jsou samozřejmě přizpůsobeny vstupní a výstupní registry s multiplexováním a taktováním náběžnou i sestupnou hranou hodinového signálu (Double Data Rate). Rozhraní podporuje všechny standardní DDR příkazy pro komunikaci až s dvěma DIMM moduly.

Obr. 3. Blokové schéma rozhraní pro DDR SDRAM

LatticeECP-DSP - Architektura obvodu

Tato řada obsahuje všechny bloky struktury řady EC plus něco navíc. Tím je v případě LatticeECP-DSP sysDSP jednotka (viz. obrázek 4.) umožňující efektivně implementovat algoritmy číslicového zpracování signálů využívající operace násobení. Mezi které například patří filtry FIR (Finite Impulse Response), algoritmy FFT (Fast Fourier Transformation), Reed-Solomon/Turbo/Konvoluční dekodéry apod. Počet jednotek na chipu závisí na typu, označení, obvodu (viz. tabulka 1).

Obr. 4. Bloková struktura obvodu FPGA LatticeECP-DSP

sysDSP jednotka

Každá tato jednotka obsahuje standardně čtyři násobičky 18x18bitů, dvě ALU jednotky a sumační člen (viz. obrázek 5.). Takovou to jednotku lze v porovnání s příkazy signálových procesorů (DSP) konfigurovat jako:

  • MULT (Multiply)
  • MAC (Multiply, Accumulate)
  • MULTADD (Multiply, Addition/Subtraction)
  • MULTADDSUM (Multiply, Addition/Subtraction, Accumulate)

Násobičky mohou pracovat rychlostí až 250MHz. Protože však každá jednotka obsahuje čtyři násobičky pracující paralelně, celkový výpočetní výkon může být přirovnám signálovému procesoru s frekvencí hodinového signálu 1GHz. Šířku vnitřních sběrnic lze nastavit v rozsahu 9, 18 a 36 bitů a stejně tak i lze nastavit šířku slova násobičky, resp. využívat násobičky 9x9, 18x18 nebo 36x36 bitů. V prvním případě tak se virtuální počet násobiček v jednotce zdvojnásobí a ve třetím případě zase bude poloviční.


 

Vývojové prostředky & Evaluation Board

Obě řady FPGA mají k dispozici vývojový software ISPLever Design Tool, který je shodný pro všechny typy FPGA i další programovatelné obvody Lattice. Software poskytuje vše potřebné pro rychlý a úspěšný návrh a implementaci aplikace (syntézu, verifikaci a simulaci, Fitting, Place & Route i naprogramování FPGA). Pro zrychlení vývoje dané aplikace je k dispozici tzv. ispLeverCore Intelectual Property, kdy je možné vkládat celé předpřipravené a firmou Lattice otestované bloky do právě programované aplikace. V nabídce jsou například rozhraní PCI 32 nebo 64 bitů, DMA, FCRAM, DDR SDRAM Controller a mnoho dalších nebo algoritmy FFT, Reed-Solomon Encoder, FIR, Viterby decoder atd.

Pro testování nových aplikací je možné využít několika typů vývojových desek (Evaluation Boards) pro EC i ECP, které mimo FPGA poskytují i další periferie jako například oscilátor, FCRAM, PCI, SMA a SPI konektory, DDR SDRAM rozhraní (konektor), konektor RJ45, diody LED, přepínače apod.

Závěr

FPGA od Lattice doplňují nabídku od firmy Xillinx, přičemž řada EC je strukturou jednodušší než FPGA Xillinx a tím lépe použitelná pro jednodušší aplikace. Řada ECP-DSP zase triumfuje velkým počet násobiček a samotnou strukturou podobnou strukturám hardwarových násobiček signálových procesorů. To umožňuje jednodušší úpravu algoritmů původně určený pro signálový procesor. Obvody FPGA LatticeEC a LatticeECP-DSP distribuje do České republiky pražská firma HT-Eurep Electronic s.r.o. Bližší podrobnější informace lze nalézt v datasheetu, který je volně ke stažení v sekci DOWLOAD & Odkazy.

Antonín Vojáček
vojacek@ hwg.cz

DOWNLOAD & Odkazy

Hodnocení článku: