Circuitos Combinacionais Básicos Descrição VHDL

Slides:



Advertisements
Apresentações semelhantes
Contadores e Registradores
Advertisements

Organização e Arquitetura de Computadores I Introdução
Introdução Revisão de Conceitos de Circuitos Lógicos e Estruturas para Arquitetura de Computadores.
Conversores Analógico-Digital
Sistemas Digitais Projeto RTL – Unidade de Controle
Arquitetura e organização de computadores
Arquitetura e organização de computadores.
Circuitos básicos e representação em VHDL
Pontifícia Universidade Católica do Rio Grande do Sul
Unidades de Execução e de Controle Sistemas Digitais.
Eletrônica Digital Multiplexadores e Demultiplexadores
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
Análise de Circuitos Sequenciais Síncronos
Registradores de deslocamento (Shift Register)
Registradores de deslocamento (Shift Register)
Decodificador 2 para 4 (2 : 4)
Eletrônica Digital Projeto de Circuitos Combinacionais
Circuitos Combinacionais Portas Lógicas
Projeto de Somador com e sem Sinal
Engenharia de Software para Computação Embarcada
Cálculo da Freqüência de Operação do Relógio
Máquina de Estados Finito
Técnica de modelagem de Máquina de Estados em VHDL
Exercícios Referentes à Prova P2
Circuitos Seqüenciais Descrição VHDL
Circuitos Combinacionais Portas Lógicas (continuação)
Circuitos Combinacionais Básicos Descrição VHDL
Índice SUMÁRIO Introdução ao projeto de lógica seqüencial.
Multiplexadores e Demultiplexadores
Fundamentos de Circuitos Sequenciais Modelos de Mealy e Moore
Contadores e Divisores de Frequência
Circuitos Seqüenciais Contadores
Comunicações do Bloco de Controle para Bloco de Dados e Memória
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Qualificadores.
Projeto de um Comparador Descrição Estrutural x Comportamental
Arquitetura Cleópatra Bloco de Controle (Instruções e Microinstruções)
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Descrição de Atrasos.
Circuitos Seqüenciais
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Computador Cleópatra Arquitetura e Programação.
Exercícios de Máquinas de Estado
Exercícios Referentes à Prova P1
Diagramas de Blocos e Descrição VHDL
SISTEMAS DIGITAIS CIRCUITOS COMBINACIONAIS
SISTEMAS DIGITAIS AULA 5
Projeto de Circuito Combinacional Unidade Lógica e Aritmética (ULA)
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Memórias.
Computador Cleópatra Programação Assembly e Alto Nível
Hardware Description Language Aula 6 -VHDL Prof. Afonso Ferreira Miguel, MSc.
Circuitos Combinacionais Exercícios 2 POSCOMP e ENADE
Circuitos Sequenciais
Hardware Description Language Aula 8 –Verilog HDL
Hardware Description Language Aula 4 -VHDL Prof. Afonso Ferreira Miguel, MSc.
Codificação de Sinais Universidade Federal do Pará
Introdução à Linguagem VHDL
BLOCOS DE CONSTRUÇÃO DE CIRCUITOS COMBINACIONAIS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno Exercícios Circuitos Descritos em VHDL.
Aula 1 Eletrônica Digital Codificadores/Decodificadores e Multiplexadores/Demultiplexadores Prof. Wanderley.
Codificadores e Decodificadores
Eletrônica Digital II ELT013
FLIP-FLOPs.
Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM)
Introdução 1ª Semana # Introdução # Álgebra Lógica Simbólica Famílias Lógicas 2ª Semana # Organização de um Computador # Memória Registradores Instruções.
Registradores Prof.: José Mauricio Neto
Sistemas Digitais Aula 10 GRECO-CIN-UFPE.
Organização de Computadores Implementação da UCP Construção do caminho de dados Controle Implementação monociclo.
Codificadores e Decodificadores Prof. Lucas Santos Pereira
Lógica Programável e VHDL Prof. Marcio Cunha Aula 05 – Projeto RTL.
Circuitos Digitais Prof. Marcio Cunha
Lógica Programável e VHDL Prof. Marcio Cunha Aula 04 – Projeto de Máquina de Estados.
Transcrição da apresentação:

Circuitos Combinacionais Básicos Descrição VHDL

