SlideShare uma empresa Scribd logo
1 de 28
UNIVERSIDADE FEDERAL DE SERGIPE (UFS)
CENTRO DE CIÊNCIAS EXATAS E
TECNOLÓGICAS (CCET)
DEPARTAMENTO DE COMPUTAÇÃO (DCOMP)
DISCIPLINA: LABORATÓRIO DE CIRCUITOS II
PROFESSOR: EDWARD MORENO
RELATÓRIO PRATICAS 1 E 2
MULTIPLEXADOR E DECODIFICADOR
Por
Flavio de Oliveira Rodrigues
Diogo Teobaldo dos Santos
Data: 30/11/2014 Prática DATA: 06/11/2014 Entrega
1. INTRODUÇÃO:
Este relatório descreve as práticas realizadas em laboratório nos dias 23/10 e 30/10
que tiveram por objetivo reforçar e fixar o aprendizado do conteúdo da disciplina Circuitos
Digitais II ministrado em sala de aula. Foram utilizados os softwares especificados para a
realização das atividades e não foram realizados experimentos em circuitos físicos.
2. DESCRIÇÃO PRINCIPAL DA ATIVIDADE
As práticas consistiram de demonstrar o funcionamento e simular os resultados
gerados nos circuitos Multiplexador e Decodificador.
2.1 Multiplexador:
O circuito Multiplexador é usado para juntar (multiplexar) vários sinais de entrada e
transformá-loemumúnicosinal de saída.Esse sinal de saída contém os sinais de entrada que
são alternados através de alguma constante - tempo e frequência, por exemplo. No caso da
nossa simulação, uma variável de controle é usada para selecionar um desses sinais quando
desejamos apresenta-lo.
Foram utilizados 4 sinais de entrada (x1, x2, x3, x4), uma saída (s) e uma variável do
tipo vetor (sel) de 2 bits que é usada para selecionar o sinal a ser exibido na saída.
2.1.1 Metodologia aplicada:
Seguimos os seguintes passos:
 Criação de um projeto em uma pasta específica para cada abordagem utilizada;
 Implementação do código VHDL (um código para cada abordagem);
 Compilação;
 Verificação do RTL (diagrama do circuito);
 Teste no simulador;
 Verificação dos resultados funcional e temporal.
2.1.2 Abordagens:
Foram utilizadas 4 abordagens na implementação do multiplexador. Para cada uma
delas, obviamente, foi gerado um código VHDL.
a) With select:
Códigofonte:
libraryIEEE;
use IEEE.std_logic_1164.all;
entitymultiplexadoris
port(x1,x2,x3, x4: IN std_logic;
sel : IN std_logic_vector(1downto0);
s : OUT std_logic);
endentity;
architecture mux of multiplexadoris
begin
WITH (sel) select
s <= x1 WHEN "00",
x2 WHEN "01",
x3 WHEN "10",
x4 WHEN "11",
'0' Whenothers;
endmux;
b) CASE
Códigofonte:
libraryIEEE;
use IEEE.std_logic_1164.all;
entity multiplexador_case is
port(x1,x2,x3, x4: IN std_logic;
sel : IN std_logic_vector(1downto0);
s : OUT std_logic);
endentity;
architecture mux of multiplexador_case is
begin
mux:PROCESS(sel,x1,x2,x3, x4)
begin
CASE sel IS
WHEN "00" => s <= x1;
WHEN "01" => s <= x2;
WHEN "10" => s <= x3;
WHEN "11" => s <= x4;
WHEN OTHERS => s <= 'X';
END CASE;
endPROCESSmux;
endmux;
c) IF – ELSE
Códigofonte:
libraryIEEE;
use IEEE.std_logic_1164.all;
entitymultiplexador_if is
port(x1,x2,x3, x4: IN std_logic;
sel : IN std_logic_vector(1downto0);
s : OUT std_logic);
endentity;
architecture mux of multiplexador_if is
begin
mux:PROCESS(sel,x1,x2,x3, x4)
begin
IF (sel = "00") THEN
s <= x1;
ELSIF(sel = "01") THEN
s <= x2;
ELSIF(sel = "10") THEN
s <= x3;
ELSIF(sel = "11") THEN
s <= x4;
ELSE -- (s0 or s1 are not0 or 1)
s <= 'X';
END IF;
endPROCESSmux;
endmux;
d) Lógico
Códigofonte:
libraryIEEE;
use IEEE.std_logic_1164.all;
entitymultiplexador_logicois
port(x1,x2,x3, x4: IN std_logic;
sel : IN std_logic_vector(1downto0);
s : OUT std_logic);
endentity;
architecture mux of multiplexador_logicois
begin
s <= x1 WHEN sel = "00" ELSE
x2 WHEN sel = "01" ELSE
x3 WHEN sel = "10" ELSE
x4 WHEN sel = "11" ELSE
'X';
endmux;
2.2 Decodificador
Um Decodificador é um circuito lógico combinatório onde se recebe um conjunto de
entrada,que representa um número binário, e ativa em alto apenas a saída que corresponde
ao númerorecebido.Podemosdizer que decodificador é o circuito inverso ao multiplexador.
Foram utilizadas formas de implementação, uma para as abordagens com SELECT e
CASE, na qual utilizamos 2 vetores (entrada com 3 posições e saída com 8 posições) e outra
para IF-ELSE e Portas Lógicas, onde foram utilizadas 3 entradas (a, b, c) e 8 saídas (d0, d1, d2,
d3, d4, d5, d6, d7). Diferente do multiplexador, onde tínhamos uma variável para “setar” um
sinal na saída,no decodificador,asaídaé determinadapelacombinaçãodas próprias entradas
(vetor entrada ou a, b, c), em todas as implementações feitas.
2.2.1 Metodologia aplicada:
Seguimos os seguintes passos:
 Criação de um projeto em uma pasta específica para cada abordagem utilizada;
 Implementação do código VHDL (um código para cada abordagem);
 Compilação;
 Verificação do RTL (diagrama do circuito);
 Teste no simulador;
 Verificação dos resultados funcional e temporal.
