The wiki page is under active construction, expect bugs.

This is an old revision of the document!


Table of Contents

Logické systémy a procesory

Realizace operací s daty pomocí kombinačních a sekvenčních logických obvodů s vyloučením hazardů a metastability. Obvodová struktura konečných automatů a řadičů procesorů. Popisy obvodů pomocí HDL jazyků a funkční testování obvodů.

Šustovo skriptaVHDL I.VHDL II.Šustovo stránky předmětu

  • Logická CMOS hradla a jejich vlastnosti. Typy AND, NAND, OR, NOR a XOR.
  • Minimalizace log. funkcí v Karnaughových mapách, teoretické zázemí, logická krychle, grayovy kódy, skupinová minimalizace. Hazardy v kombinačních obvodech.
  • Uplatnění De Morganova teorému. Užití Shannonovy expanze a její aplikace ke konstrukci BDD (Binary Decision Diagram), výhody, omezení
  • Základní logické obvody: dekodér 1 z N, demultiplexer, multiplexory a jejich kaskády, sčitačka +1 a -1 a úplná sčítačka. Převodníky mezi binárním a zrcadlový grayovým kódem.
  • Úrovňové klopné obvody RS (RS-Latch) z hradel NAND a NOR, jejich chování a za jakých podmínek u nich mluvíme o zakázaných stavech.
  • Synchronní klopné obvody DFF (Data Flip-Flop) architektury Primary-Replica (zastarale Master-Slave). Jejich vlastnosti a podmínky činnosti. Metastabilita DFF. Vysvětlení příčin, jak a kdy lze odstranit.
  • Čítače a typy jejich spojování do ripple-kaskád a se synchronními přenosy.
  • Příkaz process ve VHDL, rozdíl mezi chování blocking := a non-blocking příkazů ⇐. Popis obvodů DFF ve VHDL procesu. VHDL funkce a procedury.
  • Konečné automaty typu Moore a Mealy. Jejich definice, popisy pomocí grafu přechodů, tabulky přechodů a stavové tabulky přechodů (jiný název matice přechodů). Minimalizace automatu Moore na Moore a Moore na Mealy. Kdy lze? Návrh automatu a jeho popis ve VHDL.
  • Řadiče a mikroprogrové řadiče. Vlastnosti a architektura.
  • Posuvné registry a posuvné registry s lineární zpětnou vazbou (LFSR), pouze hlavní principy jejich teoretického zázemí a vlastnosti.
  • Násobení frekvencí fázovými závěsy (Phase-Locked Loop)
  • 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.
  • Používané FPGA technologie a jejich vlastnosti. Struktura SRAM paměti, paměti s jednoportovou a dvou portovou výběrovou logikou.

Logická CMOS hradla a jejich vlastnosti. Typy AND, NAND, OR, NOR a XOR.

Struktura NMOS PMOS

Většina logických hradel dnes používá CMOS (Complementary Metal–Oxide–Semiconductor) transistory.

  • CMOS kombinuje NMOS (N-kanálové) a PMOS (P-kanálové) tranzistory, což zajišťuje nízkou statickou spotřebu.
  • Alternativně se používají i TTL (bipolární tranzistory), ale v integrovaných obvodech převládají CMOS.
  • Polovodič typu N (Si dopovaný pětivalentní příměsí) – nosiči jsou volné elektrony.
  • Polovodič typu P (Si dopovaný třívalenční příměsí) – nosiči jsou díry.
  • NMOS (substrát P-typu): při kladném napětí na gate > ⁣Vth>Vth​ vzniká kanál z minoritních nosičů (elektronů) ⇒ tranzistor vodí.
  • PMOS (substrát N-typu): při záporném napětí na gate < ⁣−Vth<−Vth​ vzniká kanál z děr ⇒ vodivost; kladné napětí „1“ na gate tranzistor uzavírá.
  • Elektrody: Source (zdroj nosičů), Drain (sběrač), Gate (řídicí elektroda), Body (substrát, u IC je vnitřně spojen s S).

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 logických funkcí v Karnaughových mapách

  • SoP (Sum-of-Products): hledáme AND-implikanty („krychle“) pokrývající co nejvíc „1“. Každý implikant odpovídá skupině 2ᵏ sousedních polí (k=0…n) a vyjádří se jako součin proměnných bez změny hodnoty v těchto polích. Primární implikanty (nelze rozšířit) se ORují do výsledku. Priklad (A and B) or (C and D)
  • PoS (Product-of-Sums): analogicky pokrýváme „0“ OR-implikanty a spojujeme je AND, dodefinujeme don't-care na 0. Priklad (A or B) and (C or D)
  • Don't-care (X): v mapě u výstupů značí nezáleží-na; lze je zahrnout do implikantů (pro SoP jako „1“, pro PoS jako „0“) a dodatečně je přiřadit ke zvýhodnění pokrytí

