Você está na página 1de 13

Experimento 2:

Programao em VHDL associada a kit experimental


Disciplina: EN3723 Lgica Programvel.

Discentes:
Fernando Henrique Gomes Zucatelli
Fernando Soler
Turma: A/Diurno
Prof . Dr. Rodrigo Reina Muoz

Santo Andr, 11 de Novembro 2014.

2
1. OBJETIVOS
Os objetivos deste experimento so simular no software Quartus II e verificar na
placa experimental alguns programas de forma a compreender como a configurao de
hardware deve ser feita no software.

2. PARTE EXPERIMENTAL
Foram projetados 3 circuitos lgicos.

2.1 Decodificador de 7 segmentos


O Decodificar conforme apresentado na Figura 1 consiste de 7 LEDs dispostos de
forma a visualizar o numeral 8 quando todos estiverem ligados e possvel representar
alm dos algarismos de 0 a 9 outros como de A a F para hexadecimal e mais algumas
combinaes.

Figura 1 Decodificador 7 segmentos.

Neste experimento realizamos o cdigo para exibio de 0 a 9, cujos mapas de


Karnaugh para a simplificao do circuito lgico so apresentados entra a Figura 2 e a
Figura 5.

Figura 2 Mapas de Karnaugh LEDs a,b.

Figura 3 Mapas de Karnaugh LEDs c,d.

Figura 4 Mapas de Karnaugh LEDs e,f.

Figura 5 Mapa de Karnaugh LED g.

Reunindo todas as equaes em (1):

a = I 3 + I1 + I 2 ' I 0 ' + I 2 I 0 = I 3 + I1 + ( I 2 I 0 )
b = I 2 ' + ( I1 I 0 )
c = I 2 + I1 ' + I 0
d = I1 I 0 ' + I 2 ' I 0 ' + I 2 ' I1 + I 2 I1 ' I 0
e = I1 I 0 ' + I 2 ' I 0 '
f = I 3 + I 2 I1 ' + I 2 I 0 ' + I1 ' I 0 '
g = I 3 + ( I 2 I1 ) + I1 I 0 '
O programa est no anexo 6.1.

(1)

2.2 .Implementao de um sistema de segurana para um carro


A sirene S deve ser acionada somente com a chave mestra M acionada e
combinada com outras duas situaes, quando a porta D (Door em ingls) estiver aberta
ou quando o sensor de vibrao V for acionado pelo fato do carro estar sendo
empurrado.
A equao lgica que descreve o circuito dada por (2).

S = M ( D + R)

(2)

O programa est no anexo 6.2.

2.3 Circuito lgico que ascender o nmero de lmpadas


correspondente ao valor de 0 a 7.
A Tabela 1 apresenta as combinaes de luzes acessas de acordo com o cdigo
binrio. O programa est no anexo 6.3.
Tabela 1 Nmero de luzes acessas conforma cdigo binrio

num2
0
0
0
0
1
1
1
1

3.

num1
0
0
1
1
0
0
1
1

num0
0
1
0
1
0
1
0
1

luzes1
0
1
1
1
1
1
1
1

luzes2
0
0
1
1
1
1
1
1

luzes3
0
0
0
1
1
1
1
1

luzes4
0
0
0
0
1
1
1
1

luzes5
0
0
0
0
0
1
1
1

luzes6
0
0
0
0
0
0
1
1

luzes7
0
0
0
0
0
0
0
1

Resultados e discusso
Para o correto funcionamento dos circuitos simulados foi necessrio consulta o

catlogo do chip da placa experimental, o Cyclone IV E EP4CE115F29C7.

3.1

Decodificador de 7 segmentos
A Figura 6 apresenta o resultado da simulao para o decodificador de 7 segmentos.
A Figura 7 apresenta 2 fotos da placa para os nmeros 1 e 4 permitindo comparar

com o cdigo binrio descrito pelas chaves de seleo abaixo.

Figura 6 Resultado da simulao.

Figura 7 Resultado na placa.

3.2

Implementao de um sistema de segurana para um carro


A Figura 8 apresenta o resultado da simulao para do sistema de segurana do

carro.
A Figura 9 apresenta o resultado na placa com a luz acessa para a sirene (segunda
luz) quando a chave mestra e o sensor da porta aberta esto acionados (da direita para a
esquerda so as chaves 2 e 3, cuja posio acionada para baixo.).

Figura 8 Resultado da simulao.

Figura 9 Resultado na placa. Porta aberta e sirene disparou.

3.3

Circuito lgico que ascender o nmero de lmpadas


correspondente ao valor de 0 a 7.
A Figura 10 apresenta o resultado da simulao para do circuito de luzes acessas de

acordo com o valor binrio selecionado.


A Figura 11 apresenta o caso em que todas as 7 luzes esto ligadas para as 3
chaves direita para baixo formando o binrio (111)2 = 7 em decimal. A quarta chave est
para cima para indicar seu valor em zero.

Figura 10 Resultado da simulao.

Figura 11 Resultado na placa. 7 Luzes acessas.

