Decodificador 2 para 4 (2 : 4)

Slides:



Advertisements
Apresentações semelhantes
Contadores e Registradores
Advertisements

Introdução Revisão de Conceitos de Circuitos Lógicos e Estruturas para Arquitetura de Computadores.
SystemVerilog: Síntese de Lógica combinatória Função lógica combinatória pode ser representada como: logic_output(t) = f(logic_inputs(t)) Regras Evite.
Aritmética Computacional
Lógica booleana e implementação de funções booleanas
Circuitos Lógicos e Organização de Computadores Capítulo 4 – Implementações Otimizadas de Funções Lógicas Ricardo Pannain
Prof. Wanderley Cardoso Celeste
Eletrônica Digital Projeto de Circuitos Combinacionais
Eletrônica Digital Sistemas de Numeração
Máquinas de Estado Eletrônica Digital.
Eletrônica Digital Multiplexadores e Demultiplexadores
Verilog AULA - 3.
Algoritmos para Seleção Simples
Organização e Arquitetura de Computadores I Aritmética para Computadores Parte I Ivan Saraiva Silva.
Soma de Produtos Soma de produtos é uma forma padrão de representação de funções Booleanas constituida pela aplicação da operação lógica OU sobre um conjunto.
Mapas de Karnaugh 5 e 6 variáveis.
Circuitos Sequenciais
Registradores de deslocamento (Shift Register)
VERILOG HDL (HARDWARE DESCRIPTION LANGUAGE)
Hardware Description Language (HDL)
Decodificador 2 para 4 (2 : 4)
O latch RS QN (QN)inv 1 S R QN+1 (QN+1)inv
Máquina de Estados Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações Um estado.
O Flip-Flop Mestre/Escravo
MAPA DE KARNAUGH O Mapa de Karnaugh é uma ferramenta de auxílio à minimização de funções booleanas. O próprio nome mapa vem do fato dele ser um mapeamento.
Autor: Fernando de Mesentier Silva
Circuitos combinatórios
Sistemas de Numeração Sistemas Numéricos de Interesse
Engenharia de Software para Computação Embarcada
Introdução a Tecnologia da Informação
Sistemas Numéricos Sistemas Numéricos de Interesse
Técnica de modelagem de Máquina de Estados em VHDL
Circuitos Digitais - Somadores e Subtradores SOMADORES E SUBTRADORES.
Circuitos Combinacionais Básicos Descrição VHDL
Representação interna
Engenharia de Software para Computação Embarcada
Conceitos de Lógica Digital
Multiplexadores e Demultiplexadores
Projeto de Circuitos Combinacionais Aritméticos
SISTEMAS DIGITAIS CIRCUITOS COMBINACIONAIS
Representação Digital da Informação
UTFPR – Prof. Carlos Raimundo Erig Lima.  Circuitos compostos por lógica seqüencial e por lógica com binacional.  Baseados em flip-flops sincronizados.
Conceitos de Lógica Digital
Exercício 1 (POSCOMP ) De acordo com o teorema de De Morgan, o complemento de X + Y . Z é: X + Y . Z X . Y + Z X. (Y + Z) X . Y . Z.
Infra-Estrutura de Hardware
Tópicos em Arquitetura de Computadores João Angelo Martini Universidade Estadual de Maringá Departamento de Informática Mestrado em Ciência.
Funcionamento básico de um processador de 8 bits
ELETRÔNICA DIGITAL Circuitos Aritméticos
Sistemas Numéricos SISTEMA DECIMAL
Circuitos Combinacionais Exercícios 2 POSCOMP e ENADE
Decodificadores/ Codificadores
Multiplexador O que é isso?.
Introdução à Computação Sistemas de Numeração
Subtrator e Somador BCD
Decodificadores e Codificadores
Circuitos Combinacionais Básicos Descrição VHDL
Projetando Sistemas Digitais com SystemVerilog
BLOCOS DE CONSTRUÇÃO DE CIRCUITOS COMBINACIONAIS
VERILOG.
VERILOG Monitoria Infra-Estrutura de Hardware Álvaro João – ajss Húgaro Bernardino – hbb Fred Rabelo - ferrf Leonardo Leandro – lsl2 Jéssica de.
Diagrama de estado ? Exemplo:
Aula 1 Eletrônica Digital Codificadores/Decodificadores e Multiplexadores/Demultiplexadores Prof. Wanderley.
Codificadores e Decodificadores
Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática
Verilog HDL. Introduzida em 1985 pela Gateway Design System Corporation Após 1990, passou a ser de domínio público, e em 1995 passou a ser padrão IEEE.
Codificadores e Decodificadores Prof. Lucas Santos Pereira
Circuitos Digitais Prof. Marcio Cunha
Módulo 3 – Circuitos Combinatórios
Módulo 3 – Circuitos Combinatórios
Decodificador 2 para 4 (2 : 4)
Transcrição da apresentação:

