Codicebinario CodiceGray One-hot 000 000 00000001 001 001 00000010 010 011 00000100 011 010 00001000 100 110 00010000 101 111 00100000 110 101 01000000 111 100 10000000 In elettronica digitale, l'espressione one-hot si riferisce ad un gruppo di bit tutti posti a 0 tranne uno. Un'implementazione simile in cui tutti i bit sono posti a 1 tranne uno è chiamata one-cold.

Utilizzo Un'usuale applicazione della codifica one-hot è per indicare lo stato di una macchina a stati finiti. Infatti, mentre con il codice binario o il codice Gray un automa a stati finiti necessita di un decoder per determinare il suo stato, una macchina one-hot si trova nello stato n-esimo corrispondente al bit impostato ad 1.

Un contatore ad anello con quindici stati ordinati sequenzialmente è un esempio di questo automa. Un'implementazione one-hot necessiterebbe di quindici flip-flop concatenati in serie, con ogni output Qi connesso con l'input Di+1del successivo e l'output Qn dell'ultimo flip-flop connesso con l'input D1 del primo. Il primo flip-flop rappresenta il primo stato, il secondo rappresenta il secondo stato e così via. Al ripristino della macchina tutti i flip-flop sono resettati a 0, tranne il primo della catena che è impostato a '1'. Il colpo di clock successivo, il bit hot avanza di un posto. Il bit impostato ad 1 progredisce in questo modo fino al quindicesimo stato, dopodiché la macchina torna al primo stato.

Un circuito di decodifica dell'indirizzo (address decoder) converte un codice Gray o binario nella rappresentazione one-hot. Un codificatore a priorità (priority encoder) effettua l'operazione inversa.

Differenze dagli altri metodi di codifica Vantaggi Determinare lo stato della macchina al costo costante di accesso ad un flip-flop Cambiare lo stato della macchina al costo costante di accesso a due flip-flop Semplice da progettare e modificare Rilevare semplicemente uno stato improprio dei flip-flop In generale, possibilità di girare ad un ritmo di clock più elevatoXilinx. "HDL Synthesis for FPGAs Design Guide". section 3.13: "Encoding State Machines". Appendix A: "Accelerate FPGA Macros with One-Hot Approach". 1995.

Svantaggi Richiede molti più flip-flop,Con n stati, la codifica one-hot richiede n bit, mentre un altro tipo di codifica ne può richiedere il che rende impossibile effettuare questa implementazione, ad esempio, in un dispositivo PAL Possibilità più elevata di capitare in uno stato improprioAd esempio quando tutti gli stati sono a zero o più di uno stato è impostato ad 1

Note

Voci correlate Sistema numerico unario Porta XOR

Categoria:Teoria dei codici Categoria:Elettronica digitale