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