Logická krychle

  • K³ při n=3 proměnných, n⁴ při n=4 – každý vrchol krychle ↔ kombinace vstupů. KM pro n=4 je rozvinutá krychle 4×4
  • Pokrytí rohů, hran i vnitřních bloků v mapě odpovídá hledání souvislých oblastí (=krychlí) v n-dimenzionálním hyper-krychli.

Gray Code

  • Binary-reflected Gray Code: standardní pořadí os čtyř proměnných v KM: {00,01,11,10}
  • Vždy tak, aby se měnila pouze jedna hodnota

Hazardy??

* TODO

Uplatnění De Morganova teorému. Užití Shannonovy expanze a její aplikace ke konstrukci BDD (Binary Decision Diagram), výhody, omezení

Shannon

  • při více než 4 proměnných - jednu zvolíme za 0 a uděláme KM, tu samou pak zvolíme za 1 a uděláme KM, výsledek pak dáme dohromady
  • Příklad: f(a,b,c,d,e) - 5 vstupů, velká mapa,
  • Rozdělíme Shannonem tak, že e prohlásíme 0 = f1(a,b,c,d,0) a vyčíslíme mapu.
  • druhá část e = 1 - f2(a,b,c,d,1) a vyčíslíme KM
  • Výsledek dohromady dáme (not E and f1) or (E and F2)

  • Citlivost na výběr proměnné – záleží, podle které proměnné se rozkládáme; nevhodně zvolená proměnná může vést ke složitějším kofaktorům a žádnému zjednodušení, někdy dokonce k růstu komplexity
  • Heuristiky nejsou zaručené – i když se snažíme volit proměnnou tak, aby redukovala co nejvíce členů, nemusíme dosáhnout zmenšení výsledné funkce ani u jednoduchých aritmetických bloků (např. násobičky, sčítačky)
  • Exponenciální růst pro některé funkce – bez vhodného uspořádání proměnných může velikost BDD i složitost rozkladu exponenciálně stoupat, což omezuje použití u velkých kombinací.

BDD??

  • to jsem v životě neslyšel v LSP
  • ani to nemá popsané ve svých skriptech
  • GPT po schroustání skript:
  • Z Shannonovy expanze se konstruují BDD (Binary Decision Diagrams), struktury ve tvaru acyklického grafu, kde každý uzel testuje jednu proměnnou a větví na podgrafy odpovídající kofaktorům xi=0xi​=0 a xi=1xi​=1
  • Výhody BDD:
  • Kanonická reprezentace (pro dané uspořádání proměnných je BDD jednoznačné)
  • Efektivní operace jako sjednocení, průnik nebo negace funkcí přímo na grafech
  • Umožňují rychlou verifikaci a manipulaci s velkými logickými výrazy
  • Omezení BDD:
  • Citlivost na pořadí proměnných: nevhodné uspořádání může způsobit exponenciální růst velikosti grafu
  • Některé funkce (např. multiplikátory, sčítačky) nemají kompaktní BDD bez speciálních heuristik

Základní logické obvody: dekodér 1 z N, demultiplexer, multiplexory a jejich kaskády, sčitačka +1 a -1 a úplná sčítačka. Převodníky mezi binárním a zrcadlový grayovým kódem

Dekodér 1 z N

  • M vstupů, N výstupů
  • N = 2^M
  • One Hot - log 1 pouze pro jedinou hodnotu vstupů, jinak 0
  • One Cold - lon 0 pouze pro jedinou hodnotu vstupů, jinak 1
  • převání unsigned číslo na kódování 1 z N
  • využití v konečných automatech k očíslování stavů

Pravdivostní tabulka 1 z 4 KM a schema

Demultiplexor

  • Stejné jako dekodér 1 z N + Data
  • Při x1 a x0 určujících výstup ještě záleží zda Datový bit je 1 nebo 0.
  • Hodnota Data se propíše na určený výstup

