bpc-los_13 - Dokončení KSA, pipelined Moore
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
KSA.
Behaviorální popis KSA ve HDL jazyce
Volba vhodného kódování vnitřních stavů však může výrazně
ovlivnit požadavky KSA na počty termů a programovatelných
bloků nutných pro realizaci v PLD.
Nejčastěji se pro kódování vnitřních stavů využívá:
• binární kód,
• Grayův kód,
• kód 1 z N (one-hot code),
• kód 2 z N (two-hot code),
• kódování dle požadovaných hodnot výstupů,
• náhodné kódování.
Způsoby kódování vnitřních stavů KSA
• binární kód - (malá spotřeba FF, malé množství nepracovních stavů),
• Grayův kód - (výhodné při přechodech KSA pouze mezi sousedními
stavy, změna vždy pouze jediného stav. bitů),
• kód 1 z N (one-hot code) - (jednoduché kódování výstupů, ale
mnoho FF a také mnoho nepracovních stavů),
• kód 2 z N (two-hot code) - (kompromis mezi předchozími
variantami),
• kódování dle požadovaných hodnot výstupů - (výhodné pokud
výstupní signály totožné se stavovými signály, ale jen pro malý počet
výstupů),
• náhodné kódování - (vhodné pro zjištění vlivu způsobu kódování
vnitřních stavu na celkovou velikost realizace v PLD),
• optimální kód - (metoda Dolotta - McCluskey, komplikovaný postup).
Způsoby kódování vnitřních stavů KSA
Způsoby kódování vnitřních stavů KSA
-- definice výčtového typu TState
TYPE TState IS (S0, S1, S2);
Způsoby kódování vnitřních stavů KSA
-- definice uživatelského atributu
ATTRIBUTE enum_encoding: string;
-- deklarace atributu k typu TState
ATTRIBUTE enum_encoding OF TState: TYPE IS "001 010 100"; -- one-hot code
-- definice výčtového typu TState
TYPE TState IS (S0, S1, S2);
Způsoby kódování vnitřních stavů KSA
-- definice uživatelského atributu
ATTRIBUTE enum_encoding: string;
-- deklarace atributu k typu TState
ATTRIBUTE enum_encoding OF TState: TYPE IS "001 010 100"; -- one-hot code
"110 101 011"; -- two-hot code
-- definice výčtového typu TState
TYPE TState IS (S0, S1, S2);
Způsoby kódování vnitřních stavů KSA
-- definice uživatelského atributu
ATTRIBUTE enum_encoding: string;
-- deklarace atributu k typu TState
ATTRIBUTE enum_encoding OF TState: TYPE IS "001 010 100"; -- one-hot code
"110 101 011"; -- two-hot code
"00 01 11"; -- Gray code
-- definice výčtového typu TState
TYPE TState IS (S0, S1, S2);
Způsoby kódování vnitřních stavů KSA
-- definice uživatelského atributu
ATTRIBUTE enum_encoding: string;
-- deklarace atributu k typu TState
ATTRIBUTE enum_encoding OF TState: TYPE IS "001 010 100"; -- one-hot code
"110 101 011"; -- two-hot code
"00 01 11"; -- Gray code
"00 01 10"; -- binary code