Sunteți pe pagina 1din 9

UNIVERSIDADE FEDERAL DE SERGIPE (UFS) CENTRO DE CINCIAS EXATAS E TECNOLGICAS (CCET) DEPARTAMENTO DE COMPUTAO (DCOMP)

DISCIPLINA: LAB. DE CIRCUITOS DIGITAIS II PROFESSOR: EDWARD DAVID MORENO ORDOEZ

RELATRIO DE AULA PRTICA N (Prtica 01 - LCDII) Estrutura Multiplexador 2x1 Por NOME(S) DO(S) ALUNO(S) Diego Eduardo Alcantara Quelita Arajo

DATA (29/03/2011) Prtica

DATA (05/04/2011) Entrega

1-Introduo Segundo Ordonez et al. (2003, p. 38) O Multiplexador uma funo de um circuito combinacional que tem por objetivo a realizao de conexes entre os diversos operadores lgicos e aritmticos. Ou seja, a partir da conexo estabelecida pelo multiplexador com as variveis de entrada, obtm-se os valores da sada do circuito. Dessa forma, o objetivo principal da prtica realizada no laboratrio de Circuitos Digitais II Implementao da estrutura de um multiplexador 2x1 atravs da utilizao dos quatro comandos de execuo VHDL a seguir: With Select; If Else; PortasLogicas; Case. Mesquita et al. (p. 22) Cita que Um multiplexador um circuito com mltiplas entradas e um nica sada. Entradas de seleo, endereos, so utilizadas para controlar qual sinal de entrada ser colocado na sada do circuito. Um multiplexador tambm pode ser denominado de seletor de dados. O nmero de entradas de seleo de um multiplexador (MUX) determina o nmero mximo de entradas que tal circuito pode ter, ou seja:
n

M=2 Onde: M = nmero de entradas do MUX. N = nmero de bits de seleo do multiplexador. Sabe-se ento que, o multiplexador 2x1 possui as seguintes caractersticas: A presena de dois sinais lgicos de entrada e1 e e2, um de sada s e um de seleo sel. A funo lgica selecionar um desses sinais de entrada e1 ou e2 atravs do sinal de seleo sel, atribuindo a sada s o sinal de entrada desejado. Como mostrado nas portas lgicas (figura 1) e a lgica do circuito na tabela verdade (figura 2).
E1

sel S 0 E1 1 E2
Figura 2: Tabela Verdade

sel E 2

Figura 1: Portas Logicas do Multiplexador 2x1

2-Descrio Principal da atividade No Laboratrio foi proposto implementao do Multiplexador 2x1 utilizando as abordagens apresentadas abaixo: Instrues WITH SELECT da Linguagem VHDL
library ieee; use ieee.std_logic_1164.all; entity WhithSelect is port (e1,e2,sel: in std_logic; s: out std_logic); end WhithSelect; architecture arch_mult2x1 of WhithSelect is begin with sel select Escrevemos o cdigo VHDL s <= e1 when '0', Quandoe2 no others; when encontramos erros end arch_mult2x1;

