Třetí kniha od autora knih Hradla, volty, jednočipy a Porty, bajty, osmibity se zaměřuje na moderní elektronické obvody FPGA a jejich použití. Naučíte se nejen jak tyto obvody používat, ale i navrhovat vlastní elektronické systémy v jazyce VHDL.
Kniha vznikla na základě oblíbených a používaných webových kurzů VHDL. Obsah je rozšířen a výrazně doplněn.
Vydavatel své knihy vydává jak v papírové, tak v digitální podobě. E-book je dostupný pod volnou licencí CC jako PDF • EPUB • MOBI • Online e-book
Ke knize jsou dostupné open-source zdrojové kódy.
Proč se vlastně učit pracovat s FPGA? Není to náhodou příliš složité a příliš mocné pro takové to domácí bastlení? Neměli bychom to nechat vystudovaným odborníkům? Je to vůbec na hraní?
Trochu historie o tom, proč jsou vlastně na světě obvody, které vám nenavrhli vývojáři ve firmě, ale které si musíte dodělat sami. A taky pár tipů na kity, které byste si měli koupit, pokud chcete s FPGA začít.
Říká se tomu "programovatelná logická pole", a jak tam je to "programování", tak zazní logická otázka: Jaký jazyk? Naštěstí jsou ty hlavní jen dva, takže jsem zvolil jeden, a o druhém se zmíním později.
Krátká odbočka, kde si řekneme, jak to uvnitř funguje a proč je dobré dodržet některá omezení a dobré rady.
Můžete samozřejmě použít dedikované D-A převodníky, ale někdy se vám bude hodit i prosté PWM nebo o něco lepší převodník sigma-delta. Ukážeme si obojí.
Samozřejmě že je lze poskládat z klopných obvodů, ale taky můžete využít integrované bloky RAM a ROM.
Bez čítačů není počítačů. Můžeme si je poskládat z klopných obvodů - a taky to může být prosté jako +1.
Každý programátor ví, že program popisuje, co se má stát nejdřív a co se má stát potom. Jenže ve FPGA se děje všechno najednou. Ale co když opravdu potřebujete, aby se stalo něco až po něčem jiném? No, musíte si postavit automat.
A to znáte, jak generální tajemník ÚV KSSS volal papežovi po atentátu, že mu vyjádří účast, a ono bylo ještě před atentátem? Časová pásma dokáží nadělat problémy nejen v politice, ale i v elektronice. Když není vše sladěné, musíte se o to postarat sami. A ano, je to velmi důležitá věc.
Divně znějící označení pro obvody, které dokážou simulovat náhodu nebo počítat kontrolní součty (jen je nesmíte zapomenout přepnout z módu náhoda do módu kontrolní součet.)
Naštěstí nemusíte všechno dělat od hradla. Jiní před vámi už to absolvovali, prošlapali slepé cestičky, strávili mnoho hodin laděním a testováním, a vy můžete použít plody jejich práce.
Chcete malý jednodeskový počítač s pár kily paměti a procesorem 8080? No prosím, není problém. Bez plošného spoje, bez součástek, bez pájení a propojování, jen pár desítek řádků kódu, a už to frčí!
Na tohle si s Arduinem netroufnete, protože generování obrazu vám sežere tolik výkonu, že krom toho neuděláte ani Ň. Ale s FPGA? Není problém!
Budič pro sedmisegmentovky. S multiplexem. Děličky kmitočtu. Debouncer proti zákmitům. SPI, I2C, SD karty, paritní generátory. PS/2 myš i klávesnice. SDRAM. HDMI. Zbytek v příkladech...
Co myslíte, jak složité je navrhnout si vlastní mikroprocesor? Dejme tomu šestnáctibitový, RISCový. Ten nejjednodušší. Dokud si to sami nezkusíte, tak mi neuvěříte, že to je jednodušší, než to zní. A neřešte, že ho nikdo nebude nikdy používat — je to skvělé mentální cvičení!
To je ten druhý jazyk. A přišlo mi fér ho alespoň stručně ukázat. A to nejen na konkrétních obvodech, ale i na jedné pěkné konstrukci, totiž zásobníkovém (FORTHovském) procesoru, který se vejde do necelých 200 řádků kódu.
Psát knihy o Arduinu je snadné. Napíšete tam: Kupte si Arduino. Ale co u FPGA? Oficiální kity od výrobců jsou drahé, a když píšu drahé, myslím tím opravdu drahé. A těch levných je zase tolik, že by se v tom jeden ztratil. Takže jsem zvolil dva konkrétní typy od výrobce Altera / Intel, a ty doporučím. Navíc by měly být snadno k dostání i v ČR.
Pro ty, co mají rádi, když je výklad pěkně systematizovaný, od "operátorů" po "tabulku ASCII".
Podpořte vznik této knihy formou jednorázového či periodického příspěvku. Nezískáte za to nic navíc, jen dobrý pocit, že jste přispěli na vznik něčeho, co vás snad zajímá a baví číst. Všem, kteří se rozhodnou podpořit vznik této knihy a navazujících materiálů, velmi děkuji!
Zdrojové kódy příkladů i konstrukcí, včetně těch, co se do knihy nevešly, najdete na GitHubu.
Doporučené vývojové kity a materiály k nim
Programátor, konstruktér, bloger, publicista, komentátor a milovník starých počítačů.
V roce 2003 naprogramoval a spustil veřejnou blogovací službu Bloguje.cz, od roku 2007 psal pravidelný sloupek pro Digiweb - součást webu iHNed.cz. Později pracoval na pozici šéfredaktora webového magazínu Zdroják (vydávala společnost Internet Info, s.r.o.). V březnu 2013 nastoupil do vydavatelství Economia jako vedoucí týmu redakčních vývojářů iHNed.cz. Později pracoval pro magazín Forbes, krátce působil i v hardwarových startupech. V roce 2017 se vrátil do Economie, kde se podílel na inovacích a zavádění placeného obsahu. Nyní pracuje v CMI Media jako Head of Digital and Innovation.
Od roku 2015 popularizuje Internet věcí a DIY elektroniku, přednáší o těchto oborech a školí zájemce o platformu Arduino. Za svou popularizační činnost byl v roce 2016 nominován v anketě Křišťálová Lupa, v kategorii One (wo)man show. V roce 2018 vydal ve spolupráci s vydavatelstvím Edice CZ.NIC knihu Hradla, volty, jednočipy - úvod do bastlení. O rok později vydal v témže vydavatelství volné pokračování Porty, bajty, osmibity.
Elektronika je jeho koníčkem už od dětství. Nejraději má staré osmibitové počítače z osmdesátých let 20. století – vlastní jich několik desítek a stále je jimi fascinován natolik, že si staví jejich repliky a programuje jejich emulátory.