Spartan

Transkript

Spartan
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

SPARTAN /XL Xilinx FPGA Device

SPARTAN /XL Xilinx FPGA Device Základní princip CLB bloků:

Více

Studijní text - E-learningové prvky pro podporu výuky

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

Více

Potravinářské aktuality

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 Jižní Karolinì prokázaly, že tento prostøedek na bázi zázvoru a medu r...

Více

Program cvičení

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

Více

Použití jazyka VHDL pro návrh číslicových obvodů

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

Více