česky english Vítejte, dnes je středa 02. prosinec 2020

Programovatelná logika – část 6 Shrnutí, literatura, odkazy

DPS 2/2015 | Vývoj - články
Autor: Ing. Jan Pech

Seriál přinesl souhrn základních informací o programovatelných logických obvodech, jejich vnitřních strukturách, použití, principech vývoje aplikací a vývojových prostředcích. Dále seriál lehce představil nejdůležitější jazyky používané pro návrh a simulace logických obvodů. Samostatná kapitola byla věnována vlivu asynchronních signálů na funkci synchronních logických obvodů a způsobům, jak se vyhnout případným problémům.

Kompletní problematika vývoje komplexních logických systémů založených na programovatelných logických obvodech mnohonásobně přesahuje rozsah tohoto seriálu. Zájemci o tento obor mohou nastudovat další informace v odkazech a literatuře uvedené v této závěrečné části.

Výrobci programovatelných logických obvodů

Dva nejvýznamnější světoví výrobci programovatelných logických obvodů jsou (v abecedním pořadí) firmy Altera a Xilinx. Další dva významní hráči na tomto poli jsou firmy Lattice Semiconductor a Microsemi. Zájemce o programovatelnou logiku najde na webových stránkách těchto firem obrovské množství dokumentace k jejich programovatelným logickým obvodům, vývojovým prostředím, ale i obecné a praktické informace týkající se vývoje programovatelné logiky.

Webové stránky výrobců programovatelných logických obvodů:

Kromě literatury a dokumentace poskytují všichni tito výrobci na webu ke stažení i jejich vývojová prostředí. Ta je možné získat jak v placených verzích, tak i zdarma s částečně omezenou funkcionalitou. Verze poskytované zdarma obvykle podporují pouze menší obvody, což pro seznámení s programovatelnou logikou nebo menší projekty nemusí být vůbec překážkou.

Návrhové a verifikační jazyky

Jazyky VHDL, Verilog, SystemVerilog, SystemC, PSL jsou v dnešní době standardizovány organizací IEEE. Souhrn odkazů na jednotlivé standardy je uveden na webu organizace Accellera, která vývoj těchto jazyků zastřešuje:

http://www.accellera.org/downloads/ieee/

Některé standardy jsou k dispozici zdarma, za některé je třeba zaplatit licenční poplatek. Obecně je ale třeba zmínit, že tyto standardy definují jednotlivé jazyky a jsou nutné pro jejich implementaci v různých nástrojích. Pro výuku a používání těchto jazyků nejsou standardy příliš vhodné. Naštěstí existuje mnoho knih věnovaných popisu a výuce návrhových a verifikačních jazyků. Pro představu stačí zadat název jazyka jako klíčové slovo do vyhledávače na některém velkém internetovém knihkupectví.

