Třetí díl oblíbené série

Data,
čipy,
procesory

Pojďte se naučit pracovat s moderními hradlovými poli — FPGA. Postavte si na koleni bez pájení libovolný elektronický systém. Vaším limitem je jen vaše fantazie!

Brzy k dispozici

O knize

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.

Očekávaná

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.

Otevřená

Vydavatel své knihy vydává jak v papírové, tak v digitální podobě. Obsah je dostupný pod volnou licencí CC.

S materiály online

Ke knize jsou dostupné-open source zdrojové kódy.

Co v knize najdete

Předmluva

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í?

FPGA

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.

VHDL

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

Podrobněji

Krátká odbočka, kde si řekneme, jak to uvnitř funguje a proč je dobré dodržet některá omezení a dobré rady.

Analogový výstup

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

Paměti

Samozřejmě že je lze poskládat z klopných obvodů, ale taky můžete využít integrované bloky RAM a ROM.

Čítače

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.

Automaty

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.

Hodinové domény

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.

LFSR

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

IP, OpenCores, FreeCores, ...

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.

OMEN Alpha ve FPGA

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čí!

Videovýstup VGA

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!

Užitečné konstrukce

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

Vlastní mikroprocesor

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í!

Verilog

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.

Příloha: Kity

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.

Příloha: Reference VHDL

Pro ty, co mají rádi, když je výklad pěkně systematizovaný, od "operátorů" po "tabulku ASCII".

Jednorázový příspěvek přes PayPal

Budu rád, když přispějete na 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 elektronické knihy, velmi děkuji!

Ke stažení, užitečné odkazy, ...

Materiály

Zdrojové kódy

Zdrojové kódy příkladů i konstrukcí, včetně těch, co se do knihy nevešly, najdete na GitHubu.

Vývojové kity

Doporučené vývojové kity a materiály k nim

Projekty

Přečtěte si také...

Hradla, volty, jednočipy

Úvod do bastlení

Porty, bajty, osmibity

Konstruujeme osmibitové počítače a učíme se assembler
O autorovi

Martin Malý

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. Dnes pracuje tamtéž jako specialista pro inovace a placený obsah.

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.