Spartan
Transkript
FPGA Xilinx SPARTAN 1. FPGA Xilinx –historie • • • • • • Řada XC2000 byla historicky první FPGA (rok 1984), v současné době se již nedodává. Principy použité pro její konstrukci byly natolik geniální, že jsou na nich postaveny (samozřejmě s řadou zásadních inovací) i nejnovější FPGA. Řada XC3000(A) / XC3100(A) se stala začátkem 90. let prakticky průmyslovým standardem. Řada XC4000(A/D/E/EX/XL/XLA/XV/XLT), přinesla zásadní novinky v architektuře FPGA (uživatelská SRAM, rychlá logika přenosu pro sčítačky/odčítačky, ...). Výsledkem je vysoká flexibilita a hustota integrace. Jejími přímými následníky, v mnoha ohledech kompatibilními, jsou nové preferované řady Spartan a Virtex. Řada XC5200 byla optimalizována na nízkou cenu při zachování všech důležitých vymožeností. Řada Spartan/Spartan-XL/Spartan-II/Spartan-IIE/Spartan-3 - doporučená pro nové konstrukce. Nabízí velmi nízkou cenu při hustotě logiky do 5 miliónů ekvivalentních hradel. Řada Virtex/VirtexE/Virtex2 - v současnosti nejdokonalejší FPGA na světě. Nabízejí obrovskou hustotu logiky - až miliony ekvivalentních hradel při zachovaní mimořádně vysokého výkonu. 2. Základní architektura FPGA SPARTAN Všechny FPGA Xilinx používají konfiguraci pomocí statické paměti RAM. To znamená, že po připojení napájení je nutné vždy nahrát znovu konfiguraci. Výhodou tohoto řešení je téměř nekonečná reprogramovatelnost FPGA a také rychlost. Konfigurační propojky pracující na principu paměti RAM jsou totiž rychlejší než přepínače na principu např. EEPROM. Bloky označené IOB (Input/Output Block) představují vstupně-výstupní obvody pro každý v-v pin FPGA. Tyto bloky obvykle obsahují registr, budič, multiplexer a ochranné obvody. CLB (Configurable Logic Block) představují vlastní programovatelné logické bloky. Základní součástí CLB jsou: tři LUT (Look Up Table) – generátory logických funkcí, klopné obvody a multiplexory. Všechny bloky mohou být různě propojeny globální propojovací maticí PSM (Programmable Switch Matrix). B-SCAN (Boundary scan) je rozhraní pro testování součástky uživatelem. Obr. 1 Základní blokové schéma 3. Základní bloky FPGA Spartan/XL 3.1 CLB Obr. 2 Spartan /XL zapojení CLB, zjednodušeno Základní součástí CLB bloku jsou tři LUT (Look-Up Table) jednotky, které slouží jako generátory logických funkcí, dva klopné obvody a dvě skupiny multiplexorů. F-LUT a G-LUT slouží k implementaci 4-vstupového funkčního generátoru. Jsou tvořeny pamětí o velikosti 16x1b. H-LUT se používá k vytvoření výstupní funkce, kde lze jako vstupy použít výstupy F-LUT a G-LUT nebo vstup H1 z CLB bloku. Logická funkce tak může mít až 9 proměnných. Klopné obvody mají jeden běžný hodinový vstup clock enable (EC) a set/reset signal. Oba klopné obvody jsou kontrolované přes GSR signal (global initialization signal). U Spartanu-XL je ještě možnost naprogramovat CLB jako latch. Distribuovaná RAM Generátory logických funkcí uvnitř CLB (F-LUT a G-LUT) je možné použít jako RAM. Výhodou je velká rychlost čtení a zápisu ve srovnání s externí RAM. Obvykle může být tato paměť využita jako dvouportová nebo klasická jednoportová synchronní RAM nebo jako ROM. Při jejím použití se však připravujeme o využitelné prostředky pro ostatní logiku. Od generace SpartanII lze nalézt i blokovou paměť RAM je tvořenou skutečnými bloky synchronní statické RAM. Bloky mají dvojnásobné adresové i datové sběrnice, takže je lze využít i jako dvouportovou paměť. 3.2 Systém propojování CLB CLB jsou navzájem propojovány pomocí horizontálních a vertikálních vodičů – tzv Routing channels, popřípadě se spojovacími maticemi PSM ( Programmable Switch Matrix) viz Obr. 3 Routing channels jsou 3 druhů: ● single-length – Slouží rychlému propojení sousedních CLB. Průchodem přes PSM způsobují zpoždění signálu, a proto nejsou vhodné k propojování na dlouhé vzdálenosti. ● double-length – spojují dvě spojovací matice PSM objednu. Zabezpečují rychlejší propojování na střední vzdálenosti. ● longlines – jsou vedeny horizontálně a vertikálně napříč celou součástkou. Slouží pro rozvod kritických signálů na dlouhé vzdálenosti. Obr. 3 Spartan /XL propojovací kanál Horizontální a vertikální single- a double-length linky se kříží v PSM. 6 tranzistorů tvoří jeden propojovací bod. Signál vstupující po lince do PSM může tak být propojen na linku stejné délky do zbývajících 3 směrů, viz Obr. 4. Obr. 4 Zapojení PSM 3.3 IOB Obr. 5 Zjednodušený IO blok Spartanu/XL Konfigurovatelný vstupně výstupní blok zajišťuje propojení mezi vývodem obvodu a vnitřní logikou. Může být nakonfigurován jako vstupní, výstupní nebo obousměrný. 4. Nahrávání konfigurace do součástky Konfigurace je proces nahrávání dat do jedné nebo více FPGA z vnější paměti PROM. Tím se definuje funkce a vzájemné propojení vnitřních bloků. Např. řada Spartan/XL používá několik set konfiguračních bitů na 1 CLB. Konfigurační módy odpovídají nastavení pinů Mode resp. M0 a M1 . Configuration Mode Control 5V Spartan devices have two configuration modes. • MODE = 1 sets Slave Serial mode • MODE = 0 sets Master Serial mode 3V Spartan-XL devices have three configuration modes. • M1/M0 = 11 sets Slave Serial mode • M1/M0 = 10 sets Master Serial mode • M1/M0 = 0X sets Express mode Obr. 6 Master/Slave Serial Mode Obr. 7 Express mód – pouze u SPARTAN-XL 5 Porovnání jednotlivých řad Spartanů 5.1 Hlavní rysy řady Spartan/XL Spartan a Spartan-XL Spartan-XL má navíc • Až 1862 logických buněk a 40000 ekvivalentních hradel • Vychází z architektury XC4000 • Pracovní frekvence až 80 MHz • Neomezená přeprogramovatelnost • Nízká cena • Distribuovaná RAM až 25088 b • High-speed carry logic • Podpora ve vývojovém prostředí Xilinx ISE • Napěťové standardy TTL, LVTTL, LVCMOS 3V • 3.3V napájení a 5V tolerantní I/O • Power down vstup • Vyšší výkon • Rychlejší carry logika • Flexibilnější high-speed clock síť • Možnost naprogramovat CLB jako latch • Enhanced Boundary Scan • Express Mode konfigurace 5.2 Hlavní rysy řady Spartan-II(E) Spartan-II Spartan-IIE • 432 až 5292 logických buněk • 15000 až 200000 ekvivalentních hradel • Jádro založeno na architektuře Virtex • Napájení jádra 2.5V • Hodiny až 200 Mhz • Neomezená přeprogramovatelnost • Velmi nízká cena • 180nm technologie • Až 75264 b distribuované RAM • Až 56 Kb blokové RAM • Dedicated carry a high-speed arithmetic logika • Podpora násobiček • 4x DLL pro práci s hodinovými signály: • 4 globální sítě pro rozvod clk s nízkým skluzem • IEEE 1149.1 compatibilní boundary scan logika • 16 napěťových standardů • Plná podpora v Xilinx ISE • 1728 až 15552 logických buněk • 23000 až 600000 ekvivalentních hradel • Jádro založeno na architektuře Virtex-E • Napájení jádra 1.8V • Hodiny až 200 Mhz • Neomezená přeprogramovatelnost • Velmi nízká cena • 150nm technologie • Až 221184 b distribuované RAM • Až 288 Kb blokové RAM • Rychlé rozhraní k externí RAM • Dedicated carry a high-speed arithmetic logika • Podpora násobiček • 4x DLL pro práci s hodinovými signály: · násobení, dělení, fázový posun a eliminace skluzu hodin • 4 globální sítě pro rozvod clk s nízkým skluzem • IEEE 1149.1 compatibilní boundary scan logika • 19 napěťových standardů · LVTTL, LVCMOS, HSTL, SSTL, AGP, CTT, GTL, PCI • Až 205 differenciálních I/O párů • Plná podpora v Xilinx ISE 5.3 Hlavní rysy řady Spartan-3 • 50,000 až 5,000,000 ekvivalentních hradel • Hodiny až 326 MHz • 3 Napájecí napětí: 1.2V jádro, 1.2V 3.3V I/O, pomocné 2.5V • 90-nm technologie • Nízká cena • Až 784 I/O pinů • 622 Mb/s přenosová rychlost na I/O pin • 17 napěťových standardů + 7 diferenciálních • Podpora Dual Data Rate (DDR) - Rychlá look-ahead carry logika - Dedicated 18 x 18 násobičky - JTAG logic compatible with IEEE 1149.1/1532 • SelectRAM™ hierarchical memory • Až 1872 Kb blokové RAM • Až 520 Kb distribuované RAM • Digital Clock Manager (max 4x DCM): - Eliminace skluzu hodin - Frekvenční syntéza - Fázový posun s vysokým rozlišením • 8 globálních hodinových linek • Plně podporované v Xilinx ISE 6. Pouzdra, ceníky Obr.8 Pouzdra obvodů Spartan Výrobce Typ Množství Cena XILINX XC2S200-6PQ208C * 1119 Kč XILINX XC2S300E-6PQ208C * 1530 Kč XILINX XC2S50-5TQ144C ** 477 Kč XILINX XCS05XL-4VQ100I * 400 Kč XILINX XCS10-4TQ144C * 1177 Kč XILINX XCS30XL-4PQ208C * 819 Kč XILINX XCS30XL-4TQ144I * 908 Kč Označení množství na skladě: * = 1 - 10 ks, ** = 11 - 100 ks, *** = více než 100 ks Ceny obvodů Spartan a Spartan II u firmy Asix 7. Vývojové prostředky Software Pro vývoj aplikací s FPGA existuje několik návrhových systémů. Pro vývoj je nutné použít minimálně dvou nástrojů. Prvním je nástroj pro syntézu, který převede většinou textový popis návrhu v některém HDL jazyce na netlist využívající obecné logické bloky. Druhý nástroj zajistí konverzi obecného netlistu na netlist využívající prostředky konkrétního FPGA a zajistí jejich "optimální" rozmístění a propojení. Nástroje pro rozmístění a propojení obvykle nabízejí pouze výrobci programovatelných hradlových polí. Prostředky pro syntézu nabízejí i jiné firmy. Pokud chce člověk začít pracovat s obvody FPGA musí si tedy obstarat základní programové vybavení od výrobce obvodů a případně další software od třetí strany. Kromě nástrojů pro syntézu je velmi výhodné používat ještě simulátor, čímž se může předejít chybám již v průběhu návrhu. Ceny vývojových prostředků jsou však velmi vysoké (ceny licencí na jeden rok se obvykle pohybují od 1000 do 2000 dolarů). Firma Xilinx nabízí pro FPGA s menší hustotou logiky mnohem levnější alternativu. Vývojový systém ISE WebPACK je totiž zadarmo. Tento vývojový systém pro FPGA firmy Xilinx je omezenou verzí jejich kompletního systému. Omezení se však týká pouze velikosti hradlových polí pro které je možno prostředí použít. Navíc neobsahuje některé rozšířené součásti jako například plnohodnotný editor výsledného propojení. WebPACK je i přesto plně funkční a plnohodnotný návrhový systém. Kromě vlastního prostředí WebPACK je možné zdarma získat i omezenou verzi HDL simulátoru ModelSim XE, což je verze s předkompilovanými knihovnami primitiv pro FPGA Xilinx. Omezení simulátoru spočívá ve zpomalení jeho funkce pro velké návrhy. Simulátor je tedy opět plně funkční, pouze doba simulace složitého návrhu je několikanásobná oproti plné verzi. Vývojové prostředí ISE WebPACK včetně simulátoru ModelSim XE je možno stáhnout po zaregistrování na www.xilinx.com. Hardware Pro bližší seznámení s programovatelnými hradlovými poli je výhodné použít již hotovou vývojovou desku. Na trhu jich je několik a jejich ceny se pohybují řádově od $200. Pokud nechcete za desku utratit tolik peněz, ale přesto byste pro začátek použili ověřenou funkční desku, můžete si sami vyrobit, příp. nechat vyrobit vývojovou desku podle zveřejněné open-source dokumentace. Takovou deskou je například FPGA-evb-S2. Bližší informace na http://fpga.f2g.net/. 8. Literatura Katalogové listy Xilinx Spartan - www.xilinx.com, prezentace obvodů Spartan z minulých semestrů, www.hw.cz a www.asix.cz.
Podobné dokumenty
Studijní text - E-learningové prvky pro podporu výuky
Báze obvodů pro realizaci číslicových systémů je dnes rozsáhlá množina a je možné ji
charakterizovat na základě různých kritérií. Jednoznačnou definici kritérií nelze stanovit,
protože se mění rozv...
Potravinářské aktuality
mohou mít nepøíznivé vedlejí úèinky. Výsledky etøení provádìného odborníky na fakultì gynekologie a porodnictví univerzity v Jiní Karolinì prokázaly, e tento prostøedek na bázi
zázvoru a medu r...
Program cvičení
Bloky KOM a SEK se procvičují na CAD ISEwebpack (Xilinx) a přípravcích Basys2 (FGPA Xilinx). Bloky
SYS a ISA se procvičují na IDE MPLAB (Microchip) a přípravcích Explorer s procesory pic18F. Všechn...
Použití jazyka VHDL pro návrh číslicových obvodů
a pull-up rezistorem), W, (tzv. don’t care –
libovolná logická úroveň) a U (neinicializovaná hodnota). Podpora pro devítistavovou
logiku je implementována v balíčku
std_logic_1164 v knihovně IEEE. ...