Você está na página 1de 14

Universidade Federal de Santa Catarina

Centro Tecnolgico CTC


Departamento de Engenharia Eltrica

EEL5105 - Circuitos e Tcnicas Digitais

Prof. Eduardo Augusto Bezerra


Eduardo.Bezerra@ufsc.br

Florianpolis, agosto de 2015.

Circuito mul+plexador - Mux

EEL5105 Circuitos e Tcnicas Digitais

2/14

Obje%vos do laboratrio
1. Entender o conceito de multiplexador.
2. Implementao de multiplexador em VHDL
utilizando apenas funes booleanas (VHDL
estrutural).
3. Implementao de multiplexador em VHDL
utilizando when / else (VHDL comportamental).
4. Estudo de caso: uso de mux no projeto hierrquico
do lab anterior.

EEL5105 Circuitos e Tcnicas Digitais

3/14

Projeto de mul%plexador - MUX 2x1


No circuito, se s = 0, a sada m ser igual a entrada x.
Se s = 1, a sada m ser igual a entrada y.
x
y

0
1

s
(a)

(b)

VHDL estrutural:

m <= (NOT (s) AND x) OR (s AND y)

VHDL comportamental:

m <= x when s = 0 else


y;
EEL5105 Circuitos e Tcnicas Digitais

(c)

4/14

Projeto de mul%plexador - MUX 4x1


w
x
y
z
s1
s0

w
x
y
z

00
01
10
11

m
2 bits

m <= w when s = 00 else


x when s = 01 else
y when s = 10 else
z;
EEL5105 Circuitos e Tcnicas Digitais

5/14

Tarefa a ser realizada na aula prtica


PARTE I Mux 4x1 em VHDL estrutural
PARTE II Mux 4x1 em VHDL comportamental

EEL5105 Circuitos e Tcnicas Digitais

6/14

Reu%lizar os arquivos do lab anterior, e realizar as


alteraes indicadas a seguir (Mux 4x1 no lugar de C4):
topo

C1

C
B
A

F1

SW(2)
SW(1)

Mux 4x1

SW(0)

C2

F2
0

C3

00
01
10
11

LEDR(7)
LEDR(6)
LEDR(5)
LEDR(4)
LEDR(3)
LEDR(2)
LEDR(1)
LEDR(0)

F
2 bits

F3
Seleo
SW(9..8)

EEL5105 Circuitos e Tcnicas Digitais

7/14

Descrio da tarefa: PARTE I VHDL estrutural


Utilizar os componentes C1, C2, C3 e topo do laboratrio
anterior.
Remover o componente C4 do projeto:
Remover C4 da lista de arquivos
Remover o Component C4 do topo.vhd
Remover o port map do C4 do topo.vhd
Criar um novo arquivo VHDL, e implementar um mux 4x1
utilizando VHDL estrutural, conforme exemplo do slide 4.
Editar o arquivo topo.vhd, e realizar a incluso do novo
componente mux 4x1 no circuito, utilizando as construes do
VHDL component e port map.
EEL5105 Circuitos e Tcnicas Digitais

8/14

Interface com o usurio

Seleo
SW(9) SW(8)

Sada F LEDR(0)

Entrada C Entrada B Entrada A


SW(2)
SW(1)
SW(0)

Seleo SW(9..8)
00
01
10

Sada LEDR(0)
F1
F2
F3

11

0 (LED apagado)
EEL5105 Circuitos e Tcnicas Digitais

9/14

Descrio da tarefa: PARTE II VHDL comportamental


Criar um novo arquivo VHDL, e implementar um NOVO mux 4x1
utilizando VHDL comportamental, conforme exemplos dos slides
4 e 5 (uso de when / else).
No necessrio alterar o arquivo topo.vhd, pois o novo mux
4x1 dever possuir exatamente a mesma interface do mux 4x1
implementado em VHDL estrutural da PARTE I (mesma entity).
Na entity (Parte I e Parte II) o seletor dever ser definido como
um vetor de dois bits, ou seja s: in std_logic_vector(1 downto 0).
Importar os pinos, realizar a sntese, simulao, e prototipao
no kit de desenvolvimento, e verificar se o novo circuito funciona
de acordo com o esperado.
EEL5105 Circuitos e Tcnicas Digitais

10/14

Resumo da tarefa Ateno!! SO DOIS PROJETOS DIFERENTES!


PARTE I Projetar e implementar o MUX em VHDL
w
x
y
z

estrutural:
m <= (w and ((NOT (s(1)) AND (NOT(s(0)))) OR

s(1)
s(0)

PARTE II Projetar e implementar o MUX em VHDL


comportamental:
m <= w when s = 00 else
x when s = 01 else
y when s = 10 else
z;

w
x
y
z

00
01
10
11

m
2 bits

s
EEL5105 Circuitos e Tcnicas Digitais

11/14

PARTE I VHDL estrutural


topo
C
B
A

w, x, y, z: in std_logic;

C1

m: out std_logic;

F1

SW(2)
SW(1)

LEDR(7)
LEDR(6)
LEDR(5)
LEDR(4)
LEDR(3)
LEDR(2)
LEDR(1)
LEDR(0)

Mux 4x1

SW(0)

C2
00

F2

01
10
11

C3

F3

2 bits

Seleo
SW(9..8)

in std_logic_vector(1
EEL5105 Circuitos e Tcnicass:Digitais

downto
0);
12/14

PARTE II VHDL comportamental


topo
C
B
A

w, x, y, z: in std_logic;

C1

m: out std_logic;

F1

SW(2)
SW(1)

LEDR(7)
LEDR(6)
LEDR(5)
LEDR(4)
LEDR(3)
LEDR(2)
LEDR(1)
LEDR(0)

Mux 4x1

SW(0)

C2

F2
0

00
01 when
10 else
11

C3

F3

2 bits

Seleo
SW(9..8)

in std_logic_vector(1
EEL5105 Circuitos e Tcnicass:Digitais

downto
0);
13/14

Entradas
SW2..0
C B A

SW9..8
Seleo

0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
X X X

00
00
00
00
00
00
00
00
01
01
01
01
01
01
01
01
10
10
10
10
10
10
10
10
11

Sadas
F1 = A or B or C
Simulao
F2 = B xor C
Livro - step 5
F3 = (B or C) and (not A)
LEDR0
F1 =
0
F1 =
1
F1 =
1
F1 =
1
F1 =
1
F1 =
1
F1 =
1
F1 =
1
F2 =

F2 =

F2 =

F2 =

F2 =

F2 =

F2 =

F2 =

F3 =

F3 =

F3 =

F3 =

F3 =

F3 =

F3 =

F3 =

0
EEL5105 Circuitos
e Tcnicas Digitais 0

FPGA
Livro - step 6
LEDR0

14/14

Você também pode gostar