The wiki page is under active construction, expect bugs.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
statnice:bakalar:b0b35lsp [2025/06/01 08:19] – [Správné ošetření vstupů, plovoucí vstupy, pomalé náběžné hrany, odstranění zákmitů tlačítek (debouncing). Chránění výstupů s indukčních zátěží a výkonovou zátěží. Chování logického signálu na vodiči.] petrstepstatnice:bakalar:b0b35lsp [2025/06/14 13:22] (current) – [Úplná sčítačka] petrstep
Line 33: Line 33:
  
  
 +=== CMOS Invertor ===
  
 +{{:statnice:bakalar:screenshot-2023-04-14-at-2.27.30-pm-768x869.png?600|}}
 +
 +=== CMOS NAND ===
 +
 +  * PMOS paralelne nahore
 +  * NMOS serie dole
 +{{:statnice:bakalar:screenshot-2023-04-14-at-4.02.16-pm-768x471.png?600|}}
 +
 +=== CMOS NOR ===
 +
 +  * PMOS seriove nahore
 +  * NMOS pralelne dole
 +
 +{{:statnice:bakalar:screenshot-2023-04-14-at-4.25.13-pm-768x494.png?600|}}
 +
 +=== CMOS AND ===
 +
 +{{:statnice:bakalar:screenshot-2023-04-14-at-6.53.45-pm-768x593.png?600|}}
 +
 +=== CMOS OR ===
 +
 +{{:statnice:bakalar:screenshot-2023-04-14-at-6.44.01-pm-768x567.png?600|}}
 +
 +=== CMOS XOR ===
 +
 +{{:statnice:bakalar:screenshot-2023-04-14-at-7.09.58-pm-927x1024.png?600|}}
 ====== Minimalizace log. funkcí v Karnaughových mapách, teoretické zázemí, logická krychle, grayovy kódy, skupinová minimalizace. Hazardy v kombinačních obvodech. ====== ====== Minimalizace log. funkcí v Karnaughových mapách, teoretické zázemí, logická krychle, grayovy kódy, skupinová minimalizace. Hazardy v kombinačních obvodech. ======
  
Line 50: Line 77:
   * Vždy tak, aby se měnila pouze jedna hodnota   * Vždy tak, aby se měnila pouze jedna hodnota
  
-==== Hazardy?? ==== +==== Hazardy ==== 
- TODO +//GPT podle skript// 
- +  Hazardy vznikají kvůli rozdílným zpožděním v různých cestách kombinační logiky a projevují se jako krátké glitch pulsy (static-0, static-1, dynamické). 
 +  * V běžných FPGA nelze hazardy zcela odstranit pouze změnou booleovského zápisu – nástroje je sice mohou potlačit, ale kvůli teplotním či výrobním variacím, různým délkám cest a LUT implementaci je riziko vždy přítomné. 
 +  * Pro plně spolehlivou synchronní logiku je klíčové: vzorkovat výstup kombinační s dostatečným časovým posunem (t_wp), minimalizovat rozdíly v zpoždění (fan-out, buffery), a používat pouze edge-triggered D-FF (nikoli latch).
 ======  Uplatnění De Morganova teorému. Užití Shannonovy expanze a její aplikace ke konstrukci BDD (Binary Decision Diagram), výhody, omezení ====== ======  Uplatnění De Morganova teorému. Užití Shannonovy expanze a její aplikace ke konstrukci BDD (Binary Decision Diagram), výhody, omezení ======
  
Line 115: Line 143:
  
 ==== Úplná sčítačka ==== ==== Úplná sčítačka ====
-{{:statnice:bakalar:screenshot_from_2025-05-31_11-45-47.png?400|Úplná sčítačka}}+{{:statnice:bakalar:screenshot_from_2025-05-31_11-45-47.png?600|Úplná sčítačka}}
   * je ze dvou Half Adderů   * je ze dvou Half Adderů
   * má 3 vstupy   * má 3 vstupy