2.2.2 Abordagens:
Foram utilizadas 4 abordagens na implementação do multiplexador. Para cada uma
delas, obviamente, foi gerado um código VHDL.
Sendo elas:
a) With Select
Código fonte:
library IEEE;
library ieee;
use ieee.std_logic_1164.all;
entity decodificador is
port(entrada:in std_logic_vector (0 to 2);
saida:out std_logic_vector (0 to 7));
end decodificador;
architecture decode of decodificador is
begin
with entrada select
saida <= "00000001" when "000",
"00000010" when "001",
"00000100" when "010",
"00001000" when "011",
"00010000" when "100",
"00100000" when "101",
"01000000" when "110",
"10000000" when "111",
"ZZZZZZZZ" when others;
end decode;
b) IF Else
Código fonte:
library IEEE;
library ieee;
use ieee.std_logic_1164.all;
entity decodificador is
port(a, b, c:in std_logic;
s:out std_logic_vector (7 downto 0));
end decodificador;
architecture decode of decodificador is
begin
process(a, b, c)
begin
if ((a = '0') and ( b = '0') and (c = '0')) then s <= "00000001";
elsif (a = '1' and (b = '0') and (c = '0')) then s <= "00000010";
elsif ((a = '0') and (b = '1') and (c = '0')) then s <= "00000100";
elsif ((a = '1') and (b = '1') and (c = '0')) then s <= "00001000";
elsif ((a = '0') and (b = '0') and (c = '1')) then s <= "00010000";
elsif ((a = '1') and (b = '0') and (c = '1')) then s <= "00100000";
elsif ((a = '0') and (b = '1') and (c = '1')) then s <= "01000000";
else s <= "10000000";
end if;
end process;
end decode;
c) Case
Código fonte:
library IEEE;
library ieee;
use ieee.std_logic_1164.all;
entity decodificador is
port(entrada:in std_logic_vector (0 to 2);
saida:out std_logic_vector (0 to 7));
end decodificador;
architecture decode of decodificador is
begin
process(entrada)
begin
case entrada is
when "000" => saida <= "00000001";
when "001" => saida <= "00000010";
when "010" => saida <= "00000100";
when "011" => saida <= "00001000";
when "100" => saida <= "00010000";
when "101" => saida <= "00100000";
when "110" => saida <= "01000000";
when "111" => saida <= "10000000";
when others => saida <= "ZZZZZZZZ";
end case;
end process;
end decode;
d) Portas Lógicas
Código fonte:
library IEEE;
library ieee;
use ieee.std_logic_1164.all;
entity decodificador is
port(a,b,c:in std_logic;
d0,d1,d2,d3,d4,d5,d6,d7:out std_logic);
end decodificador;
architecture decode of decodificador is
begin
d0<= (not a) and (not b) and (not c);
d1<= a and (not b) and (not c);
d2<= (not a) and b and (not c);
d3<= a and b and (not c);
d4<= (not a) and (not b) and c;
d5<= a and (not b) and c;
d6<= (not a) and b and c;
d7<= a and b and c;
end decode;
3. RESULTADOS DE SIMULAÇÃO
Foram utilizadosossoftwaresQuartus11, onde foi realizadaacodificaçãoe coletade
resultadosde compilação, assimcomoo delay e estruturadocircuitoe o AlteraPSimulator
onde foramrealizadasassimulaçõesemsi - simulações temporal e funcional.
O modelode FBGA utilizadofoi oCyclone II.
3.1 Resultadospara o multiplexador:
Foram feitas simulações para todas as abordagens utilizadas na implementação.
Abaixo, segue as figuras com os resultados para todas as simulações realizadas e ao
final uma breve comparação.
a) WITH SELECT
Figura 1: Resultado da compilação
Figura 2: Representação gráfica do circuito
Figura 3: Delay (atraso)
Figura 4: Resultado da simulação temporal
Figura 5: Resultado da simulação funcional
OBS: Na simulação temporal são produzidos pelo simulador uns pulsos de sinal. Eles se dão
devido a mudança de estado de 2 ou mais entradas ao mesmo tempo. Isso pode ser tratado
fazendo que mudanças de estado e sinais não ocorram ao mesmo tempo.
b) CASE
Figura 6: Resumo da compilação
Figura 7: Representação gráfica do circuito
Figura 8: Delay (atraso)
Figura 9: Resultado da simulação funcional
Figura 10: Resultado da simulação temporal
c) IF – ELSE
Figura 11: Resultado da compilação
Figura 12: Delay (atraso)
Figura 13: Representação gráfica do circuito
Figura 14: Resultado da simulação temporal
Figura 15: Resultado da simulação funcional
d) Lógico
Figura 16: Resultado da compilação
Figura 17: Representação gráfica do circuito
Figura 18: Delay (atraso)
Figura 19: Resultado da simulação funcional
Figura 20: Resultado da simulação temporal
3.1.1 Comparação dos resultadospara todas as abordagens.
Comopodemosverificarnasfiguras acima, os resultados das simulações no Altera AP
Simulatorforam iguais para todas as abordagens implementadas. Isso mostra que os códigos
fontes estão corretos, pois produziram os mesmos resultados.
Apesar das diferentes formas usadas para se implementar o circuito multiplexador,
não houve diferenças nos dados coletados na compilação e nem no delay. Podemos notar
apenasdiferençasnarepresentaçãodocircuito.UtilizandoasimplementaçõescomIF e lógico,
vemosque o circuitoficamaiscomplexoe consequentemente ocupamaisespaçofisicamente.
3.2 Decodificador
Foram feitassimulaçõesparatodasas abordagensutilizadasnaimplementação.
Abaixo,segue asfigurascomosresultadosparatodas as simulaçõesrealizadase ao
final umabreve comparação.
a) WithSelect
Figura 21: Resumo de compilação no Quartus II
Figura 22: Delay (atraso)
Figura 23: RTL do circuito
Figura 24: Simulação funcional
Figura 24: Simulação temporal
b) CASE
Figura 26: Resumo de compilação
Figura 27: Delay(atraso)
Figura 28: RTL do circuito
Figura 29: Simulação funcional
Figura 30: Simulação temporal
c) IF – ELSE
Figura 31: Resumo de compilação no Quartus II
Figura 32: Delay (atraso)
Figura 33: RTL do circuito
Figura 34: Simulação funcional
Figura 35: Simulação temporal
d) Portas Lógicas
Figura 36: Resumo de compilação no Quartus II
Figura 37: Delay(atraso)
Figura 38: RTL do circuito
Figura 39: Simulação funcional
Figura 40: Simulação temporal
3.2.1 Comparação dos resultadospara todas as abordagens.
Da mesma forma que no multiplexador, os resultados das simulações no Altera AP
Simulatorsãoiguais para todas as abordagens e formas de implementação. Já nos resultados
obtidosnoQuartus,podemosnotar diferençasnoDelaye narepresentaçãográficadocircuito.
Isso se deu pela diferença na forma de implementação para as abordagens com SECECT, IF-
ELSE e CASE, PORTAS LÓGICAS.
Na implementação com Portas Lógicas e IF – ELSE, o circuito ficou mais complexo e
consequentemente, mais difícil de se implementar numa placa por exemplo.
4. CONCLUSÃO:
Dentre dificuldades e facilidades encontradas durante a realização do trabalho
podemos citar:
 Durante as simulações no software AP Simulator, foi possível notar que não havia