Některé doporučené knihy:

  • Peter J. Ashenden: The Designer‘s Guide to VHDL, Third Edition (ISBN 978-0120887859)
    Nejlepší kniha o VHDL, která se dá použít jako učebnice jazyka pro začátečníka, ale i jako referenční příručka pro zkušeného vývojáře. Třetí vydání zahrnuje i poslední verzi jazyka VHDL-2008.
  • Frank Vahid, Roman Lysecky: Verilog for Digital Design (ISBN 978-0470052624
    Rychlý úvod do jazyka Verilog, použitelný i jako referenční příručka.
  • Donald Thomas: Logic Design and Verification Using SystemVerilog (ISBN 978-1500385781)
    Praktická ucelená učebnice jazyka SystemVerilog pro použití jak pro návrh, tak i pro verifikaci.
  • Harry D. Foster, Adam C. Krolnik, David J. Lacey: Assertion-Based Design (ISBN 978-1441954626)
    Principy a metody návrhu založeného na assertions a popis PSL.

Kromě knih je možné využívat i různé online zdroje:

  • http://www.asic-world.com
    Krátké učebnice, návody a příklady pro různé HDL.
  • http://doulos.com/knowhow
    Část dokumentace poskytovaná zdarma známou školicí firmou. Firma zároveň nabízí různá školení a literaturu související s vývojem FPGA a ASIC.

Kromě učebnic a různých seminářů existuje plno literatury věnované obecně vývoji číslicových systémů, návrhu integrovaných obvodů, metodologii návrhu i verifikace.

Opět stačí zadat správná klíčová slova v internetových obchodech a při výběru se řídit čtenářskými recenzemi a zveřejněnými náhledy knih. Z online zdrojů bych rád zviditelnil projekt OpenCores:

OpenCores představuje databázi open- -source IP jader pro FPGA/ASIC. Jádra je možné používat ve vlastních projektech, ale mohou dobře posloužit jako studijní materiál pro výuku HDL a vývoje pro FPGA. Samozřejmě je dobré ke zveřejněným jádrům přistupovat obezřetně. Jedná se o sbírku prací mnoha různých vývojářů a ne každý zdrojový kód je skutečně napsán ideálně.

Vývojové nástroje

Následuje přehled nejdůležitějších vývojových nástrojů pro FPGA. Některé z těchto systémů jsou poměrně drahé komerční nástroje, některé jsou poskytovány zdarma alespoň v částečně funkčně omezených verzích. Často se jedná o omezení podpory těch největších a nejrychlejších FPGA, zatímco běžnější a dostupnější obvody jsou plně podporovány.

Kompletní vývojová prostředí

Kompletní vývojová prostředí pro FPGA poskytují především výrobci programovatelných logických obvodů.

HDL simulátory

V současné době vyvíjí vlastní HDL simulátor pouze jediný výrobce programovatelných logických obvodů, a to firma Xilinx. Všichni ostatní výrobci poskytují upravené verze simulátorů jiných firem. Samozřejmě je vždy možné používat plnohodnotnou verzi některého „velkého“ simulátoru, který obvykle běží rychleji a podporuje mnoho pokročilých funkcí, třeba pro podporu formální verifikace a podobně.

  • Mentor Graphics ModelSim
    http://www.mentor.com/products/fpga/simulation/modelsim
    ModelSim je pravděpodobně nejrozšířenější HDL simulátor. Existuje v několika variantách, které se liší rychlostí a možnostmi. Mnoho vlastností je volitelných podle licence.
  • Mentor Graphics Questa
    http://www.mentor.com/products/fv/questa-verification-platform
    Questa je kompletní platforma pro formální verifikaci. Obsahuje mnoho nástrojů pro simulaci a verifikaci, různé analýzy a mnoho dalších činností pro verifikaci návrhů komplexních integrovaných obvodů.
  • Aldec Active-HDL
    https://www.aldec.com/en/products/fpga_simulation/active-hdl
    Active-HDL je HDL simulátor firmy Aldec, který je, co se týče simulace, funkčně srovnatelný s ModelSim. Navíc tento produkt zahrnuje integrované vývojové prostředí včetně správy projektů pro návrh FPGA.
  • Aldec Riviera-PRO
    https://www.aldec.com/en/products/functional_verification/riviera-pro
    Riviera-PRO je celá platforma pro formální verifikaci. Jejím jádrem je výkonný HDL simulátor, který je rozšířen o podporu funkcí pro formální verifikaci návrhů komplexních integrovaných obvodů.
  • Synopsys VCS
    http://www.synopsys.com/Tools/Verification/FunctionalVerification/Pages/VCS.aspx
    Výkonný HDL simulátor společnosti Synopsys. Používaný spíše pro ASIC. Kromě ModelSim a Active-HDL hrají další simulátory ve světě FPGA minimální roli. Jedná se obvykle o velmi rozsáhlé a také drahé systémy podporující různé metody formální verifikace a analýzy, které se používají v návrhu komplexních integrovaných obvodů.

Nástroje pro syntézu

Samostatné nástroje pro syntézu třetích stran v poslední době ztrácejí na významu. Někteří výrobci FPGA používají upravené verze standardních nástrojů ve svých kompletních vývojových prostředích. Většina však vyvíjí vlastní syntezátory, které již dávají natolik dobré výsledky, že použití dalšího specializovaného nástroje má opodstatnění pouze ve speciálních případech.

Nejdůležitější samostatné nástroje prosyntézu:

Literatura v češtině

Přestože nabídka české literatury věnované problematice programovatelné logiky nedosahuje šíře té anglicky psané, je i u nás k dispozici několik knih určených především začátečníkům.

  • Jakub Šťastný: FPGA prakticky, BEN, 2011 (ISBN 978-80-7300-261-9)
  • Jiří Pinker, Martin Poupa: Číslicové systémy a jazyk VHDL, BEN, 2006 (ISBN 80-7300-198-5)
  • Jiří Král: Řešené příklady ve VHDL, BEN, 2010 (ISBN 978-80-7300-257-2)
  • Bohumil Brtník: Číslicové systémy, BEN, 2011 (ISBN 978-80-7300-407-1)

Kromě těchto aktuálních knih samozřejmě existují různé starší učebnice číslicové techniky, které jsou stále použitelné pro získání základních znalostí o logických obvodech. Programovatelné logické obvody pouze úžasným způsobem rozšiřují možnosti, co se týče rychlosti a velikosti navrhovaných obvodů.

Partneři

eipc
epci
imaps
papouch
ep
mikrozone
mcu
projectik