Schema demultiplexoru

Multiplexor

  • opak Demultiplexoru
  • má 2^M datových vstupů - M je počet bitů vstupní adresy
  • lze chápat jako přepínač N:1
  • adresní bity x0, x1 zvolí jednu ze 4 poloh “přepínače” a přivede na výstup uřitý vstup - 4:1

Multiplexor 4:1 Kaskáda 5x Mux 4:1 = 16:1

Úplná sčítačka

Úplná sčítačka

  • je ze dvou Half Adderů
  • má 3 vstupy
  • x, y a Cin (Carry)
  • HA spočte x+y
  • HB sečte výsledek HA + Cin
  • první poloviční spočte část součtu bez přenosu, druhá k tomu přičte vstupní přenos

Sčítačka +1

  • do n-bitového čísla přičítáme +1
  • první bit x0 sčítáme +1 (full adder s y0 =1 a Cin =0)
  • ostatní bity xi (i<0) se sčítají s yi =0 a Cin předchozího řádu
  • pokud nejnižší bit x0 byl 0, přičte se 1 a není carry, přenos se zastaví na první pozici
  • pokud x0 = 1, pak +1 způsobí přetečení a carry se posouvá do vyšších bitů
  • pokud xi = 0, tak se tam utopí to Carry a přenos skončí, další přetečení není
  • pokud xi = 1, při +1 dojde k přetečení a Carry pokračuje na x(i+1) bit
  • pokud dojdeme až na nejvyšší bit a přeteče to i tam, přeteklo nám celé n-binární číslo

Sčítačka -1

  • Do n-bitového čísla odčítáme 1
  • Na nejnižší bit x0 aplikujeme „odečti 1“ (borrow bit)
  • Je-li x0=1, výsledkem S0=0 a borrow = 0 → odečítání končí hned.
  • Je-li x0=0, výsledkem S0=1 a borrow = 1 → další bit – odečítáme dál.
  • Na každý vyšší bit xi (pro i≥1) se díváme, zda k němu přišel borrow z nižšího
  • Pokud žádný borrow (borrow i−1=0), pak Si=xi​ a borrow dál = 0.
  • Pokud borrow (borrow i−1=1) → odečteme od xi:
  • Když xi=1: Si=0, borrow další = 0 (odečítání se zastaví).
  • Když xi=0: Si=1, borrow další = 1 (odečítání pokračuje).
  • Pokud i na nejvyšším bitu vyjde borrow=1, nastalo „podtečení“
  • To znamená, že původní číslo bylo 0, a výsledek 0−1 v n-bitech je 2^n−1.

Úrovňové klopné obvody RS (RS-Latch) z hradel NAND a NOR, jejich chování a za jakých podmínek u nich mluvíme o zakázaných stavech.

Klopné obvody RS

Klopení RS

  • Hradla nemají zakázané stavy
  • Díky nim se obvody můžou klopit
  • Zakázaný stav je pouze Q=NQ, ale to je jen dokud se obvod nepřeklopí za čas 2*Tpřeklopení

Pravdivostní tabulka RS

Synchronní klopné obvody DFF (Data Flip-Flop) architektury Primary-Replica (zastarale Master-Slave). Jejich vlastnosti a podmínky činnosti. Metastabilita DFF. Vysvětlení příčin, jak a kdy lze odstranit

Ukázka DFF a D-Latch

  • DFF může měnit stav jen při Rising edge, D-latch při enable vždy přepisuje stav ze vstupu na výstup
  • DFF jsou dva D-latch za sebou

Princip DFF

Princip DFF

  • DFF ovzorkuje vstup D právě na hraně hodinového signálu CLK (např. na náběžné hráně 0→1)
  • Interně se klasický DFF skládá ze dvou D‐latchů (Primary a Replica), jejichž enable vstupy jsou řízeny signálem CLK a jeho invertovanou verzí:
  • Primary D‐latch („Master“) má ENA = ¬CLK (invertované hodiny).
  • Dokud je CLK = 1, ENA_Primary = 0 ⇒ Primary je v paměťovém režimu a drží si poslední uložené D.
  • Když CLK = 0, ENA_Primary = 1 ⇒ Primary je transparentní a přebírá na svůj vstup hodnotu D (ale zatím nic nepropustí ven).
  • Replica D‐latch („Slave“) má ENA = CLK.
  • Dokud je CLK = 1, ENA_Replica = 1 ⇒ Replica je transparentní a na výstup Q pouští signál z Primary (přes jediný inverter, aby se vyrovnala polarita).
  • Když CLK = 0, ENA_Replica = 0 ⇒ Replica se „uzavře“ do paměti, a Q drží tu hodnotu, kterou obdržela v okamžiku, kdy CLK právě překročil hranici 1→0.
  • Díky propojení právě těchto dvou latchů (Primary + Replica) výsledek Q reaguje pouze na konkrétní hranu (například vzestupnou). Během fáze mezi dvěma po sobě jdoucími hranami se Q nemění, i kdyby D dramaticky kolísalo. Proto se říká, že DFF je edge‐triggered.