necessidadede se efetuarosdoistiposde simulações(funcionale temporal), jáque os
resultados eram iguais para todas as abordagens e havia apenas necessidade de
conferência da solução (se estava correta ou não). Essa conferência também poderia
ser feita pelo RTL Viewer no Quartus, tendo como base alguma das implementações
que já se havia conferido.
 Por simplicidade da representação do circuito, recomendamos o uso das abordagens
com SELECT ou CASE.
 Quanto à implementação dos códigos VHDL, há uma equivalência quanto ao grau de
dificuldade. A implementação usando CASE exige o uso do recurso “PROCESS” da
linguagem, para que seja compilado com sucesso.
 Dificuldades iniciais para seguir os passos desde a codificação até a simulação.
Apesar das dificuldades, após pega a prática, o trabalho transcorreu bem e pode ser
terminado sem muita dificuldade e dentro do prazo. Os resultados foram produzidos como
esperado. A prática no geral foi útil e importante para fixar o conteúdo e ter uma noção do
funcionamento prático dos circuitos estudados.

Mais conteúdo relacionado

Mais procurados

Utilizando um Display de LCD
Utilizando um Display de LCDUtilizando um Display de LCD
Utilizando um Display de LCDRodrigo Almeida
 
Leitura de teclas com arranjo matricial
Leitura de teclas com arranjo matricialLeitura de teclas com arranjo matricial
Leitura de teclas com arranjo matricialRodrigo Almeida
 