Circuitos combinacionais básicos e representação em VHDL Exemplos de circuitos combinacionais Decodificador / Codificador Comparadores Geradores de paridade Multiplexador / Demultiplexador Somador / Subtrator ULA Multiplicadores / Divisores PLAs Exemplos de circuitos seqüenciais Multiplicadores / Divisores Registradores (deslocamento, carga paralela, acumulador, serial-paralelo) Contadores (binário, BCD, Johnson, Gray / up, down, up-down) Máquina de Estados Geradores de clock Seqüenciadores

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 E0 S0 E1 S1 EN SM

Codificador O exemplo abaixo ilustra um codificador BCD (binary-coded decimal) para sete segmentos Entrada em 4 bits (vetor Ent(3 downto 0)) Saída em 7 bits (vetor S(6 downto 0)) with Ent select S <= "0000001" when "0000", "1001111" when "0001", "0010010" when "0010", "0000110" when "0011", "1001100" when "0100", "0100100" when "0101", "0100000" when "0110", "0001111" when "0111", "0000000" when "1000", "0001100" when "1001", "1111110" when others; EXERCÍCIOS: Descubra qual é a codificação do display de 7 segmentos, que relaciona as posições de S com os segmentos a,b,c,d,e,f,g Diga se os segmentos acendem com 0 ou 1 Faça agora um codificador para mostrar todos os números hexadecimais a b f g BINÁRIO c e d

todos segmentos acesos Codificador EXERCÍCIOS: Faça a codificação do display de elevador ilustrado abaixo Este tem como entrada um vetor de 2 bits que recebe a seguinte codificação S(2) S(1) S(0) E(1 ... 0) S(3) S(4) parado 00 - subindo 01 /\ descendo 10 \/ estragado 11 todos segmentos acesos

Codificador com Prioridade Codificador com prioridade é um circuito que determina entradas preferenciais Conforme a ordem de preferência das entradas, no caso de haver mais de uma entrada ativa (por exemplo em 1), a entrada de maior prioridade é que determinará a codificação Exemplo: A prioridade máxima é de S(2) e a mínima de S(0) Y <= "11" when S(2) = '1' else "10" when S(1) = '1' else "01" when S(0) = '1' else "00"; Exercício: Desenhe o diagrama de blocos deste circuito Importante haver condição default em atribuições e estruturas similares: NÃO HAVENDO ESTA CONDIÇÃO IMPLICA EM HAVER MEMORIZAÇÃO DO SINAL - diferente de software! (warning latch infered)

Decodificador Decodificador é igualmente como um codificador, um circuito que mapeia entradas em saídas segundo uma função de codificação Genericamente, um circuito é chamado de decodificador, quando a função de transformação que ele realiza é inversa a de um circuito codificador Um caso especial de decodificador é o binário. Este relaciona n entradas em 2n saídas. Normalmente utilizado para endereçamento de memórias RAM Exemplo: Decodificador de 3 entradas (A(2...0)) e 23 (8) saídas (S(7...0)) with A select S <= "00000001" when "000", "00000010" when "001", "00000100" when "010", "00001000" when "011", "00010000" when "100", "00100000" when "101", "01000000" when "110", "10000000" when "111"; A(2) A(1) A(0) S(7) S(6) S(5) S(4) S(3) S(2) S(1) S(0)

Multiplexador (Mux) É um circuito que permite selecionar mais de uma entrada em uma mesma saída, conforme um sinal de seleção Exemplo de um multiplexador 4x1 Implementação com portas lógicas Representação E0 00 E1 01 s E2 10 E3 11 C

Multiplexador Multiplexadores podem ser implementados com diversos comandos: s <= (E(0) and (not C(0) and not C(1) )) or (E(1) and (not C(0) and C(1) )) or (E(2) and (C(0) and not C(1) )) or (E(3) and (C(0) and C(1) )); with C select s <= E(0) when "00", E(1) when "01", E(2) when "10", E(3) when others; s <= E(0) when C(0) = 0 and C(1) = 0 else 'Z'; s <= E(1) when C(0) = 0 and C(1) = 1 else 'Z'; s <= E(2) when C(0) = 1 and C(1) = 0 else 'Z'; s <= E(3) when C(0) = 1 and C(1) = 1 else 'Z'; process(E, C) begin case sel is when "00" => s <= E(0); when "01" => s <= E(1); when "10" => s <= E(2); when others => s <= E(3); end case; end process;