Decodificador 2 para 4 (2 : 4) O decodificador é um circuito digital que recebe um conjunto de entradas que representa um número binário e ativa apenas a saída que corresponde ao número recebido. Um circuito decodificador analisa as entradas, determina o número binário que está presente e ativa a saída correspondente ao número na entrada. Todas as outras saídas permanecem desativadas Tabela Verdade A1 A0 S0 S1 S2 S3 1 2N Saídas Decodificador N entradas . .

Decodificador 2 para 4 (2 : 4) Tabela Verdade A1 A0 S0 S1 S2 S3 1

Decodificador 2 para 4 (2 : 4) Um decodificador N:2N apresenta: N entradas 2N saídas.

Decodificador 2 para 4 (2 : 4) Descrição Verilog: module decodificador2x4_descricao1 (output reg S0, S1, S2, S3, input A0, A1); always @ (*) begin S0 = (!A0)&(!A1); S1 = (A0)&(!A1); S2 = (!A0)&A1; S3 = A0&A1; end endmodule Tabela Verdade A1 A0 S0 S1 S2 S3 1

Decodificador 2 para 4 (2 : 4) Esquema elétrico Tabela Verdade A1 A0 S0 S1 S2 S3 1 Simulação

Decodificador 2 para 4 (2 : 4) Esquema elétrico Tabela Verdade A1 A0 S0 S1 S2 S3 1 Simulação

Decodificador 2 para 4 (2 : 4) module decodificador2x4_descricao1 (output reg S0,S1,S2,S3, input [1:0] controle); always @ (*) begin case (controle) 2'b00: begin S0 = 1; S1 = 0; S2 = 0; S3 = 0; end 2'b01: begin S0 = 0; S1 = 1; 2'b10: begin S0 = 0; S1 = 0; S2 = 1; S3 = 0; end 2'b11: begin S2 = 0; S3 = 1; endcase endmodule Tabela Verdade A1 A0 S0 S1 S2 S3 1

Decodificador 3 para 8 (3 : 8)

Decodificador 3 para 8 (3 : 8) Observe que uma Saídai do decodificador acima implementa o minitermo mi das variáveis S2,S1 e S0

Decodificador 3 : 8 O símbolo utilizado para o decodificador é:

Codificador O codificador é um circuito digital que possui um certo número de entradas das quais apenas uma delas é ativada por vez e produz um código de saída de N bits, dependendo de qual entrada está ativada. O diagrama de blocos abaixo mostra um codificador de M entradas e N saídas. As entradas são ativadas em nível ALTO M entradas Codificador Código de saída de N bits . Apenas uma em nível ALTO de cada vez .

Codificador Exemplo 1 : Projetar um codificador octal para binário (8 entradas e 3 saídas) Solução: 8 entradas Codificador Código de saída de 3 bits . Apenas uma em nível ALTO de cada vez .

Codificador Octal - binário Entradas Saídas A7 A6 A5 A4 A3 A2 A1 A0 O2 O1 O0 1 . 8 entradas Codificador Código de saída de 3 bits Apenas uma em nível ALTO de cada vez

Codificador Octal - binário Entradas Saídas A7 A6 A5 A4 A3 A2 A1 A0 O2 O1 O0 1 O0 = A1 + A3 + A5 + A7 O1 = A2 + A3 + A6 + A7 O2 = A4 + A5 + A6 +A7 Equações booleanas

Codificador Octal - binário Entradas Saídas A7 A6 A5 A4 A3 A2 A1 A0 O2 O1 O0 1 Codificador Octal - binário module codificador_octal_binario (output reg O0, O1, O2, input A0, A1, A2, A3, A4, A5, A6, A7); always@(*) begin O0 = A1 | A3 | A5 | A7; O1 = A2 | A3 | A6 | A7; O2 = A4 | A5 | A6 | A7; end endmodule

Codificador Octal - binário Entradas Saídas A7 A6 A5 A4 A3 A2 A1 A0 O2 O1 O0 1

