Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| statnice:bakalar:b0b35lsp [2026/06/02 07:06] – [Řadiče a mikroprogrové řadiče. Vlastnosti a architektura] mates1n | statnice:bakalar:b0b35lsp [2026/06/02 08:46] (current) – [Popis FSM] mates1n | ||
|---|---|---|---|
| Line 406: | Line 406: | ||
| {{: | {{: | ||
| === Popis FSM === | === Popis FSM === | ||
| - | Používají se všude, kde systém závisí na sekvenci událostí v čase, ne jen na aktuálním vstupu. | + | Používají se všude, kde systém závisí na sekvenci událostí v čase, ne jen na aktuálním vstupu. |
| == Moore == | == Moore == | ||
| - | **Výstupy | + | **Výstupy** se generují ze **stavu**, v němž se právě nachází automat. Výstup se změní, pokud se změní stav. Má více stavů a stabilní výstup, je pomalejší. |
| == Mealy == | == Mealy == | ||
| - | **Výstupy** se generují **ze současného stavu a okamžitého vstupu**, tj. **výstupy** se tvoří v době přípravy automatu na **přechod** z jednoho stavu do druhého. Má méně stavů, je rychlejší, | + | **Výstupy** se generují **ze současného stavu a okamžitého vstupu**, tj. **výstupy** se tvoří v době přípravy automatu na **přechod** z jednoho stavu do druhého |
| Line 524: | Line 524: | ||
| === Posuvné registry s lineární zpětnou vazbou LFSR === | === Posuvné registry s lineární zpětnou vazbou LFSR === | ||
| - | LFSR (Linear Feedback Shift Register) je posuvný registr se zpětnou vazbou, kde se nový vstupní bit generuje jako XOR vybraných bitů registru (tzv. '' | + | LFSR (Linear Feedback Shift Register) je posuvný registr se zpětnou vazbou, kde se **nový vstupní bit** generuje jako **XOR vybraných bitů** registru (tzv. '' |
| ==Takt registru== | ==Takt registru== | ||
| Line 549: | Line 549: | ||
| * **Phase/ | * **Phase/ | ||
| * **Charge Pump (CP)** – generuje řídicí proudové impulsy. | * **Charge Pump (CP)** – generuje řídicí proudové impulsy. | ||
| - | * **Loop Filter (LPF)** – integruje proudy → hladké napětí ($V_{tune}$). | + | * **Low Pass Filter (LPF)** – integruje proudy → hladké napětí ($V_{tune}$). |
| * **VCO (Voltage-Controlled Oscillator)** – oscilátor řízený buď napětím ($V_{tune}$), | * **VCO (Voltage-Controlled Oscillator)** – oscilátor řízený buď napětím ($V_{tune}$), | ||
| * **Dividers** $N$ (u reference) a $M$ (ve zpětné vazbě). | * **Dividers** $N$ (u reference) a $M$ (ve zpětné vazbě). | ||
| Line 564: | Line 564: | ||
| {{: | {{: | ||
| + | {{: | ||
| Line 569: | Line 570: | ||
| === Ochrana vstupů === | === Ochrana vstupů === | ||
| - | Všechny vstupy FPGA musí mít definovanou logickou úroveň (pull-up/ | + | Všechny vstupy FPGA musí mít **definovanou logickou úroveň** (pull-up/ |
| - | Nepoužívané vstupy se proto nesmí nechávat nezapojené. | + | |
| + | Plovoucí vstup (floating input) vede k náhodnému rušení a vyššímu odběru proudu | ||
| === Práce s pomalými náběžnými hranami === | === Práce s pomalými náběžnými hranami === | ||
| - | Pomalé změny signálu mohou způsobit opakované překročení logického prahu, vznik metastability, | + | **Pomalé změny signálu** mohou způsobit opakované |
| + | |||
| + | Filtrujeme je buď **Schmittovými vstupy** či **bufferujeme**, | ||
| - | Filtrujeme je buď Schmittovými vstupy či bufferujeme, | ||
| + | Schmittův vstup - vstup s hysterezí - má dva napěťové prahy, mezi nimi " | ||
| === Debouncing === | === Debouncing === | ||
| Line 581: | Line 585: | ||
| Dají se ošetřit dvěma způsoby: | Dají se ošetřit dvěma způsoby: | ||
| - | * Hardwarově: | + | |
| - | * Softwarově: | + | |
| ===Chránění výstupů se zátěží === | ===Chránění výstupů se zátěží === | ||
| Line 600: | Line 604: | ||
| == Důležité jevy == | == Důležité jevy == | ||
| - | * Propagation delay – konečné zpoždění šíření signálu, | + | |
| - | * Inertial delay – krátké impulsy se nemusí přenést, | + | |
| - | * Transport delay – ideální čisté zpoždění, | + | |
| - | * Odrazy (reflections) – vznikají při nepřizpůsobené impedanci | + | |
| - | * Jitter – časové kolísání hran signálu, | + | |
| - | * Crosstalk – rušení mezi sousedními vodiči - nutnost impedance‐match a krátké trasy. | + | |
| == Pravidla návrhu == | == Pravidla návrhu == | ||
| * Ří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í | ||
| Line 614: | Line 619: | ||
| === FPGA Technologie === | === FPGA Technologie === | ||
| - | == SRAM-based FPGA== | + | == SRAM-based FPGA - Volatile== |
| - | * 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 | + | * Princip: Konfigurační buňky tvoří klasické |
| + | * Řešení: externí Flash–EEPROM čip, který po zapnutí automaticky nahraje bitstream do SRAM buněk | ||
| ^Výhody^Nevýhody^ | ^Výhody^Nevýhody^ | ||
| Line 624: | Line 630: | ||
| - | == Flash-based FPGA== | + | == Flash-based FPGA - Non-volatile== |
| - | 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í. | + | Princip: Konfigurační buňky jsou vnitřní |
| + | |||
| + | * NOR flash - přístup k jednotlivým bytům/ | ||
| + | * NAND flash - přístup k blokům/ | ||
| ^Výhody^Nevýhody^ | ^Výhody^Nevýhody^ | ||
| Line 633: | Line 642: | ||
| | Vyšší odolnost proti částečné radiaci než SRAM FPGA. | Omezený počet přepisovacích cyklů Flash buněk. | | | Vyšší odolnost proti částečné radiaci než SRAM FPGA. | Omezený počet přepisovacích cyklů Flash buněk. | | ||
| - | == Antifuse-based FPGA== | + | == Antifuse-based FPGA - ROM== |
| - | 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) | + | 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^Nevýhody^ | ^Výhody^Nevýhody^ | ||
| Line 648: | Line 657: | ||
| * Paměťové bloky (M4K / M9K) | * Paměťové bloky (M4K / M9K) | ||
| * Každý blok je krokovatelný na různé šířky a hloubky: | * Každý blok je krokovatelný na různé šířky a hloubky: | ||
| - | | + | |
| - | * Cyclone IV: M9K bloky (8 kbit + 1024 paritních) → větší kapacita a širší vnitřní sběrnice. | + | * 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ů; | + | * Uvnitř: statická CMOS SRAM matice, každý bit uložen v buketě CMOS tranzistorů; |
| + | * Používá DFF | ||
| ==Jednoportová (Single-Port) SRAM== | ==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. | + | Má **jednu adresní sběrnici**, jedno data‐in a jedno data‐out, a jeden řídicí vstup např. „Write Enable (WE)“ + hodinový vstup. |
| Operace: | Operace: | ||
| Line 666: | Line 676: | ||
| ==Dvouportová (Dual-Port) SRAM== | ==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. | + | Obsahuje |
| Operace: | Operace: | ||
| * Obě strany (porty) mohou libovolně číst či psát současně. | * 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, | + | * Pokud se snaží oba porty přistoupit k téže buňce zároveň, je definováno, |
| ^Výhody^Nevýhody^ | ^Výhody^Nevýhody^ | ||