Podmínky činnosti

  • Aby Primary D‐latch „správně“ zachytil vstup D bez rizika metastability, musí být D ustálené po dostatečnou dobu před náběžnou hranou CLK (tzv. setup time) a nesmí se měnit hned po hraně (tzv. hold time).
  • Pokud tyto časy nejsou dodrženy, Primary D‐latch přejde (s určitým pravděpodobnostním rizikem) do metastabilního stavu – tj. vnitřní invertory se nedokážou jednoznačně rozhodnout na „0“ nebo „1“ a mohou se někdy dlouho chaoticky „kmitat“, než se rozhodnou.
  • Pokles CLK (sestupná hrana) naopak nevyžaduje žádné striktní setup/hold pro Replica

Metastabilita

  • Vzniká, pokud D mění hodnotu příliš blízko aktivní hrany CLK (nedodržení setup/hold).
  • Projevuje se jako nestabilní, váhavý stav vnitřních invertorů Primary D‐latchu, který se může rozkládat na čisté 0/1 s nedefinovaným zpožděním.
  • Je třeba ji zmírnit:
  • Dodržet setup/hold: zajistit, že D je stabilní před a po hraně.
  • Synchronizační řetězce: zvláště při přenosech signálů mezi různými hodinovými doménami dát signál nejdřív do prvního DFF, pak až do druhého – aby se případná metastabilita rozpadla.
  • Nelze ji naprosto vyloučit, jen zredukovat pravděpodobnost na zanedbatelné minimum.

Čítače a typy jejich spojování do ripple-kaskád a se synchronními přenosy

Registr

  • Paralelní sada D‐flip‐flopů (DFF), která na náběžnou hranu CLK „uzamkne“ všechny bity současně
  • Může mít volitelné synchronní „nulování“ (RESET nebo SCLR), případně asynchronní CLEAR „na všech DFF“.

4bit registr

Čítač

  • Vezmeme n‐bitový registr (s n DFF).
  • Na jeho paralelní výstup Q připojíme kaskádově jednobitovou sčítačku +1 (Full Adder chain), která spočte „Q + 1“.
  • Výsledek (n bitů) vedeme zpět na vstupy registru D.
  • Při každé náběžné hraně CLK se registr „přepíše“ hodnotou (Q_old + 1). Tím vzniká n‐bitový čítač, který se „odráždí“ v posloupnosti 0,1,2,3,… modulo 2^n.

Dekadický čítač od 0 do 9

  • 4bit čítač, mohl by čítat od 0 do 15, ale komparátorem je nastaveno Reset při čítání do 9, pči aktivaci Reset nebo <9 se přepne multiplexor a do obvodu se nahraje 0 - čítáme znovu od 0
Spojování do ripple kaskád?
  • se skládají z řetězu jedno‐bitových adderů + DFF
  • výhodné pro malé n, mají jednoduchou konstrukci, ale frekvence omezuje délka řetězce.
Spojování se synchonními přenosy
  • Synchronní čítače (paralelní sčítačka + mux) dovedou dosáhnout vyšší frekvence u větších n, ale vyžadují větší plošnou logiku (adder, komparátor, mux).
  • Třeba příklad s počítáním do 9 a automatický reset na 0 (počítání je ripple carry a nulování je synchronní podle GPT)

Příkaz process ve VHDL, rozdíl mezi chování blocking := a non-blocking příkazů ⇐. Popis obvodů DFF ve VHDL procesu. VHDL funkce a procedury

Příkaz process ve VHDL

  • Process je základní sekvenční blok VHDL, v němž popisujete chování „po jednotlivých cyklech“ nebo „po změnách vstupů“.¨
  • Proměnné je nutné resetovat uvnitř procesu každým průchodem, jinak vznikne smyčka/hazard.
  • Přesná syntaxe příkazu vypadá takto, kde části v [ ] lze vynechat:
[optional_label:] process [(optional sensitivity list)] [is]
[sequential_declarations]
begin
sequential statements
end process [optional_label];
  • Sensitivity list (nebo wait on) určuje, kdy se tělo procesu provede znovu.
  • Deklarace uvnitř (proměnné, funkce, procedury) slouží pro lokální výpočty; nelze tam dát signal ani component.
  • Proces se syntetizuje na kombinatorní nebo sekvenční obvody podle přítomnosti či absence detekce hrany (if rising_edge(CLK) apod.) a podle sensitivity listu.

Rozdíl mezi := (blocking) a <= (non-blocking)

:= (blocking)
  • sekvenční přiřazení
  • Pouze uvnitř procesů, procedur nebo funkcí (sequential statements).
  • Přiřazení v := expr; okamžitě změní hodnotu proměnné v v té samé „iteraci“ procesu.
  • Následující řádek kódu už čte tuto novou hodnotu v (tj. v se chová jako běžná proměnná v imperativním jazyce).
<= (non-blocking)
  • Přiřazení sig ⇐ expr; není provedeno okamžitě, ale jejím výsledkem je vložení „nové hodnoty” do fronty aktualizací (delta‐cykly).
  • V průběhu jednoho simulovaného času se nejprve vyhodnotí všechny výrazy napravo od ⇐, potom se současně (ve stejném čase) přiřadí výsledné hodnoty na výstupy signálů.
  • Když uvnitř procesu (sensitivity list) přiřadíte sig ⇐ expr;, stávající hodnota sig zůstává na výstupu až do skončení procesu, pak teprve (v nadcházejícím delta‐kroku) se přepne.
  • Ve skutečném hardware by to znamenalo, že signál se změní „po krátké, ale nenulové” době – odpovídá to latenci hradla či registru.

Popis obvodů DFF ve VHDL procesu

 – Importujeme standardní IEEE knihovny pro práci se signály std_logic
library ieee;                   
use ieee.std_logic_1164.all;– Deklarace entity, tedy rozhraní D‐flip‐flopu
entity DataFlipFlop is
  port (
    Data    : in  std_logic;  – Vstup D: data, která chceme ovzorkovat
    CLOCK   : in  std_logic;  – Hodinový signál (CLK), na jehož hranu reagujeme
    ENABLE  : in  std_logic;  – Povolení zápisu: když ENABLE='1', povolíme přepsat Q
    ACLRN   : in  std_logic;  – Asynchronní clear (active‐low): když ACLRN='0', Q se ihned vynuluje
    SCLEAR  : in  std_logic;  – Synchronní clear (active‐high): po náběžné hraně CLK, pokud SCLEAR='1', Q se vynuluje
    Q       : out std_logic   – Výstup Q: zde se objeví poslední uložená hodnota D
  );
end entity DataFlipFlop;– Architekturální popis: popisujeme vnitřní chování entity
architecture rtl_final of DataFlipFlop is
begin
 
 – Proces, který definuje chování DFF
 – Sensitivity list: proces “vidí” změny signálů CLOCK i ACLRN
  process (CLOCK, ACLRN)
  begin
 
 – 1) Ošetření asynchronního clear (ACLRN = '0' → okamžitě nastav Q na '0')
    if ACLRN = '0' then
      Q ⇐ '0';  
 – Jakmile ACLRN přejde na '0', obvod se okamžitě vynuluje, nezávisle na stavu hodiny
 
 – 2) Pokud není aktivní asynchronní clear, čekáme na náběžnou hranu CLOCK
    elsif rising_edge(CLOCK) then
 
 – 2a) Synchronní clear (pokud SCLEAR = '1' na hranu CLK, pak Q ≤ '0')
      if SCLEAR = '1' then
        Q ⇐ '0';
 – Priorita synchronního clear má přednost před povolením ENABLE a před čtením Data
 
 – 2b) Pokud žádný clear není aktivní, řešíme ENABLE
      elsif ENABLE = '1' then
        Q ⇐ Data;
 – Jestliže ENABLE = '1', na hranu CLK se do Q zapíše aktuální hodnota na vstupu Data
 
 – 2c) Když ani synchronní clear, ani ENABLE není aktivní, zachovává se předešlá hodnota Q
 – (nepíšeme žádné další přiřazení; Q zůstane takové, jaké bylo)
      end if;
 
 – 3) Konec detekce hrany: v jiných případech (kdy ACLRN='1' a žádná hrana CLK) se nic neděje
    end if;
 
  end process;
 