TDC2013 Otimizando-C
TDC2013 Otimizando-CTDC2013 Otimizando-C
TDC2013 Otimizando-Cosmarcf
 
Principais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorizaçãoPrincipais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorizaçãoIntel Software Brasil
 
Cartao referencia ccs
Cartao referencia ccsCartao referencia ccs
Cartao referencia ccsLuciano Zica
 

Mais procurados (9)

Utilizando um Display de LCD
Utilizando um Display de LCDUtilizando um Display de LCD
Utilizando um Display de LCD
 
Leitura de teclas com arranjo matricial
Leitura de teclas com arranjo matricialLeitura de teclas com arranjo matricial
Leitura de teclas com arranjo matricial
 
Javascript
JavascriptJavascript
Javascript
 
TDC2013 Otimizando-C
TDC2013 Otimizando-CTDC2013 Otimizando-C
TDC2013 Otimizando-C
 
Lab7 fsm
Lab7 fsmLab7 fsm
Lab7 fsm
 
Principais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorizaçãoPrincipais conceitos e técnicas em vetorização
Principais conceitos e técnicas em vetorização
 
Portas lógicas
Portas lógicasPortas lógicas
Portas lógicas
 
Cartao referencia ccs
Cartao referencia ccsCartao referencia ccs
Cartao referencia ccs
 
Canais Assíncronos I
Canais Assíncronos ICanais Assíncronos I
Canais Assíncronos I
 

Semelhante a Relatório multiplexadores e decodificadores

Mini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosMini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosSuzana Viana Mota
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptxfmtpereira
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoJuan Manoel
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoArticacc, Lda
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraPotiLivre Sobrenome
 
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoArduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoFernando Passold
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerGlobalcode
 
Acesso à memória e registros
Acesso à memória e registrosAcesso à memória e registros
Acesso à memória e registrosRodrigo Almeida
 
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)Intel Software Brasil
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosRodrigo Almeida
 
Prototipagem de Sistemas Digitais - Introdução a VHDL
Prototipagem de Sistemas Digitais - Introdução a VHDLPrototipagem de Sistemas Digitais - Introdução a VHDL
Prototipagem de Sistemas Digitais - Introdução a VHDLBrito Filho
 
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Cláudio Alves
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicampFrancisco Fambrini
 

Semelhante a Relatório multiplexadores e decodificadores (20)

Mini Curso Sistemas Embarcados
Mini Curso Sistemas EmbarcadosMini Curso Sistemas Embarcados
Mini Curso Sistemas Embarcados
 
Microcontroladores PIC.pptx
Microcontroladores PIC.pptxMicrocontroladores PIC.pptx
Microcontroladores PIC.pptx
 
Introdução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduinoIntrodução à eletronica e robótica com arduino
Introdução à eletronica e robótica com arduino
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
 
Arq orgcom (1)
Arq orgcom (1)Arq orgcom (1)
Arq orgcom (1)
 
Workshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - FarruscoWorkshop iniciação à robótica - Farrusco
Workshop iniciação à robótica - Farrusco
 
Treinamento arduino (1).pptx
Treinamento arduino (1).pptxTreinamento arduino (1).pptx
Treinamento arduino (1).pptx
 
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio OliveiraMinicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
 
Contadorgray
ContadorgrayContadorgray
Contadorgray
 
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoArduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
 
26-aula26.pdf
26-aula26.pdf26-aula26.pdf
26-aula26.pdf
 
Arduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius SengerArduino Hack Day por Vinicius Senger
Arduino Hack Day por Vinicius Senger
 
Acesso à memória e registros
Acesso à memória e registrosAcesso à memória e registros
Acesso à memória e registros
 
Slides 9 erm
Slides 9 ermSlides 9 erm
Slides 9 erm
 
Introdução a plataforma arduino
Introdução a plataforma arduinoIntrodução a plataforma arduino
Introdução a plataforma arduino
 
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
Palestra: Computação Paralela na SECOMP 2013 (UNIFEI)
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcados
 
Prototipagem de Sistemas Digitais - Introdução a VHDL
Prototipagem de Sistemas Digitais - Introdução a VHDLPrototipagem de Sistemas Digitais - Introdução a VHDL
Prototipagem de Sistemas Digitais - Introdução a VHDL
 
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
Microcontroladores pic lingc unicamp-150206140414-conversion-gate02
 
Microcontroladores pic ling c unicamp
Microcontroladores pic ling c unicampMicrocontroladores pic ling c unicamp
Microcontroladores pic ling c unicamp
 

Último

6°ano Uso de pontuação e acentuação.pptx
6°ano Uso de pontuação e acentuação.pptx6°ano Uso de pontuação e acentuação.pptx
6°ano Uso de pontuação e acentuação.pptxErivaldoLima15
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasRicardo Diniz campos
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfEyshilaKelly1
 
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do  3ANO fundamental 1 MG.pdfPLANEJAMENTO anual do  3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdfProfGleide
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Gametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoGametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoCelianeOliveira8
 
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfAnaGonalves804156
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
Slides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfSlides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfpaulafernandes540558
 
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASQUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASEdinardo Aguiar
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoSilvaDias3
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxLuizHenriquedeAlmeid6
 
Linguagem verbal , não verbal e mista.pdf
Linguagem verbal , não verbal e mista.pdfLinguagem verbal , não verbal e mista.pdf
Linguagem verbal , não verbal e mista.pdfLaseVasconcelos1
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESPRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESpatriciasofiacunha18
 
Baladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxBaladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxacaciocarmo1
 
Mapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdfMapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdfangelicass1
 

Último (20)

6°ano Uso de pontuação e acentuação.pptx
6°ano Uso de pontuação e acentuação.pptx6°ano Uso de pontuação e acentuação.pptx
6°ano Uso de pontuação e acentuação.pptx
 
Mesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecasMesoamérica.Astecas,inca,maias , olmecas
Mesoamérica.Astecas,inca,maias , olmecas
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdf
 
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do  3ANO fundamental 1 MG.pdfPLANEJAMENTO anual do  3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Gametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e femininoGametogênese, formação dos gametas masculino e feminino
Gametogênese, formação dos gametas masculino e feminino
 
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
Slides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfSlides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdf
 
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASQUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basico
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
 
Linguagem verbal , não verbal e mista.pdf
Linguagem verbal , não verbal e mista.pdfLinguagem verbal , não verbal e mista.pdf
Linguagem verbal , não verbal e mista.pdf
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESPRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
 
Baladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxBaladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptx
 
Mapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdfMapas Mentais - Português - Principais Tópicos.pdf
Mapas Mentais - Português - Principais Tópicos.pdf
 