Codificador Decimal - BCD (Binary Coded Decimal) Código BCD 8421 – Binary Coded Decimal (Decimal Codificado em Binário), é composto por quatro bits, tendo cada bit um peso equivalente ao do sistema numérico binário: Decimal BCD 1 2 3 4 5 6 7 8 9 Ao invés de se converter um número formado por diversos dígitos para o sistema binário os sistemas digitais que utilizam este código podem converter cada dígito do número para o BCD. Por exemplo: 45623 = 0100 0101 0110 0010 0011 4 5 6 2 3

Codificador Decimal - BCD (Binary Coded Decimal) Entradas Saídas A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 S3 S2 S1 S0 1 S3 = A8 + A9 S2 = A4 + A5 + A6 + A7 S1 = A2 + A3 + A6 + A7 S0 = A1 + A3 + A5 + A7 + A9 Equações booleanas

Codificador Decimal - BCD (Binary Coded Decimal) module codificador_decimal_BCD (output reg S0, S1, S2, S3, input A1, A2, A3, A4, A5, A6, A7, A8, A9); always@(*) begin S3 = A8 | A9; S2 = A4 | A5 | A6 | A7; S1 = A2 | A3 | A6 | A7; S0 = A1 | A3 | A5 | A7 | A9; end endmodule

Codificador Decimal - BCD (Binary Coded Decimal) Simulação

Um multiplexador 2N:1 apresenta: 2N entradas de dados N entradas de seleção; 1 saída. Um multiplexador 2N:1 conecta uma de suas 2N entradas à saída

Abaixo está representado um multiplexador 8:1 como sendo uma chave cuja posição corresponde ao número binário apresentado nas entradas de controle A, B e C. A posição da chave mostrada na figura abaixo corresponde aos valores: A = 1, B = 1 e C = 0.

Multiplexador 4:1 MUX 4:1 Tabela Verdade I0 A B Z I0 1 I1 I2 I3 I1 I2 I0 1 I1 I2 I3 I1 I2 Z I3 A B

Z =I0 A + I1 B B + I2A B + + I3AB Multiplexador 4:1 MUX 4:1 Tabela Verdade MUX 4:1 I0 A B Z I0 1 I1 I2 I3 I1 I2 Z I3 A B Z =I0 A + I1 B B + I2A B + + I3AB

Z =I0 A + I1 B B + I2A B + + I3AB Multiplexador 4:1 Descrição Verilog: module multiplexador4x1_descricao1 (output reg Z, input A, B, I0, I1, I2, I3); always @ (*) begin Z = I0&(!A)&(!B)|I1&B&(!A)|I2&(!B)&A|I3&A&B; end endmodule Tabela Verdade A B Z I0 1 I1 I2 I3 Z =I0 A + I1 B B + I2A B + + I3AB

Z =I0 A + I1 B B + I2A B + + I3AB Multiplexador 4:1 Tabela Verdade A B I0 1 I1 I2 I3 Z =I0 A + I1 B B + I2A B + + I3AB

Multiplexador 4:1 module multiplexador4x1_descricao2 (output reg Z, input A, B, I0, I1, I2, I3); always @ (*) begin case ({A, B}) 2'b00: Z = I0; 2'b01: Z = I1; 2'b10: Z = I2; 2'b11: Z = I3; endcase end endmodule Tabela Verdade A B Z I0 1 I1 I2 I3

Multiplexador 4:1 Tabela Verdade module multiplexador4x1_descricao2 (output reg Z, input A, B, I0, I1, I2, I3); always @ (*) begin case ({A, B}) 2'b00: Z = I0; 2'b01: Z = I1; 2'b10: Z = I2; 2'b11: Z = I3; endcase end endmodule A B Z I0 1 I1 I2 I3 Diagrama Esquemático do mux

Multiplexador 4:1 module multiplexador4x1_descricao3 (output reg Z, input A, B, I0, I1, I2, I3); always @(*) begin Z = 0; if ({A,B} == 0) Z = I0; else if ({A,B} == 1) Z = I1; else if ({A,B} == 2) Z = I2; else if ({A,B} == 3) Z = I3; end endmodule Tabela Verdade A B Z I0 1 I1 I2 I3 Diagrama Esquemático do mux

O Multiplexador como um Bloco Lógico Básico Um multiplexador 2N:1 pode implementar qualquer função de N variáveis: Exemplo: Implementar a função booleana:

O Multiplexador como um Bloco Lógico Básico Solução: 1. Mapa de Karnaugh da função

O Multiplexador como um Bloco Lógico Básico 2. conectar as variáveis às entradas de seleção do multiplexador; 3. conectar "0" ou "1" apropriadamente em cada entrada de dados, dependendo do valor de saída desejado; 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 MUX 16:1 f A3 A2 A1 A0 A B C D