Demultiplexador (Demux) É um circuito que opera de forma inversa ao multiplexador. Ou seja, recebe uma entrada e distribui esta em uma de várias saídas conforme um sinal de seleção Exemplo de um multiplexador 1x4 e S0 S1 C S2 S3 00 01 10 11 Igualmente ao multiplexador, um demultiplexador pode ser implementado com diversos comandos. O mais comum, é o que segue: S(0) <= e when C = "00" else 'Z'; S(1) <= e when C = "01" else 'Z'; S(2) <= e when C = "10" else 'Z'; S(3) <= e when C = "11" else 'Z';

Matrizes Lógicas Programáveis Matrizes lógicas programáveis são tipos de circuitos que têm hardware pré-definido (parte estática) que implementa diversas funcionalidades conforme este for programado (parte dinâmica) Normalmente a programação é compreendida como uma camada de software de baixo nível programada em memórias do tipo RAM Muitas vezes, este tipo de circuito permite rapidamente criar novas funcionalidades de hardware, seja em tempo de projeto, seja em tempo de operação Exemplos de matrizes lógicas programáveis são PLAs, PLDs, e até circuitos mais complexos como FPGAs podem ser percebidos de forma análoga Exemplo de um PLA (contendo um plano E e outro OU)

Exercícios Uma fábrica produz porcas e parafusos. O presidente da fábrica necessita de um sistema automático para separar as peças em lotes. Sempre que na esteira houver somente porcas, as mesmas devem ser enviadas para um caixa A. Se na esteira houver somente parafusos, os mesmos devem ser enviados para uma caixa B. Caso existam na esteira porcas e parafusos, os mesmos devem ser enviados para uma outra caixa C. Projete este sistema utilizando um circuito adequado (codificador, decodificador, multiplexador ou demultiplexador) A figura abaixo mostra as formas de ondas um mux 4x1 (E: entrada, C: controle, s: saída). Desenhe as formas de onda de s

Exercícios A figura abaixo mostra as formas de ondas um demux 1x4 (E: entrada, C: controle, S: saídas). Desenhe as formas de onda de S para o caso do demux ser implementado com tri-states e para o caso de ser implementado com portas lógicas Implemente um multiplexador 4x1, utilizando apenas multiplexadores 2x1 Implemente um demultiplexador 1x4 utilizando um demultiplexador 1x8 Implemente a expressão booleana a seguir usando um mux 8x1 S <= (A and not B) or (A and not (B and C));

Exercícios Implemente a expressão booleana a seguir utilizando um mux 4x1 e uma porta NAND S <= (A and not B and not C) or (A and not B and C) or (A and B and not C);

Solução de Exercícios Implemente a expressão booleana a seguir utilizando um mux 4x1 e uma porta NAND S <= (A and not B and not C) or (A and not B and C) or (A and B and not C); Simplificando: S <= (A and not B) or (A and not C); S <= A and not (B and C); A B C not(B and C) S 1 00 01 s 10 1 11 A B. C

Exercícios Implemente as expressões booleanas a seguir utilizando dois mux 4x1, um porta AND e um INVERSOR S1 <= not X or (not Y and Z) or not (X and Y); S2 <= (X or Y) and not (X or Z);

Solução de Exercícios Implemente as expressões booleanas a seguir utilizando dois mux 4x1, um porta AND e um INVERSOR S1 <= not X or (not Y and Z) or not (X and Y); S2 <= (X or Y) and not (X or Z); Simplificando: S1 <= not X or not Y; S2 <= not X and Y and not Z S1 1 X Y 00 01 10 11 X Y Z !X !Y !X+!Y !Z !X.Y.!Z 1 S2 1 X Y . Z 00 01 10 11

Exercícios Faça um decodificador em portas lógicas que implemente a tabela verdade abaixo Apresente em portas lógicas um demultiplexador 1x4 Faça o mesmo exercício acima, agora considerando o uso de tri-states A B C S1 S0 1

Exercícios (FUNRIO/CEITEC 2012 - 26) Um multiplexador 8x1 possui as ligações conforme a figura a seguir, em que A, B, C e D são os sinais de entrada. Neste circuito integrado, I0 a I7 são as entradas, S0 a S2 são os sinais de seleção, sendo S2 o bit mais significativo, e Z é o sinal de saída. A função lógica implementada na saída deste circuito é

Exercícios (FUNRIO/CEITEC – 2012 - 29) Considere um circuito combinacional decodificador que aceita 32 combinações diferentes de entrada. Para esse circuito, o número de entradas e saídas é, respectivamente. A) 32 e 32 B) 32 e 5 C) 5 e 37 D) 32 e 27 E) 5 e 32