Line 545: Line 573:
   * Řídit fan-out buffery a minimalizovat kapacitní zatížení kvůli zpoždění    * Řídit fan-out buffery a minimalizovat kapacitní zatížení kvůli zpoždění 
   * Do hodinových cest nevkládat další hradla, aby se vyhnuli clock skew   * Do hodinových cest nevkládat další hradla, aby se vyhnuli clock skew
 +
 +
 +======  Používané FPGA technologie a jejich vlastnosti. Struktura SRAM paměti, paměti s jednoportovou a dvou portovou výběrovou logikou. ======
 +
 +//Celé GPT//
 +
 +=== FPGA Technologie ===
 +
 +  * SRAM-based FPGA
 +  * Princip: Konfigurační buňky tvoří klasické CMOS SRAM buňky (8–12 tranzistorů na buňku). Po programování (napájecím pulzu) drží hodnotu, dokud je FPGA zapnuté, ale po vypnutí se vymažou. Řešení: externí Flash–EEPROM čip, který po zapnutí automaticky nahraje bitstream do SRAM buněk 
 +  * Výhody:
 +  * Rychlá a neomezeně opakovatelná rekonfigurace.
 +  * Velké množství LUT/CLB a embedovaných SRAM bloků (např. Cyclone IV: 3981312 bitů ve 432 blocích M9K, vs. Cyclone II: 483840 bitů ve 105 blocích M4K) .
 +  * Digitální PLL pro násobení frekvencí, DSP bloky, rychlé carry-chainy aj.
 +  * Relativně nízká cena (např. Cyclone II od ~$20, Cyclone IV od ~$65, rok 2022) 
 +  * Nevýhody:
 +  * Citlivost na radiaci (ztráta konfigurace) → pro kosmické aplikace se vyrábějí verze “radiation-hardened” (umožňují vzdálené dožití softwaru).
 +  * Po ztrátě napájení je nutná opětovná konfigurace (boot time).
 +
 +
 +  * Flash-based FPGA
 +  * Princip: Konfigurační buňky jsou vnitřní Flash buňky (nesmí se zaměnit s typy pro SSD). Obsah si pamatují i po vypnutí napájení.
 +  * Výhody:
 +  * Po zapnutí ihned naloží konfiguraci (bez externí Flash GOP).
 +  * Nízká klidová spotřeba (Flash je nevolatilní).
 +  * Méně citlivé na radiaci než čistě SRAM FPGA.
 +  * Nevýhody:
 +  * Pomalejší rekonfigurace než SRAM, ale rychlejší než antifuse.
 +  * O něco vyšší náklady než čisté SRAM verze.
 +
 +
 +  * Antifuse-based FPGA
 +  * Princip: Konfigurační prvek je antifuse prvek (připomíná pojistku, ve výchozím stavu otevřený, programovacím pulzem se neprůstřelně „přepálí” a vytvoří pevný vodivý spoj) 
 +  * Výhody:
 +  * Velmi odolné vůči radiaci (vhodné pro satelity, kosmické sondy).
 +  * Jednou naprogramované, již nelze změnit (vyšší stabilita).
 +  * Nevýhody:
 +  * Nepřekonatelně pomalá a navždy jednosměrná konfigurace – desítky minut pro programování.
 +  * Nelze rekonfigurovat v cílovém systému (vyžaduje speciální napěťové pulzy, nutné předem otestovat). 
 +
 +
 +== Struktura SRAM pamětí v FPGA ==
 +
 +  * Paměťové bloky (M4K / M9K)
 +  * Každý blok je krokovatelný na různé šířky a hloubky:
 +  * Cyclone II: M4K bloky (4 kbit + 512 paritních) → lze použít například jako 4 kb × 1, 2 kb × 2, 512 B × 8, apod. .
 +  * Cyclone IV: M9K bloky (8 kbit + 1024 paritních) → větší kapacita a širší vnitřní sběrnice.
 +  * Uvnitř: statická CMOS SRAM matice, každý bit uložen v buketě CMOS tranzistorů; při změně adresy se data objeví na výstupu s typickým zpožděním ~1–2 cyklů T CLK, proto se doporučuje přidat i výstupní registr (pipeline) pro zajištění správného časování čtení .
 +
 +
 +  * Jednoportová (Single-Port) SRAM
 +  * Má jednu adresní sběrnici, jedno data‐in a jedno data‐out, a jeden řídicí vstup např. „Write Enable (WE)“ + hodinový vstup.
 +  * Operace:
 +  * Čtení: Adresa se na chvíli drží konstantní (v registru), po ~1–2 CLK se na datovou sběrnici objeví obsah.
 +  * Zápis: Při aktivním WE se během jednoho cyklu do vybrané buňky zapíše data.
 +  * Výhoda: Jednoduše se postaví, má nižší spotřebu a menší plochu.
 +  * Nevýhoda: Nelze současně číst a zapisovat; pokud se během jednoho taktu provádí zápis, čtení je buď blokováno, nebo vrací předchozí data.
 +
 +
 +
 +  * Dvouportová (Dual-Port) SRAM
 +  * Obsahuje dvě nezávislé adresní sběrnice (adresy A, B), každou se samostatným datovým vstupem, výstupem a hodinou.
 +  * Operace:
 +  * Obě strany (porty) mohou libovolně číst či psát současně.
 +  * Pokud se snaží oba porty přistoupit k téže buňce zároveň, je definováno, který port má prioritu (typicky „write first“ nebo „read first“).
 +  * Výhoda: Velká flexibilita – může sloužit pro dvoukanálové (FIFO) bufferování mezi dvěma hodinovými doménami.
 +  * Nevýhoda: Dvojnásobná logika k řízení přístupu, větší spotřeba a plocha.
 +
 +
 +  * Víceportové (Multi-Port) SRAM
 +  * Některé FPGA umožňují 4portové či 8portové bloky (především uvnitř vestavěných procesorů). Každý port samostatně může číst či zapisovat. Softwarově se konfiguruje, zda bude port jako čtecí či zapisovací.
Navigation

Playground

QR Code
QR Code statnice:bakalar:b0b35lsp (generated for current page)