Figura 3: TPD no programa Quartus II, e compilamos pra ver se tinha algum erro. algum procuramos as funcionalidades do algoritmo T`PD, RTL

Tabela 1: Codigo WhitSelect

VIEW, Simulao por tempo e Simulao Funcional no Quartus. Por tanto, acima pode-se observar o cdigo referente instruo VHDL WITH SELECT e na figura (3) temos o TPD que consiste no intervalo de tempo mnimo e mximo para um sinal propagar de um pino de entrada do circuito ate um pino de sada. Depois, criamos um arquivo Vector Waveform para formar as ondas e analisar a simulao por tempo (figura 4) que aplicada para verificar as caractersticas de temporizao, que so inerentes construo interna do FPGA usado e da forma como o projeto construdo dentro do chip; ou seja, simulao temporal verifica o funcionamento real do projeto conforme o CPDEE define. Como tambm observamos a simulao funcional (figura 5) para Verificar se a funcionalidade do projeto desenvolvido est correta; em outras palavras, a simulao funcional verifica a lgica, conceitua o CPDEE. Notamos que na simulao funcional ocorre um atraso no processo comparado simulao por tempo, pois, h uma complexidade maior no processamento da lgica de um chip. Sendo assim, iremos analisar segundo as informaes do TPD, Simulao Funcional e por tempo cada uma das implementaes realizadas no laboratrio e ver qual o melhor desempenho entre elas.

Figura 4: Simulao por Tempo

Figura 5: Simulao Funcional

Instruo IF-THEN-ELSE da Linguagem VHDL

Repetimos o mesmo processo nas demais instrues VHDL, e verificamos que o TPD das instrues With Select e IF-THEN-ELSE possuem o mesmo intervalo de tempo, ou seja, no encontramos variaes. Consequentemente, a simulao por tempo e funcional apresentaram as mesmas caractersticas para ambas as instrues. Desse modo, conclumos que o desempenho das instrues equivalente.
library ieee; use ieee.std_logic_1164.all; entity IfThenElse is port (e1,e2,sel: in std_logic; s: out std_logic); end IfThenElse; architecture arch_mult2x1 of IfThenElse is begin process (e1,e2,sel) begin if sel = '0' then s<=e1; else s<=e2; end if; end process; end arch_mult2x1;

Figura 6: TPD

Tabela 2: Cdigo IfThenElse

Figura 8: Simulao por tempo

Figura 7: Simulao Funcional

Instruo CASE

Na instruo CASE verificamos o mesmo resultado do With Select e IF-THEN-ELSE. Desse modo, tambm conclumos que o desempenho das instrues equivalente.
library ieee; use ieee.std_logic_1164.all; entity CaseMulti is port (e1,e2,sel: in std_logic; s: out std_logic); end CaseMulti; architecture arch_mult2x1 of CaseMulti is begin process (e1,e2,sel) begin case sel is when '0' => s <= e1; when others => s <= e2; end case; end process;

Figura 9: TPD

Tabela 3: Cdigo Case

end arch_mult2x1;

Figura 10: Simulao por Tempo

Figura 11: Simulao Funcional

Instrues em Portas Lgicas do Multiplexador 2x1

Verificamos nessa implementao VHDL com portas lgicas que houve uma diferena no TPD entre as implementaes anteriores. O intervalo de tempo mnimo e mximo para um sinal propagar de um pino de entrada do circuito ate um pino de sada foi de aproximadamente 0,012 ns maior, library ieee; conclumos ento, que o pior tempo entre elas, apesar da diferena ser mnima. use ieee.std_logic_1164.all;
entity ptlogica is port(e1,e2,sel: in std_logic; s: out std_logic); end ptlogica; architecture arch_ptlogica of ptlogica is begin s<= (e1 and not (sel)) or (e2 and sel); end arch_ptlogica;

Figura 12: TPD

Tabela 4: Cdigo portas lgicas

Figura 13: Simulao por tempo

Figura 14: Simulao Funcional

3-Resultados de Simulao

Figura 15: Flow Summary

O Flow Summary (figura 15) foi captado de todas as implementaes e todas tiveram as mesmas caractersticas. A verso do Quartus II 9.0 mostra que o circuito foi sintetizado, com sucesso, para o dispositivo EP2C35F672C6 da famlia Cyclone II com uso de 1 dos 33.216 elementos lgicos. E 4 pinos utilizados do total de 475.

Figura 17: RTL VIEW With Select Figura 16: RTL VIEW - Case

Figura 18: RTL Portas Lgicas

Figura 19: RTL If-Then-Else

As figuras (16,17,18,19) representadas acima mostram as portas lgicas dos circuitos digitais. Aps a implementao em cdigo VHDL, habilitamos no Quartos a funcionalidade tools -> Netlist Viewers -> RTL VIEW para ver a representao esquemtica do algoritmo VHDL, que pode ser usado para analisar a estrutura do projeto antes da fase de modelagem de comportamento, de sntese, colocao e encaminhamento. Para fazer um comparao entre elas, colocamos de maneira perceptvel cada uma delas. Notamos que, o multiplexador 2x1 em qualquer cdigo VHDL apresenta a mesma caracterstica, o mesmo numero de entradas, o mesmo modelo de portas lgicas. E no circuito implementado com portas lgicas obteve a diferena de apresentar a descrio com portas lgicas abertas, ou seja, as portas lgicas esto visveis. Para finalizar fizemos o multiplexador 4x1.

Figura 16: Summary Multiplex 4x1

Aps isso iniciamos com o VHDL File para incluir o cdigo do Multiplexador 4x1.
ARCHITECTURE arch OF MultiPlex4x1 IS BEGIN WITH sel SELECT s <= e1 WHEN "00", e2 WHEN "01", e3 WHEN "10", e4 WHEN "11", '0' WHEN OTHERS; END arch;

library ieee; use ieee.std_logic_1164.all; ENTITY MultiPlex4x1 IS PORT( e1, e2, e3, e4: IN STD_LOGIC; sel: IN STD_LOGIC_VECTOR(1 DOWNTO 0); s: OUT STD_LOGIC); END MultiPlex4x1;

Tabela 4: Cdigo Multiplex4x1

Como podemos ver o Multiplexador4x1 utilizado foi o with select. E como respostas obtivemos o seguinte:

Figura 17: Flow Summary Multiplex 4x1

O Flow Summary (figura 16) foi captado de todas as implementaes e todas tiveram as mesmas caractersticas. A verso do Quartus II 9.0 mostra que o circuito multiplexador 4x1 foi sintetizado, com sucesso, para o dispositivo EP2C35F672C6 da famlia Cyclone II com uso de 2 dos 33.216 elementos lgicos. E 7 pinos utilizados do total de 475.

Figura 18: TPD Multiplex 4x1

Figura 19: RTL Multiplex 4x1

Aps escrevemos o cdigo VHDL no programa Quartus II, e compilarmos pra ver se tinha algum erro. Quando no encontramos erros algum procuramos as funcionalidades do algoritmo TPD, RTL VIEW, Simulao por tempo e Simulao Funcional no Quartus. Por tanto, acima pode-se observar

o TPD que consiste no intervalo de tempo mnimo e mximo para um sinal propagar de um pino de entrada do circuito ate um pino de sada. Onde temos a maior entrada em e1 com 11.894 ns e menor entrada em e3 com 5.988 ns. Sobre RTL podemos visualizar como ficou arrumado s entradas e sada no circuito. Para finalizar o Multiplexador 4x1 foi tentado fazer as ondas, onde no obtivemos xito j que essa parte do relatrio do 4x1 foi feito no computador particular e com isso no conseguimos listar os ns necessrios para fazer as ondas. Segue a imagem abaixo do problema encontrado.

Figura 19: RTL Multiplex 4x1 Como no tivemos de fazer outro relatrio essa semana, retomamos o trabalho para ver se conseguamos realizar a insero dos ns. E tivemos xito dessa vez. Abaixo est a imagem da sada do WaveForm com a simulao por tempo.

E ainda a Simulao funcional:

Com isso finalizamos esse primeiro relatrio. Segue a concluso abaixo.

4-Concluso Conclui-se ento que todos os comandos de execuo so equivalentes no quesito de desempenho e so eficazes na velocidade dos dados propagarem de um pino de entrada do circuito ate um pino de sada do circuito Multiplexador 2x1. A diferena da implementao com portas lgicas , de maneira geral, insignificante pois, a diferena do intervalo de tempo foi muito pequena. Chegamos ao resultado que a velocidade total da propagao dos dados da entrada sada foi de 19,967 ns nas implementaes If-then_else, With-Select e Case. Na porta lgica o total foi de 20,003 ns. As dificuldades encontradas para implementao do multiplexador 2x1 no laboratrio que no tnhamos conhecimento das funcionalidades do programa Quartus. Da, tivemos que aprender na hora e tambm, o tempo de 2 horas de aula pouco para fazer todas as implementaes propostas. As facilidades de cada etapa do trabalho que a gente j conhecia os cdigos e o professor nos auxiliava a todo o momento.

Referencias CPDEE. QUARTUS II DESENVOLVIMENTO DE PROJETOS VIA ESQUEMTICO. Disponvel em: http://www.cpdee.ufmg.br/~frank/lectures/SPP/SPP-Tutorial_quartus2_v1-1.pdf, acesso em 02 abril 2011. MESQUITA, L; BOTURA. G; ROCHA, P. M. S. LABORATRIO DE ELETRNICA DIGITAL. Disponvel em: http://www.sorocaba.unesp.br/professor/assimoes/cdgi/downloads/apostilas/lab1_experimento05.pd f, acesso 02 abril 2011. ORDONEZ, E. D. M; PEREIRA, F. D; PENTEADO, C. G.; PERICINI, R. A. Projeto, Desempenho e Aplicaes de Sistemas Digitais em Circuitos Programveis (FPGA). Ed Bless, 2003.

S-ar putea să vă placă și