Multiplexadores em Cascata Multiplexadores maiores podem ser implementados utilizando-se multiplexadores menores em cascata: Exemplo1: MUX 8:1 construído a partir de dois MUX 4:1 e um MUX 2:1                                                            

Multiplexadores em Cascata Exemplo2: MUX 8:1 construído a partir de quatro MUX 2:1 e um MUX 4:1

Demultiplexador

Demultiplexador Um demultiplexador N:2N apresenta: 1 entrada de dados. 2N saídas. N entradas de seleção representando o índice binário i da saída à qual a entrada de dado está conectada; Exemplo: Estrutura interna do demultiplexador 1:2 é: D Saída0 = D.A Saída1 = D.A A D = Dado A = Seleção

Demultiplexador Tabela Verdade A Saída0 Saída1 D 1 D Saída0 = D.A D 1 D Saída0 = D.A Saída1 = D.A A D = Dado A = Seleção

Demultiplexador 2 : 4

Demultiplexador 2 : 4 Y0 =D A B Y1 =D A B Y2 =D A B + Y3 =D A + B + Tabela Verdade A B Y0 Y1 Y2 D 0 0 0 1 0 D 0 0 0 0 D 0 0 0 0 D Y3 D Y0 =D A B Y1 =D A B Y2 =D A B + Y3 =D A + B +

Demultiplexador 2 : 4 Y0 =D A B Y1 =D A B Y2 =D A B + Y3 =D A + B + Descrição: module demultiplexador2x4_descricao1 (output reg Y0, Y1, Y2, Y3, input A, B, D); always @ (*) begin Y0 = D&(!A)&(!B); Y1 = D&(!A)& B; Y2 = D&A&(!B); Y3 = D&A&B; end endmodule Tabela Verdade A B Y0 Y1 Y2 D 0 0 0 1 0 D 0 0 0 0 D 0 0 0 0 D Y3 Esquemático Equações booleanas Y0 =D A B Y1 =D A B Y2 =D A B + Y3 =D A + B +

Demultiplexador 2 : 4 Descrição: module demultiplexador2x4_descricao1 (output reg Y0, Y1, Y2, Y3, input A, B, D); always @ (*) begin Y0 = D&(!A)&(!B); Y1 = D&(!A)& B; Y2 = D&A&(!B); Y3 = D&A&B; end endmodule Simulação

Demultiplexador 2 : 4 Simulação module demultiplexador2x4_descricao2 (output reg Y0, Y1, Y2, Y3, input A, B, D); always @(*) begin Y0 = 0; Y1 = 0; Y2 = 0; Y3 = 0; if ({A,B} == 0) Y0 = D; else if ({A,B} == 1) Y1 = D; else if ({A,B} == 2) Y2 = D; else if ({A,B} == 3) Y3 = D; end endmodule Simulação

Conexões multi-ponto Multiplexadores e Demultiplexadores podem ser utilizados em conexões multi-ponto. No exemplo abaixo é possível selecionar múltiplas fontes de entrada e múltiplos destinos de saída:

Controlador para display de 7 segmentos Entrada Binária De 4 bits f b g e c d Display de 7 segmentos

Controlador para display de 7 segmentos Podemos formar qualquer algarismo de 0 a 9 usando uma combinação de 7 segmentos de um mostrador.

Tabela Verdade do controlador Dígito decimal entradas saídas

Controlador para display de 7 segmentos DECODIFICADOR CODIFICADOR a S0 A0 S1 A1 A A0 b S2 A2 B A1 S3 A3 c S4 A4 C A2 S5 d A5 S6 D A3 A6 e S7 A7 f S8 A8 S9 A9 g

Controlador para display de 7 segmentos module controlador_7_segmentos (output reg [7:1] seg, // seg[7] = a; seg[6] = b ... seg[1] = g input [3:0] digito); always @(*) begin case (digito) 4'b0000: seg = 7'b1111110; 4'b0001: seg = 7'b0110000; 4'b0010: seg = 7'b1101101; 4'b0011: seg = 7'b1111001; 4'b0100: seg = 7'b0110011; 4'b0101: seg = 7'b1011011; 4'b0110: seg = 7'b1011111; 4'b0111: seg = 7'b1110000; 4'b1000: seg = 7'b1111111; 4'b1001: seg = 7'b1111011; default : seg = 7'b0000000; endcase end endmodule Simulação