Codificadores
Por: Cássia Nardoní Gonçalez • 6/11/2015 • Trabalho acadêmico • 565 Palavras (3 Páginas) • 427 Visualizações
Um codificador é um circuito combinatório que realiza a operação inversa do decodificador.
Codificador – Codificador é um circuito que mapeia um conjunto de entradas em um conjunto de saídas segundo uma função de codificação – Em outras palavras, é um circuito que transforma uma informação de um formato para outro – Um codificador é normalmente implementado de forma combinacional – Implementação deste em VHDL pode ser realizada com o comando with- select – Representação gráfica de codificador genérico E0E0 E1E1 ENEN S0S0 S1S1 SMSM
Tem 2n linhas de entrada e tem n saídas, funcionando do seguinte modo: assumindo que apenas uma das linhas de entrada está ‘1’, num dado instante de tempo, a saída de um codificador é a combinação binária que corresponde ao índice dessa linha. Por exemplo, num codificador 8/3, se a linha de entrada 5 estiver a ‘1’, então o resultado nas saídas será a combinação binária correspondente ao número 5 – “101”.
A seguinte tabela ilustra o funcionamento de um codificador 4/2. Note que a tabela representada não é bem uma tabela de verdade, pois não se encontra descrito o comportamento do circuito para todas as combinações de entrada. Só estão presentes os casos em que apenas uma e só uma das linhas de entrada D0 a D3 está a ‘1’.
[pic 1]
Os restantes casos seriam casos em que poderiam estar várias linhas activadas em simultâneo (ou mesmo nenhuma linha activada).
Existem vários critérios possíveis para lidar com esses casos: dar sempre o resultado 0, ser indiferente o resultado que dá, ou dar a combinação correspondente à linha com menor índice que foi activada (ou a correspondente à linha de maior índice).
Neste último caso tem-se um circuito chamado codificador de prioridades, que impõe prioridades entre as diversas linhas.
Por exemplo, se as linhas D1 e D3 se encontrassem ambas activadas, então o resultado da saída seria a combinação “01” – pode-se, portanto, afirmar que a linha 1 tem prioridade em relação à linha 3. Um codificador para o qual é indiferente o valor das saídas no caso de estarem várias linhas activadas em simultâneo (ou não estar nenhuma linha activada) pode ser facilmente construído usando apenas portas OR.
Como exemplo, será ilustrada a construção de um codificador 4/2, descrito pela tabela anterior. Com base na tabela, pode constatar-se que o bit menos significativo das saídas – A0 – fica a ‘1’ quando uma das linhas de entrada D1 ou D3 está a ‘1’.
Sendo assim, pode-se escrever: A0 = D1 + D3 Já a saída A1 só vai a ‘1’ quando uma das linhas D2 ou D3 está activada. Fica então: A1 = D2 + D3 O circuito resultante seria o apresentado na seguinte figura:
[pic 2]
Este circuito tem a particularidade de as saídas não dependerem explicitamente de D0.
Circuito que implementa a codificação.
Exemplo: Codificador decimal para BCD Entradas: 10 bits correspondente aos dígitos decimais de 0 a 9, (D0, …, D9) Saída: 4 bits com o código BCD.
Uma grande parte dos sistemas digitais trabalha com níveis lógicos representando informações que, portanto, devem ser codificadas.
...