FPGA/CPLD atd.

MK info@mcu.cz
Čtvrtek Září 8 10:31:04 CEST 2005


Rozdilu je mnoho a jednoduse je popsat snad ani nejde. Obecne asi lze rict, 
ze CPLD
je vhodne jako rychla nahrada jednodussi relativne nemenne sekvencni a 
kombinacni logiky
kdezto FPGA jsou urceny predevsim na slozitejsi, treba i za behu 
reprogramovatelne funkcni
bloky. Dalsi rozdil je v technologii konfigurace - CPLD pouzivaji EEPROM 
bunky, FPGA
bunky zalozene na SRAM - obe varianty maji sve vyhody a urceni.

K vlastnimu programovani

Uvedom si, ze program zapsany v nekterem HDL jazyku je v podstate jen 
abstraktni popis
pozadovane funkce

Predstav si treba, ze mas sestavit obvod jehoz funkce je popsana rovnici

x = (a AND b) OR (c AND d)

nic jednodussiho, vezmes dve hradla AND a jedno hradlo OR (2/4 z 7408 a 1/4 
z 7432)
Ale muze se stat, ze zadani je doplneno o podminku, ze muzes pouzit jen 
jeden typIO
tak se chvilku zamyslis a prepises rovnici do jineho tvaru

x = (a NAND b) NAND (c NAND d)

pri realizaci nyni muzes pouzit prave ten jediny IO (3/4 7400)

A co tim chtel basnik rici - ke stejnemu vysledku se muzes dopracovat mnoha 
ruznymi cestami
zalezi jen na vstupnich podminkach a pozadovane funkci. V pripade 
programovatelne logiky
mas dane vstupni podminky pouzitym obvodem - v kazdem programovatelnem 
obvodu
mas mnozstvi BUNEK jejiz vstupy a vystupy jsou propojeny. Nekdy bunka 
obsahuje jeden KO,
ekdy je jich voce. Nekdy je propojeni vytvoreno pomoci komplexni matice, 
nekdy jsou bunky
shlukovany do vetsich celku, a ty jsou vzajemne propojeny. Nekdy obsahuji 
obvody ruzne
specializovane druhy bunek. To jake bunky jsou, co obsahuji a jak je 
propojena s ostatnimi je dano
vyrobcem a typem obvodu.

HDL (Hardware Desription Language) jazyku existuje cela rada - VHDL, 
Verilog, ABEL, specificke
mutace vyrobcu. Obvod lze popsat v jazyku C, schematem, vyvojovym diagramem, 
pravdivostni tabulkou.
Moznosti jsou desitky. V Evrope je rozsiren VHDL, v USA zase Verilog. Pro 
jdnoduche navrhy CPLD
je idelani ABEL - je jednoduchy, rychle pochopitelny a dovoluje udrzet 
"abstrakci" na urovni blizke HW.
Pri srovnani s beznymi prog jazyky je ABEL je na urovni assembleru, VHDL 
zhruba odpovida Packalu
a Verilog jazyku C.

I kdyz jsem mnohokrat psal, ze navrh pomoci schematu je proti popisu HDL 
pomaly a nepruzny,
tak tomu tak nemusi byt vzdy. Editory schemat obsazene ve volne dostupnych 
navrhovych prostredich
vyrobcu PLD jsou jen takove obezlicky s nepohodlnym ovladani. Existuji vsak 
konvertory netlistu
z kvalitnich schematickych editoru (Orcad, PADS, etc), ktere maji jak 
propracovane ovladani,
tak mnozstvi knihoven s obecnymi funkcnimi bloky pouzitelnymi s konkretnimi 
PLD obvody

Krome ISE WebPacku existuje samozrejmne rada dalsich prostredku :-)))))
http://www.google.com/search?hl=cs&q=free+hdl+development+tools&btnG=Vyhledat+Googlem&lr
najde cca 500k odkazu :-))))

Existuji stovky, ba tisice knih venovych programovatelne logice, pohrichu v 
cestine vysla prvni a posledni
pred cca 15 lety a skoncila nekde u GALu :-(
http://www.google.com/search?hl=cs&c2coff=1&q=hdl+book+pdf&btnG=Hledat&lr
najde cca 200k odkazu

Problematice programovatelne logiky se nevenuje v domene .cz zadny web, na 
www.mcu.cz
sice vysel popis ABELu a castecne i VHDL, ale nestiham a nema na to nejak 
cas :-(

S pozdravem
MK 




Další informace o konferenci Hw-list