Relatório multiplexadores e decodificadores

  • 1. UNIVERSIDADE FEDERAL DE SERGIPE (UFS) CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (CCET) DEPARTAMENTO DE COMPUTAÇÃO (DCOMP) DISCIPLINA: LABORATÓRIO DE CIRCUITOS II PROFESSOR: EDWARD MORENO RELATÓRIO PRATICAS 1 E 2 MULTIPLEXADOR E DECODIFICADOR Por Flavio de Oliveira Rodrigues Diogo Teobaldo dos Santos Data: 30/11/2014 Prática DATA: 06/11/2014 Entrega
  • 2. 1. INTRODUÇÃO: Este relatório descreve as práticas realizadas em laboratório nos dias 23/10 e 30/10 que tiveram por objetivo reforçar e fixar o aprendizado do conteúdo da disciplina Circuitos Digitais II ministrado em sala de aula. Foram utilizados os softwares especificados para a realização das atividades e não foram realizados experimentos em circuitos físicos. 2. DESCRIÇÃO PRINCIPAL DA ATIVIDADE As práticas consistiram de demonstrar o funcionamento e simular os resultados gerados nos circuitos Multiplexador e Decodificador. 2.1 Multiplexador: O circuito Multiplexador é usado para juntar (multiplexar) vários sinais de entrada e transformá-loemumúnicosinal de saída.Esse sinal de saída contém os sinais de entrada que são alternados através de alguma constante - tempo e frequência, por exemplo. No caso da nossa simulação, uma variável de controle é usada para selecionar um desses sinais quando desejamos apresenta-lo. Foram utilizados 4 sinais de entrada (x1, x2, x3, x4), uma saída (s) e uma variável do tipo vetor (sel) de 2 bits que é usada para selecionar o sinal a ser exibido na saída. 2.1.1 Metodologia aplicada: Seguimos os seguintes passos:  Criação de um projeto em uma pasta específica para cada abordagem utilizada;  Implementação do código VHDL (um código para cada abordagem);  Compilação;  Verificação do RTL (diagrama do circuito);  Teste no simulador;  Verificação dos resultados funcional e temporal. 2.1.2 Abordagens: Foram utilizadas 4 abordagens na implementação do multiplexador. Para cada uma delas, obviamente, foi gerado um código VHDL. a) With select: Códigofonte: libraryIEEE; use IEEE.std_logic_1164.all;
  • 3. entitymultiplexadoris port(x1,x2,x3, x4: IN std_logic; sel : IN std_logic_vector(1downto0); s : OUT std_logic); endentity; architecture mux of multiplexadoris begin WITH (sel) select s <= x1 WHEN "00", x2 WHEN "01", x3 WHEN "10", x4 WHEN "11", '0' Whenothers; endmux; b) CASE Códigofonte: libraryIEEE; use IEEE.std_logic_1164.all; entity multiplexador_case is port(x1,x2,x3, x4: IN std_logic; sel : IN std_logic_vector(1downto0); s : OUT std_logic); endentity; architecture mux of multiplexador_case is begin mux:PROCESS(sel,x1,x2,x3, x4) begin CASE sel IS WHEN "00" => s <= x1; WHEN "01" => s <= x2; WHEN "10" => s <= x3; WHEN "11" => s <= x4; WHEN OTHERS => s <= 'X'; END CASE; endPROCESSmux; endmux; c) IF – ELSE Códigofonte: libraryIEEE; use IEEE.std_logic_1164.all;
  • 4. entitymultiplexador_if is port(x1,x2,x3, x4: IN std_logic; sel : IN std_logic_vector(1downto0); s : OUT std_logic); endentity; architecture mux of multiplexador_if is begin mux:PROCESS(sel,x1,x2,x3, x4) begin IF (sel = "00") THEN s <= x1; ELSIF(sel = "01") THEN s <= x2; ELSIF(sel = "10") THEN s <= x3; ELSIF(sel = "11") THEN s <= x4; ELSE -- (s0 or s1 are not0 or 1) s <= 'X'; END IF; endPROCESSmux; endmux; d) Lógico Códigofonte: libraryIEEE; use IEEE.std_logic_1164.all; entitymultiplexador_logicois port(x1,x2,x3, x4: IN std_logic; sel : IN std_logic_vector(1downto0); s : OUT std_logic); endentity; architecture mux of multiplexador_logicois begin s <= x1 WHEN sel = "00" ELSE x2 WHEN sel = "01" ELSE x3 WHEN sel = "10" ELSE x4 WHEN sel = "11" ELSE 'X'; endmux;
  • 5. 2.2 Decodificador Um Decodificador é um circuito lógico combinatório onde se recebe um conjunto de entrada,que representa um número binário, e ativa em alto apenas a saída que corresponde ao númerorecebido.Podemosdizer que decodificador é o circuito inverso ao multiplexador. Foram utilizadas formas de implementação, uma para as abordagens com SELECT e CASE, na qual utilizamos 2 vetores (entrada com 3 posições e saída com 8 posições) e outra para IF-ELSE e Portas Lógicas, onde foram utilizadas 3 entradas (a, b, c) e 8 saídas (d0, d1, d2, d3, d4, d5, d6, d7). Diferente do multiplexador, onde tínhamos uma variável para “setar” um sinal na saída,no decodificador,asaídaé determinadapelacombinaçãodas próprias entradas (vetor entrada ou a, b, c), em todas as implementações feitas. 2.2.1 Metodologia aplicada: Seguimos os seguintes passos:  Criação de um projeto em uma pasta específica para cada abordagem utilizada;  Implementação do código VHDL (um código para cada abordagem);  Compilação;  Verificação do RTL (diagrama do circuito);  Teste no simulador;  Verificação dos resultados funcional e temporal. 2.2.2 Abordagens: Foram utilizadas 4 abordagens na implementação do multiplexador. Para cada uma delas, obviamente, foi gerado um código VHDL. Sendo elas: a) With Select Código fonte: library IEEE; library ieee; use ieee.std_logic_1164.all; entity decodificador is port(entrada:in std_logic_vector (0 to 2); saida:out std_logic_vector (0 to 7)); end decodificador; architecture decode of decodificador is begin with entrada select saida <= "00000001" when "000",
  • 6. "00000010" when "001", "00000100" when "010", "00001000" when "011", "00010000" when "100", "00100000" when "101", "01000000" when "110", "10000000" when "111", "ZZZZZZZZ" when others; end decode; b) IF Else Código fonte: library IEEE; library ieee; use ieee.std_logic_1164.all; entity decodificador is port(a, b, c:in std_logic; s:out std_logic_vector (7 downto 0)); end decodificador; architecture decode of decodificador is begin process(a, b, c) begin if ((a = '0') and ( b = '0') and (c = '0')) then s <= "00000001"; elsif (a = '1' and (b = '0') and (c = '0')) then s <= "00000010"; elsif ((a = '0') and (b = '1') and (c = '0')) then s <= "00000100"; elsif ((a = '1') and (b = '1') and (c = '0')) then s <= "00001000"; elsif ((a = '0') and (b = '0') and (c = '1')) then s <= "00010000"; elsif ((a = '1') and (b = '0') and (c = '1')) then s <= "00100000"; elsif ((a = '0') and (b = '1') and (c = '1')) then s <= "01000000"; else s <= "10000000"; end if; end process; end decode; c) Case Código fonte: library IEEE; library ieee;
  • 7. use ieee.std_logic_1164.all; entity decodificador is port(entrada:in std_logic_vector (0 to 2); saida:out std_logic_vector (0 to 7)); end decodificador; architecture decode of decodificador is begin process(entrada) begin case entrada is when "000" => saida <= "00000001"; when "001" => saida <= "00000010"; when "010" => saida <= "00000100"; when "011" => saida <= "00001000"; when "100" => saida <= "00010000"; when "101" => saida <= "00100000"; when "110" => saida <= "01000000"; when "111" => saida <= "10000000"; when others => saida <= "ZZZZZZZZ"; end case; end process; end decode; d) Portas Lógicas Código fonte: library IEEE; library ieee; use ieee.std_logic_1164.all; entity decodificador is port(a,b,c:in std_logic; d0,d1,d2,d3,d4,d5,d6,d7:out std_logic); end decodificador; architecture decode of decodificador is begin d0<= (not a) and (not b) and (not c); d1<= a and (not b) and (not c); d2<= (not a) and b and (not c); d3<= a and b and (not c); d4<= (not a) and (not b) and c;
  • 8. d5<= a and (not b) and c; d6<= (not a) and b and c; d7<= a and b and c; end decode; 3. RESULTADOS DE SIMULAÇÃO Foram utilizadosossoftwaresQuartus11, onde foi realizadaacodificaçãoe coletade resultadosde compilação, assimcomoo delay e estruturadocircuitoe o AlteraPSimulator onde foramrealizadasassimulaçõesemsi - simulações temporal e funcional. O modelode FBGA utilizadofoi oCyclone II. 3.1 Resultadospara o multiplexador: Foram feitas simulações para todas as abordagens utilizadas na implementação. Abaixo, segue as figuras com os resultados para todas as simulações realizadas e ao final uma breve comparação. a) WITH SELECT Figura 1: Resultado da compilação
  • 9. Figura 2: Representação gráfica do circuito Figura 3: Delay (atraso) Figura 4: Resultado da simulação temporal
  • 10. Figura 5: Resultado da simulação funcional OBS: Na simulação temporal são produzidos pelo simulador uns pulsos de sinal. Eles se dão devido a mudança de estado de 2 ou mais entradas ao mesmo tempo. Isso pode ser tratado fazendo que mudanças de estado e sinais não ocorram ao mesmo tempo. b) CASE Figura 6: Resumo da compilação
  • 11. Figura 7: Representação gráfica do circuito Figura 8: Delay (atraso) Figura 9: Resultado da simulação funcional
  • 12. Figura 10: Resultado da simulação temporal c) IF – ELSE Figura 11: Resultado da compilação Figura 12: Delay (atraso)
  • 13. Figura 13: Representação gráfica do circuito Figura 14: Resultado da simulação temporal
  • 14. Figura 15: Resultado da simulação funcional d) Lógico Figura 16: Resultado da compilação
  • 15. Figura 17: Representação gráfica do circuito Figura 18: Delay (atraso) Figura 19: Resultado da simulação funcional
  • 16. Figura 20: Resultado da simulação temporal 3.1.1 Comparação dos resultadospara todas as abordagens. Comopodemosverificarnasfiguras acima, os resultados das simulações no Altera AP Simulatorforam iguais para todas as abordagens implementadas. Isso mostra que os códigos fontes estão corretos, pois produziram os mesmos resultados. Apesar das diferentes formas usadas para se implementar o circuito multiplexador, não houve diferenças nos dados coletados na compilação e nem no delay. Podemos notar apenasdiferençasnarepresentaçãodocircuito.UtilizandoasimplementaçõescomIF e lógico, vemosque o circuitoficamaiscomplexoe consequentemente ocupamaisespaçofisicamente. 3.2 Decodificador Foram feitassimulaçõesparatodasas abordagensutilizadasnaimplementação. Abaixo,segue asfigurascomosresultadosparatodas as simulaçõesrealizadase ao final umabreve comparação. a) WithSelect
  • 17. Figura 21: Resumo de compilação no Quartus II Figura 22: Delay (atraso)
  • 18. Figura 23: RTL do circuito
  • 19. Figura 24: Simulação funcional Figura 24: Simulação temporal b) CASE
  • 20. Figura 26: Resumo de compilação Figura 27: Delay(atraso)
  • 21. Figura 28: RTL do circuito
  • 22. Figura 29: Simulação funcional Figura 30: Simulação temporal c) IF – ELSE
  • 23. Figura 31: Resumo de compilação no Quartus II Figura 32: Delay (atraso)
  • 24. Figura 33: RTL do circuito Figura 34: Simulação funcional
  • 25. Figura 35: Simulação temporal d) Portas Lógicas Figura 36: Resumo de compilação no Quartus II
  • 26. Figura 37: Delay(atraso) Figura 38: RTL do circuito
  • 27. Figura 39: Simulação funcional Figura 40: Simulação temporal 3.2.1 Comparação dos resultadospara todas as abordagens. Da mesma forma que no multiplexador, os resultados das simulações no Altera AP Simulatorsãoiguais para todas as abordagens e formas de implementação. Já nos resultados obtidosnoQuartus,podemosnotar diferençasnoDelaye narepresentaçãográficadocircuito. Isso se deu pela diferença na forma de implementação para as abordagens com SECECT, IF- ELSE e CASE, PORTAS LÓGICAS. Na implementação com Portas Lógicas e IF – ELSE, o circuito ficou mais complexo e consequentemente, mais difícil de se implementar numa placa por exemplo.
  • 28. 4. CONCLUSÃO: Dentre dificuldades e facilidades encontradas durante a realização do trabalho podemos citar:  Durante as simulações no software AP Simulator, foi possível notar que não havia necessidadede se efetuarosdoistiposde simulações(funcionale temporal), jáque os resultados eram iguais para todas as abordagens e havia apenas necessidade de conferência da solução (se estava correta ou não). Essa conferência também poderia ser feita pelo RTL Viewer no Quartus, tendo como base alguma das implementações que já se havia conferido.  Por simplicidade da representação do circuito, recomendamos o uso das abordagens com SELECT ou CASE.  Quanto à implementação dos códigos VHDL, há uma equivalência quanto ao grau de dificuldade. A implementação usando CASE exige o uso do recurso “PROCESS” da linguagem, para que seja compilado com sucesso.  Dificuldades iniciais para seguir os passos desde a codificação até a simulação. Apesar das dificuldades, após pega a prática, o trabalho transcorreu bem e pode ser terminado sem muita dificuldade e dentro do prazo. Os resultados foram produzidos como esperado. A prática no geral foi útil e importante para fixar o conteúdo e ter uma noção do funcionamento prático dos circuitos estudados.