end architecture rtl_final;

VHDL funkce a procedury

Funkce
  • Funkce („function“) – vytvářejí jednu hodnotu na základě vstupních parametrů; v obvodu se vždy „rozbalí“ (in‐line) na kombinatorní síť.
[pure | impure ] function function_name (parameter_list) return type_name is
[sequential_declarations]
begin
sequential statements
end [function] [function_name]
  • pure (výchozí)
  • Funkce nemá žádné vedlejší efekty a pro stejné vstupy vždy vrátí stejnou návratovou hodnotu.
  • Simulátor ani syntetizér ji může „vyhodnocovat“ kdykoli, protože nezávisí na žádném vnějším stavu.
  • Funkce (function) od GPT
  • Musí mít pouze parametry módu in.
  • Vrací jednu hodnotu přes return.
  • Lze zvolit volatile (impure) nebo pure (čehož se držíme, pokud funkce nemá vedlejší efekty).
  • Volá se jak v concurrent, tak v sequential doméně.
  • Kód se „rozbalí inline“ při syntéze do kombinatorní sítě (kaskády bran) či logiky.
Procedura
  • Procedury („procedure“) – mohou „vracet“ více hodnot (pomocí out/inout parametrů) a slouží pro popis podřízených bloků logiky, které mohou současně ovlivnit několik signálů nebo proměnných.
procedure identifier [ (formal_parameter_list) ] is
[sequential_declarations]
begin
sequential statement(s)
end [procedure] [identifier]
  • Procedura (procedure) od GPT
  • Formální parametry mohou být módu in, out, inout.
  • Nemá návratovou hodnotu return (nebo jen return; bez hodnoty pro ukončení).
  • Může „vrátit“ více výsledků (např. signal Y : out …, variable W : out …).
  • Volá se pouze uvnitř sequential domény (procesů, jiných procedur, funkcí), protože variable přiřazení := vyžaduje sekvenční context.
  • Inline rozbalení do vnitřku procesu vytváří blok kódu, který může zároveň aktualizovat několik výstupních signálů či proměnných.

Konečné automaty typu Moore a Mealy. Jejich definice, popisy pomocí grafu přechodů, tabulky přechodů a stavové tabulky přechodů (jiný název matice přechodů). Minimalizace automatu Moore na Moore a Moore na Mealy. Kdy lze? Návrh automatu a jeho popis ve VHDL

Definice FSM

Definice FSM

Mealy a Moore ilustrace

Popis FSM (graf, tabulka přechodů, stavová tabulka přechodů - matice přechodů)

  • Moore - Výstupy nezávisí na vstupech, tj. výstupy se efektivně generují ze stavu, v němž se právě nachází automat.
  • 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.
  • Používá se častěji v programech – ty berou vstupy z hodnot v proměnných, které jsou bez hazardů.
  • K jakémukoli Mooreovu automatu existuje ekvivalentní Mealyho automat se stejným nebo menším počtem stavů.
  • Naopak ke každému Mealyho automatu, který má N stavů a rozpoznává X možných kombinací vstupů, existuje ekvivalentní Mooreův automat mající N*X stavů.
  • Matice přechodů:
  • Má formát čtvercové matice sousednosti (eng. adjacency matrix)používané k popisu grafů. Zůstává přehledná i při značném počtu stavů. Je-li p počet všech stavů, pak má rozměr p x p
  • řádky - výchozí stav s1 až sp
  • sloupce - příští stav s1 až sp
  • průsečík - podmínky x přechodu ze stavu sk do sj

Matice přechodů

  • Tabulka přechodů:
  • 2 části - příští stav ( d ) + výstupy ( w )
  • sloupce - všechny možné vstupy xi
  • řádky - všechny možné vnitřní stavy sj + výstup zm
  • průsečík řádku a sloupce - následný stav sk
  • tabulka výstupů – výstup generovaný ve stavu

Tabulka přechodů

Minimalizace Moore na Moore a Moore na Mealy

  • NIKDE NENí, nenašel jsem

Minimalizace Moore na Mealy

FSM ve VHDL

Navigation

Playground

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