Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Introdução a circuitos lógicos
MC542 Introdução a circuitos lógicos utilizando VHDL 2001S2
2
MC542 Escrevendo um código VHDL simples Multiplexador 2x1 2001S2
3
MC542 ENTITY Multiplex IS PORT (A, B, S : IN BIT; Saida : OUT BIT);
Primeiro passo : Declarar os sinais de entradas e saídas através de uma Entidade (Entity) ENTITY Multiplex IS PORT (A, B, S : IN BIT; Saida : OUT BIT); END Multiplex; 2001S2
4
MC542 Sinais de entradas e saídas para a entidade são chamadas portas.
Podem ser de entrada (IN) ou saída (OUT) No nosso exemplo temos 4 portas : 3 de entrada (IN) 1 de saída (OUT); 2001S2
5
MC542 Segundo passo : Definir a funcionalidade do circuito através de uma arquitetura (ARCHITECTURE); A linguagem VHDL suporta os seguintes operadores lógicos : AND OR NOT NAND NOR XOR XNOR 2001S2
6
MC542 ARCHITECTURE Objeto_1 OF Multiplex IS BEGIN
Definindo o comportamento da entidade MULTIPLEX em VHDL : ARCHITECTURE Objeto_1 OF Multiplex IS BEGIN Saida <= (A AND S) OR (B AND NOT(S)); END Objeto_1; Método 1 2001S2
7
MC542 O código VHDL completo do nosso exemplo é mostrado abaixo :
ENTITY Multiplex IS PORT (A, B, S : IN BIT; Saida : OUT BIT); END Multiplex; ARCHITECTURE Objeto_1 OF Multiplex IS BEGIN Saida <= (A AND S) OR (B AND NOT(S)); END Objeto_1; 2001S2
8
MC542 Simulação : Mudança do SEL 2001S2
9
MC542 Outras maneiras de se implementar o mesmo problema :
A entidade continua com o mesmo número de portas É necessário mudar apenas o escopo ARCHITECTURE ARCHITECTURE Objeto_1 OF Multiplex IS BEGIN Process Begin If S=‘1’ Then Saida <= A; Else Saida <=B; End If; End Process; END Objeto_1; 2001S2
10
MC542 ENTITY Multiplex IS PORT (A, B : IN BIT; Saida : OUT BIT;
Podemos ainda, mudando o sinal de entrada na entidade, fazer outra variação do mesmo problema : ENTITY Multiplex IS PORT (A, B : IN BIT; Saida : OUT BIT; S : Boolean); END Multiplex; 2001S2
11
MC542 Saida <= A When S else B;
A Nova descrição da Arquitetura será : ARCHITECTURE Objeto_1 OF Multiplex IS BEGIN Saida <= A When S else B; END Objeto_1; 2001S2
12
MC542 Um outro exemplo : Um multiplexador de 2 entradas de 8 bits
13
MC542 Definindo a entidade : ENTITY Multiplex2 IS PORT
2 Entradas de 8 Bits 1 Entrada para seleção 1 Saída de 8 Bits; ENTITY Multiplex2 IS PORT (A, B : IN BIT_VECTOR (0 to 7); Saida : OUT BIT_VECTOR (0 to 7); S : Boolean); END Multiplex2; 2001S2
14
MC542 Saida <= A When S else B;
Definindo o comportamento da função de saída : Podemos utilizar a mesma abordagem apresentada anteriormente ARCHITECTURE Objeto_1 OF Multiplex IS BEGIN Saida <= A When S else B; END Objeto_1; 2001S2
15
MC542 Simulando o comportamento do Multiplex2 : 2001S2
16
MC542 Visualizando os sinais intermediários : 2001S2
17
Entendendo o MAX+PlusII
MC542 Entendendo o MAX+PlusII Altera 2001S2
18
MC542 Criando um circuito lógico em VHDL, utilizando o Max+PlusII
Implementando a pastilha 7425 (2 Portas NOR de 4 BITS) Devemos ter em mente (Para a criação da entidade): 2 Entradas de 4 BITS (Ou uma de 1 Byte) 2 Sinais de seleção 4 LSB ou 4 MSB 2 Saídas de um BIT 2001S2
19
MC542 Passo a passo : Criando um novo arquivo 2001S2
20
MC542 Desta forma estaremos aptos a escrever o código em VHDL. 2001S2
21
MC542 Definindo a entidade : ENTITY NOR_4_Bits IS PORT
(A, B : IN BIT_VECTOR (0 to 3); Saida : OUT BIT_VECTOR (0 to 1); S : IN BIT_VECTOR (1 to 0)); END NOR_4_Bits; 2001S2
22
MC542 Definindo a funcionalidade da entidade :
ARCHITECTURE Behav OF Nor_4_Bits IS BEGIN Process begin If S(0)='1' Then Saida(0) <= not(A(0) or A(1) or A(2) or A(3)); Else If S(1) = '1' Then Saida(1) <= not(B(0) or B(1) or B(2) or B(3)); End If; end process; END Behav; 2001S2
23
MC542 O Código completo em VHDL : ENTITY NOR_4_Bits IS PORT
(A, B : IN BIT_VECTOR (0 to 3); Saida : OUT BIT_VECTOR (0 to 1); S : IN BIT_VECTOR (1 to 0)); END NOR_4_Bits; ARCHITECTURE Behav OF Nor_4_Bits IS BEGIN Process begin If S(0)='1' Then Saida(0) <= not(A(0) or A(1) or A(2) or A(3)); Else If S(1) = '1' Then Saida(1) <= not(B(0) or B(1) or B(2) or B(3)); End If; end process; END Behav; 2001S2
24
MC542 Compilando o programa fonte em VHDL : Etapas 2001S2
25
MC542 Simulando : 2001S2
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.