Você está na página 1de 31

Eletrônica Digital

2
Lógica Combinacional

Gabriel Fanelli
Blocos Combinacionais

 Portas Lógicas
 NOT,AND,OR,NAND,NOR,XOR,XNOR
 Manuseio de Dados
 Decoder
 Mux
 Demux
 Circuitos Aritméticos
 Somador
 Subtrator
 ULA

2
Portas Lógicas

 Portas Lógicas Básicas podem ser utilizadas para


construir funções mais complexas
 Minimização de Expressões Lógicas
 Álgebra Booleana
 Mapas de Karnaugh
 Wolfram Alpha
 Ferramenta de Síntese

 Descrição em Módulos
 Inputs
 Outputs

3
Multiplexador

S
 Exemplo: Circuito de Manuseio de
D0 0
Dados Y
D1 1
 Entradas: D0, D1 e S
 Saída: Y
S D1 D0 Y S Y
 Diferentes Implementações em 0 0 0 0 0 D0
circuito 0 0 1 1 1 D1
0 1 0 0
 Portas Lógicas 0 1 1 1
1 0 0 0
 Portas de Transmissão
1 0 1 0
 Abstração da implementação : 1 1 0 1
1 1 1 1
Módulo Mux

4
Multiplexador Y
D0 D1
00 01 11 10
S

0 0 0 1 1

 Descrição de um Módulo 1 0 1 1 0

 Expressões Booleanas
 Esquemático Y = D 0S + D1S

D0

D0
S
D1
Y

D1
Y

5
Descrição de um Módulo

Mux: Circuito Pequeno

E se o circuito for muito grande?

Com muitos Componentes?

Expressão Booleana e Esquemático


• Difícil de interpretar
• Difícil de implementar em hardware

6
Linguagem de Descrição de
Hardware
 Linguagem Verilog
 Permite descrever um circuito
digital
 Sintaxe Simples (Parecida com C)
 O objetivo é especificar a
descrição do comportamento de
um circuito que eventualmente
será implementado em hardware.
 Unidade básica: Módulo

7
Descrição de um MUX 2:1

 Expressão Lógica

8
Descrição de um MUX 2:1

 Atribuição Condicional

9
Somador
Half Full
Adder Adder
A B A B
 Exemplo: Circuito
Aritmético
Cout Cout Cin
+ +
S
Entradas: A, B, Cin
S

 Saída: S, Cout A B Cout S Cin A B Cout S


0 0 0 0 0 0 0 0 0
 Abstração da 0 1 0 1 0 0 1 0 1
1 0 0 1 0 1 0 0 1
implementação : 1 1 1 0 0 1 1 1 0
Módulo Somador 1 0 0 0 1
S =AB 1 0 1 1 0
Cout = AB 1 1 0 1 0
1 1 1 1 1

S = A  B  Cin
Cout = AB + ACin + BCin

10
Descrição de um Somador
Completo
 Expressões Lógicas

11
Descrição de um Somador
Completo
 Descrição Comportamental

12
Código Concorrente

 Ordem das instruções não importa


 Códigos interpretados de forma concorrente

13
Região de Código Sequencial

 Permite Descrição Comportamental (Mais abstrata)


 Região em que os códigos são interpretados
sequencialmente → Dentro de um bloco “Always”
 Bloco “Always” só é executado quando um dos sinais na
lista de sensibilidade sofre variação
 Permite descrever circuitos sequenciais
 Por exemplo Flip-Flops
 Serão discutidos na próxima aula

14
Descrição de um MUX 2:1

 Descrição com bloco Always usando if-else

15
Descrição de um MUX 2:1

 Descrição com bloco Always usando case

16
Demultiplexador

17
Descrição de um
Demultiplexador

18
Subtrator

 Somador com uma das entradas em complemento de 2

Symbol Implementation
A B
N
A B
N N
N N
-
N +
Y N
Y

19
Descrição de um subtrator

 Descrição estrutural usando um somador

20
Descrição de um subtrator

 Descrição comportamental

21
Comparador
 Igualdade

Symbol Implementation
A3
B3

A B A2
4 4 B2
Equal
= A1
B1
Equal
A0
B0
22
Descrição de um Comparador
de Igualdade
 Descrição por Fluxo de Dados

23
Descrição de um Comparador
de Igualdade
 Descrição Comportamental

24
Comparador

A B
 Menor que
N N

-
N
[N-1]

A<B

25
Descrição de um Comparador
Menor que
 Descrição usando subtrator

26
Descrição de um Comparador
Menor que
 Descrição Comportamental

27
Unidade Lógica Aritmética

 “Coração” de um Processador
e de vários sistemas digitais

A B
N N NOT A

ALU 3F
N
Y

28
Unidade Lógica Aritmética

29
Visão Geral

Blocos Sistemas Digitais


combinacionais

• Mux • Blocos
• Somador combinacionais
• Demux • Blocos
• Subtrator sequenciais
• Comparador
• ULA

30
Cuidados...

 Verilog NÃO é linguagem de programação!


 Verilog é linguagem de DESCRIÇÃO de Hardware

31

Você também pode gostar