4. CONCLUSO
Conclumos que o uso do simulador facilita no desenvolvimento do projeto
permitindo prever os resultados mas algumas configuraes no esto em concordncia
direta com o hardware como o caso das chaves e dos LEDs do display de 7 segmentos,
sendo necessrio corrigir a lgica do acionamento, basicamente inverter os sinais, ou
inverter a interpretao das chaves nas posies ligada e desligada.
A combinao do simulador com a placa experimental essencial para o correto
desenvolvimentos dos projetos em VHDL.

5. REFERNCIAS

Display de 7 segmentos. Disponvel em


:<http://www.sj.ifsc.edu.br/~odilson/ELD/Display%20de%207%20segmentos.pdf>. Acesso
em 02 de Nov. 2014.

DE2 115 Altera, Manual do Usurio. Disponvel em:


<ftp://ftp.altera.com/up/pub/Altera_Material/13.0/Boards/DE2115/DE2_115_User_Manual.pdf>. Acesso em 04 de Nov. 2014.

6. ANEXOS

6.1

Programa 7 Segmentos

Este programa est configurado para acender os respectivos LED de a,...g. Para o
correto uso com o visor de 7 segmentos, basta inverter as valores atribudos para as
variveis de a,...g.
=====
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;

ENTITY LAB_02_ex01 IS
PORT (

I0, I1, I2, I3 : IN BIT;

9
a,b,c,d,e,f,g : OUT BIT
);
END LAB_02_ex01;

-- Descri??o comportamental sequencial com IF

ARCHITECTURE P1 OF LAB_02_ex01 IS
BEGIN
PROCESS (I0, I1, I2, I3)
--VARIABLE a,b,c,d,e,f,g : BIT;
BEGIN
IF I3 = '1' OR
I1 = '1' OR
(I2 XOR I0) = '0'

THEN

a <= '1';
ELSE
a <= '0';
END IF;

IF I2 = '0' OR
(I1 XOR I0) = '0'

THEN

b <= '1';
ELSE
b <= '0';
END IF;

IF I2 = '1' OR
I1 = '0' OR
I0 = '1'

THEN

c <= '1';
ELSE
c <= '0';
END IF;

IF (I1 AND NOT(I0) ) = '1' OR

10
(NOT(I2) AND NOT(I0) ) = '1' OR
(NOT(I2) AND I1 ) = '1' OR
(I2 AND NOT(I1) AND I0 ) = '1' THEN
d <= '1';
ELSE
d <= '0';
END IF;

IF (I1 AND NOT(I0) ) = '1' OR


(NOT(I2) AND NOT(I0) ) = '1' THEN
e <= '1';
ELSE
e <= '0';
END IF;

IF I3 = '1' OR
(I2 AND NOT(I1) ) = '1' OR
(I2 AND NOT(I0) ) = '1' OR
(NOT(I1) AND NOT(I0) ) = '1' THEN
f <= '1';
ELSE
f <= '0';
END IF;

IF I3 = '1' OR
(I1 AND NOT(I0) ) = '1' OR
(I2 XOR I1) = '1' THEN
g <= '1';
ELSE
g <= '0';
END IF;
END PROCESS;
END P1;
=====

11

6.2

Implementao de um sistema de segurana para um carro

=====
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;

ENTITY LAB_02_ex02 IS
PORT (

D, V, M
S

: IN BIT;

: OUT BIT

);
END LAB_02_ex02;

ARCHITECTURE P1 OF LAB_02_ex02 IS
SIGNAL sel :

BIT;

BEGIN
SEL <= D OR V;
S <= SEL AND M;
END P1;
=====

6.3

Circuito lgico que ascender o nmero de lmpadas


correspondente ao valor de 0 a 7.

=====
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;

ENTITY LAB_02_Ex3 IS
PORT ( num0, num1, num2 :

IN BIT;

luz1, luz2, luz3,


luz4, luz5, luz6,
luz7
);

OUT BIT

12
END LAB_02_Ex3;

ARCHITECTURE P1 OF LAB_02_Ex3 IS
SIGNAL LUZES

Bit_Vector (0 TO 6);

BEGIN
PROCESS(num0, num1, num2)
BEGIN

CASE num2 IS
WHEN '0' =>

CASE num1 IS

WHEN '0' =>


CASE num0 IS
WHEN '0' =>
LUZES <= "0000000";
WHEN '1' =>
LUZES <= "1000000";
END CASE;

WHEN '1' =>


CASE num0 IS
WHEN '0' =>
LUZES <= "1100000";
WHEN '1' =>
LUZES <= "1110000";
END CASE;

END CASE;

WHEN '1' =>


CASE num1 IS
WHEN '0' =>
CASE num0 IS

13
WHEN '0' =>
LUZES <= "1111000";
WHEN '1' =>
LUZES <= "1111100";
END CASE;
WHEN '1' =>
CASE num0 IS
WHEN '0' =>
LUZES <= "1111110";
WHEN '1' =>
LUZES <= "1111111";
END CASE;
END CASE;
END CASE;

END PROCESS;
luz1 <= LUZES(0);
luz2 <= LUZES(1);
luz3 <= LUZES(2);
luz4 <= LUZES(3);
luz5 <= LUZES(4);
luz6 <= LUZES(5);
luz7 <= LUZES(6);
END P1;
=====

Você também pode gostar