Et varmt kodning

Prøv dette link:
http://www.utdallas.edu/ ~ shankars/teaching/ee5325/foils/lectures/lecture11.pdf
Hilsen,
IanP

 
antage u har 5 hedder state0, state1, .., state4
en varm kodning koder dem som følger:
1-antal bits til kodning er antallet af stater (5 i vores tilfælde)
2-for hver stat en og kun en smule smule vil blive fastsat som følger
state0 => 00.001
state1 => 00.010
state2 => 00.100
state3 => 01.000
state4 => 10000

 
Som amraldo skrive, dette at bruge en FF per stat.

Ved hjælp af en-varm-kodning bruge mere FF, og flere FPGA ressourcer, men fordelen er, at det kan køre med meget højere hastighed.

Antag følgende eksempel.Forestil dig, at på:

State 1, du tilføje 2 numre.
Tilstand 2, du trække 2 andre numre.
Tilstand 3, du vente nogle tilfælde, springer tilbage til staten 3, indtil indtræffer.
State 4, du sender resultaterne eller andet sted.

Nu kan denne bruge 2 FF til at repræsentere alle 4 lande (00, 01, 10 og 11).Men, på outputtet af FF, skal du have en dekoder for hver af de stater ovenfor.Så for tilstand 1 (ADD 2 numre), vil adder hardware først nødt til at sikre, at MFS er i tilstand 1, ved at bruge nogle logiske gates til at udløse, når de 2 FF er '00 '.Samme for subtracter, som har brug for nogen logisk gate til at udløse, når de 2 FF er '01 ', og så videre.

Med en varme-kodning, i stedet for at bruge 2 FF, bruger du 4 FF, én pr stat.Så vil FF # 1 være '1 'når den er i tilstand 1 (de andre FF vil være nul).FF # 2 vil være '1 'når i tilstand 2 (de andre FF vil være nul) ...og så videre.Denne måde, hardware adder, subtracter, ...behøver ikke at have en dekoder ved indgang.Det gør operationen så snart FF output en 1.

Dette kan umiddelbart synes som begge veje kommet til samme resultat, men hvis man ser på tidspunktet, statsmaskine ændrer status på ur overgang.Det er, FF skifte efter CLK input.Men da en-hot kodning fjerne behovet for statslig dekoder, dette meen, at hardwaren adder, subtractor, ...i eksemplet ovenfor vil output-resultat hurtigere (fra ur overgangen til output-resultat).Dette resultere i højere frekvens grænse for MFS blok.

 
Lad os udvide taler:
Så vidt jeg ved den ene-varme er den mest hensigtsmæssige MFS-ordningen, når vi taler om Xilinx FPGA, og når din MFS er mere end 4 og op til 30-40, hovedsageligt på grund af to grunde, du behøver ikke at afkode staterne
dvs hver stat er simpelthen en FF, denne effektive som regel fordi u forurene kombinatorisk logik på et eller andet før stoffiltre, men på store statsmaskine dette kan være ineffecient.
en anden-hot kodning viirtue er at have en Hamming afstand af 2, dette give u evnen til at undgå falske MFS tilstand "u kan finde en fejl, og bruger en sikker MFS ordning, der formår at gå til en bestemt tilstand, når fejlen opstår yderligere, mere u kan komplicere designet til at styre, hvad tidspunkt på, hvad fejltilstand ", dette gør én varm meget tiltalende at undgå enkelt begivenhed forstyrre SEU og meget tiltalende i rumfart.
alligevel på længere end 40 - state maskiner jeg tror ikke, det er effektivt, indtil det øjeblik, jeg har ikke haft den udfordring, men jeg mener, at meget store statsmaskine den grå kode kan være tiltrækkende for mig på grund af en smule ændring pr overgang, lavt strømforbrug, måske mindre skew af fase produktion, giver det samme område som de binære indkodning stadig det ikke giver nogen fejl nyttiggørelse eller afsløring "intuitivt at Hamming afstand er en af de grå-koder".
Så har nogen arbejdede med store MFS, der kan give os retningslinjer for denne sag især fejl unddragelse, afsløring og korrektion for meget store MFS
selvfølgelig kan man bruge andre Hamming koder med langt større Hamming afstand, men jeg har ikke indtil nu retningslinjer på dette område, og konsekvenserne for hastighed / område, som indtil nu har jeg ikke klare denne udfordring, jeg i nogle tilfælde endda bruge parallelt FSMs at undgå denne fælde.
Er der nogen, man kan give os guider?

 
En hot-kodning er en FSM kodning stil, hvor hver enkelt stat bruger vi en ny flipflop, så det er egnet til små mønstre som complexinty stiger med designet, men fordelen er, at det er let og fejlfri stil.

 
hvis du ønsker at bruge fire tilstand:

en varm kodning er:

state_1: 0.001

state_2: 0010

state_3: 0.100

state_4: 1000manik_vivek_82 skrev:

Hvad er en varm kodning?
 
Valget at gå til en varm kodning i en FPGA, afhænger maskine, du ønsker at opbygge.En FPGA har en begrænset fan-in pr flip-flop LUT, og et varmt flipflop bruger følgende signaler i kombinatorisk ligning for hver stat flip-flop:
hver forrige tilstand, alt betingelse signaler, der er afgørende for at videregive denne tilstand, en tilstand alle signaler om, at få det til at forlade denne tilstand.

Så hvis du har en tilstand maskine med 10 stater, der er stærkt lineær (1,2,3,4,5 ...) så er logik for f.eks stat 4 kun afhænger af den tilstand 3 signal, og betingelserne for at gå til staten 4, og betingelserne for tilladelse til staten 5.Uafhængig af # af stater, hvis det betyder, at du har en 4-indgang LUT baseret FPGA, så kan du måske kun have en LUT niveau i stedet for flere niveauer, hvis du vil have andre kodninger.Til binære kodning du altid have mindst bredden af staten (4 bits i mit eksempel med 10 stater), og så du kan aldrig have en stat maskine med kun 1 LUT niveau, der er betingelser for overgangen til den næste tilstand.Binær tilstand maskiner skal alle betingelser i alle stater for hver logik ligning og er derfor langsommere i flere tilfælde.

Kun hvis der er mange ind-og udgående pile i din tilstandsdiagram og mange betingelser, den ene varm tilstand maskine bliver mindre effektive end de binære fordi hver af de N tidligere stater er nødt til at gå til en LUT indgang, mens den binære kodning er kompakt og begrænset til log2 (N).

 

Welcome to EDABoard.com

Sponsor

Back
Top