Sei sulla pagina 1di 63

» RAM /abr.

/: RARELY ADEQUATE
MEMORY, BECAUSE THE MORE
MEMORY A COMPUTER HAS, THE
FASTER IT CAN PRODUCE ERROR
MESSAGES « Anonymous

TC – DEI, 2005/2006
Introdução aos
Sistemas Digitais

Paulo Marques
pmarques@dei.uc.pt
http://www.dei.uc.pt/~pmarques

Tecnologia dos Computadores 2005/2006


Domínios da Informação

Um
termómetro
marca a 0 1 1 0 1 0
temperatura
numa escala Um computador manipula
real, contínua informação discreta, em termos
de zeros e uns

74.53

ANALÓGICO DIGITAL

TC – DEI, 2005/2006
Domínios da Informação (2)
Nos sistemas electrónicos, tipicamente a
informação é representada em termos de
tensão num determinado ponto do circuito
Tensão (V) Tensão (V)

+5V (H ou 1)

0V (L ou 0)

Tempo (s) Tempo (s)

ANALÓGICO DIGITAL

TC – DEI, 2005/2006
Sistemas Digitais
Existem diversas famílias de circuitos integrados para
sistemas digitais. Duas das mais famosas são:
 TTL (Transistor-Transistor Logic)
 CMOS (Complementary Metal Oxide Semiconductor)

Cada família possui um conjunto de tensões que


reconhece como sendo 0 ou 1

1 1
2.4V
2.0V Níveis
TTL
0.8V
0.4V 0 0

Saída Entrada
TC – DEI, 2005/2006
Gates (ou Portas)
Uma gate representa uma função lógica básica
que se pode a um conjunto de bits
 NOT
 AND
 OR
 XOR

 NAND
 NOR

TC – DEI, 2005/2006
Gates NOT (Inversor)
Expressão Booleana Diagrama Tabela Verdade

X Y X Y
YX 0 1
1 0

14 13 12 11 10 9 8

V
C
C

74LS04
G
N
D

1 2 3 4 5 6 7

TC – DEI, 2005/2006
Gates AND (“E”)
Expressão Booleana Diagrama Tabela Verdade
A B Y
A Y
Y  AB 0 0 0

B 0 1 0
1 0 0
1 1 1

14 13 12 11 10 9 8

V
C
C

74LS08
G
N
D

1 2 3 4 5 6 7

TC – DEI, 2005/2006
Gates OR (“Ou”)
Expressão Booleana Diagrama Tabela Verdade
A B Y
A Y
Y AB 0 0 0
0 1 1
B 1 0 1
1 1 1

14 13 12 11 10 9 8

V
C
C

74LS32
G
N
D

1 2 3 4 5 6 7

TC – DEI, 2005/2006
Gates XOR (“Ou Exclusivo”)
Expressão Booleana Diagrama Tabela Verdade
A B Y
A Y
Y  AB 0 0 0
0 1 1
B 1 0 1
1 1 0

Y  A  B  AB  AB

14 13 12 11 10 9 8

V
C
C

74LS86
G
N
D

1 2 3 4 5 6 7

TC – DEI, 2005/2006
Gates NAND e NOR
Correspondem às gates AND e OR com um inversor à
frente
Expressão Booleana Diagrama Tabela Verdade
A B Y
A Y
Y  AB 0
0
0
1
1
1
B 1 0 1
1 1 0

Expressão Booleana Diagrama Tabela Verdade


A B Y
A Y
Y AB 0
0
0
1
1
0
B 1 0 0
1 1 0
TC – DEI, 2005/2006
NAND e NOR
As portas NAND e NOR são importantes pois
podem ser ligadas para se comportar como
todas as outras
 Portas Universais

VCC

X X

NAND NAND NAND


COMO INVERSOR COMO AND COMO OR

TC – DEI, 2005/2006
Tabela de Verdade
Uma das ferramenta básica de trabalho de
sistemas digitais
 Para todas as entradas possíveis, enumera quais as
saídas que se quer obter
 A partir da tabela de verdade extrai-se a função a
implementar. Tipicamente, na forma SOMA DE
PRODUTOS.

TC – DEI, 2005/2006
Exemplo: Circuito de Votação
Dadas três entradas distintas, determinar a maioria
 O LED acende quando existem duas entradas activas

VCC

B ??? Y
LED
C

Interruptores
GND

GND

TC – DEI, 2005/2006
Tabela de Verdade

A B C Y
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

TC – DEI, 2005/2006
Tabela de Verdade

A B C Y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1 A  BC
1 0 0 0
1 0 1 1 A  BC
1 1 0 1 A BC
1 1 1 1 A BC

Y  A  BC  A  BC  A  BC  A BC


TC – DEI, 2005/2006
Circuito Votador
A

TC – DEI, 2005/2006
Algumas notas importantes
É possível descrever um circuito em termos de:
 Entradas e Saídas
 Tabela de Verdade que mapeia as entradas na saída
Caso não tenhamos um integrado com portas
suficientes, pode-se sempre construir a partir de outras
(e.g. Criar um AND de 3 portas a partir de um AND de
2 portas)

A forma SOMA DE PRODUTOS exprime a


funcionalidade do circuito. No entanto, a forma “soma
de produtos” directa não está simplicada.
 Lógica de Bool, Teoremas de DeMorgan, Mapas de
Karnaught, etc.
 É tipicamente possível simplificar as expressões.
TC – DEI, 2005/2006
Algebra de Bool
Idempotência
Elementos neutro e absorvente

A+0=A A0 = 0 A+A=A AA = A


A+1=1 A1 = A
Complementariadade

Teoremas de Simplificação A+A=1 AA = 0


A + AB = A Comutatividade e Distributividade
A + AB = A + B AB = BA A+B = B+A
AB + AB = B
A(B+C) = AB + AC

Leis de DeMorgan
(AB) = A + B
(A+B) = AB
TC – DEI, 2005/2006
Expressões simplificadas
Y = ABC + ABC + ABC + ABC
= BC(A+A) + ABC + ABC
= BC + ABC + ABC
= C(B+AB) + ABC
= C(A+B) + ABC
= AC + BC + ABC
= AC + B(C+AC)
= AC + B(A+C)
= AC + AB + BC

Nós não faremos isto porque os computadores


já nos simplificam as expressões!!!
TC – DEI, 2005/2006
Simplificado vs. Não Simplificado
A

NÃO SIMPLIFICADO SIMPLIFICADO


A
B
C

TC – DEI, 2005/2006
Lei de Moore
O número de transistores num circuito
integrado duplica todos os 18 meses.

Isto é extremamente relevante porque... as


gates são feitas a partir de transistores!

TC – DEI, 2005/2006
Níveis de Integração

Número de
Exemplos
Gates
Small Scale Integration Lógica discreta
SSI 2-10 (Portas AND, OR, etc.)

Medium Scale Integration Somadores, Multiplicadores,


MSI 50-100 Contadores, etc.

Large Scale Integration Unidades Aritméticas e


100-10.000 Lógicas, processadores
LSI simples, etc.
Very Large Scale Integration Processadores, Memórias,
> 10.000
VLSI Chipsets, etc.

TC – DEI, 2005/2006
A placa que iremos usar nas práticas...

Equivalente a 2.500 gates Equivalente a 70.000 gates

PS: “Gate” não está relacionado com o Sr. Bill Gates  TC – DEI, 2005/2006
Primeiro Trabalho Prático

TC – DEI, 2005/2006
PONTOS IMPORTANTES
Nunca se ligam duas saídas juntas
 Excepto em alguns circuitos, isso é um curto-circuito
Não se deixam entradas não utilizadas a flutuar (i.e.
sem estarem ligadas)
Um circulo numa entrada, ou um traço por cima do
nome de um sinal quer dizer “activo a 0”  lógica
negativa.
Um triângulo numa entrada, quer dizer que é activo por
flanco (i.e. um sinal de relógio)

Em lógica negativa, “activo” quer dizer estar a 0


 Por exemplo, o contador é limpo usando o sinal CLR, que é
activo a zero. Quando o sinal está a 1, não tem efeito. Quando
está a 0, faz com que o contador faça um reset.

TC – DEI, 2005/2006
Quiz
Como é que se pode alterar o circuito
apresentado para que o número a seguir a 9
seja 0?

TC – DEI, 2005/2006
Para saber mais...
Digital Design with CPLD
Applications and VHDL, by
Robert K. DueckDelmar
Learning,
ISBN0766811603, June 2000

 Capítulo 2 (todo)
 Capítulo 3 (3.1, 3.2, 3.3*, 3.4*)

* Não ver em profundidade, ler


apenas para ficar com uma noção
do que está envolvido

TC – DEI, 2005/2006
TC – DEI, 2005/2006
Sistemas Digitais
Circuitos Sequenciais

Paulo Marques
pmarques@dei.uc.pt
http://www.dei.uc.pt/~pmarques

Tecnologia dos Computadores 2003/2004


O que faz este circuito?

TC – DEI, 2005/2006
Colocando 1 em cima, 0 em baixo...

1 0 ?

0
1 ?

O ‘1’ surge em baixo!


TC – DEI, 2005/2006
Colocando o ‘1’ de cima a ‘0’

0
1 0

0
1

O ‘1’ mantem-se!
TC – DEI, 2005/2006
ACABAMOS DE CRIAR
UMA CÉLULA DE MEMÓRIA!

TC – DEI, 2005/2006
Colocando ‘0’ em cima e ‘1’ em baixo...

0 1

A entrada de baixo passa a ‘0’, a de cima a ‘1’!


TC – DEI, 2005/2006
Latch (ou báscula) SR
SET
Q
S Q

R Q

Q
RESET

Tabela de Excitação
S R Qn+1 Qn+1
0 0 Qn Qn
1 0 1 0
0 1 0 1
Combinação proibida
1 1 ??? ???
TC – DEI, 2005/2006
Dois tipos fundamentais de circuitos
COMBINACIONAIS SEQUENCIAIS
A Y1
A
B Y2
B
C C Lógica Y3

Combinacional

Memória
As saídas dependem
unicamente das entradas

As saídas dependem das


entradas e do estado corrente
da memória
O sistema evolui ao longo do
tempo através de um conjunto
de estados
TC – DEI, 2005/2006
Circuitos síncronos e assíncronos
As básculas são assíncronas, levando a
imensos problemas a nível de sincronização.
Na prática, os sistemas sequenciais utilizam o
conceito de relógio e células de memória
síncronas.
 Existe um pulso de relógio que mantém o sistema
sincronizado
 Só existem alterações à saída dos circuitos de
memória na transição (ou flanco) de 0 para 1

TC – DEI, 2005/2006
Flip-Flop D
A célula de memória básica!

D Q
D
CLK Q
CLK

Tabela de Excitação Q
D Qn+1 Qn+1
0 0 1
1 1 0
Note-se que o 0 ou o 1 só
surgem no próximo evento de clock!
TC – DEI, 2005/2006
Registo de 4 bits

IN0 OUT0
D Q

CLK

IN1 OUT1
D Q

CLK

IN2 OUT2
D Q

CLK

IN3 OUT3
D Q

CLK
CLK

TC – DEI, 2005/2006
Exemplo de um circuito síncrono
Um contador de dois bits
Dois bits => dois flip-flops (Q1 e Q2)
 O número de estados possíveis da máquina de
estados reflecte-se directamente no número de flip-
flops (i.e. células de memória) necessárias para a
implementar
Máquina de Estados
00

11 01

10

TC – DEI, 2005/2006
Contador Síncrono de 2 bits
Tabela de Transição de Estado
00
Q1n Q2n Q1n+1 Q2n+1
0 0 0 1
11 01
0 1 1 0
10 1 0 1 1
1 1 0 0

Saídas Q Entradas D

D Q
D1 = Q1Q2 + Q1Q2
CLK Q D2 = Q1Q2 + Q1Q2
(simplificável...)

TC – DEI, 2005/2006
Esquemático
D1 = Q1Q2 + Q1Q2
D2 = Q1Q2 + Q1Q2

TC – DEI, 2005/2006
Simulação

TC – DEI, 2005/2006
Exercício para casa
Implemente um contador que conte até de 0
até 6, regressando a 0. Caso o contador
“acorde” num número superior a 6, o valor
seguinte deverá ser 0!

 Nível seguinte de dificuldade:


Considere que existe uma entrada extra chamada
UP/DOWN que especifica se o contador conta para
cima ou para baixo. Implemente-o.

 Desenhe o circuito no Quartus II e simule-o.

TC – DEI, 2005/2006
Porque é que o pôr-do-sol é vermelho?

TC – DEI, 2005/2006
» Keep the design as simple as
possible, but not simpler. «
Albert Einstein

TC – DEI, 2005/2006
Sistemas Digitais
Lógica Programável

Paulo Marques
pmarques@dei.uc.pt
http://www.dei.uc.pt/~pmarques

Tecnologia dos Computadores 2003/2004


SSI/MSI  Programmable Logic Devices

(Spartan-3: 1.000.000 gates, €12)


(SSI, MSI: funções simples, ~1€)

TC – DEI, 2005/2006
Circuitos programáveis
Em vez de ter um conjunto de circuitos com
funcionalidades pré-definidas...
 Custos elevados em manutenção de stocks
 Necessidade de utilizar muitos integrados para implementar
uma certa funcionalidade
 Não existência de determinadas funções
 Baixa velocidade devido às interligações

Utiliza-se um circuito genérico, programável!


 PLD  Programmable Logical Device
 PAL  Programmable Array Logic
 GAL  Generic Array Logic
 CPLD  Complex Programmable Logic Device
 FPGA  Field Programmable Gate Array

TC – DEI, 2005/2006
Vejamos os dois circuitos anteriores...

Circuito votador (não simplificado)

TC – DEI, 2005/2006
Contador (não simplificado)
TC – DEI, 2005/2006
Estrutura de uma PAL (simplificado)
I1 I2 I3 I4

O1

O2

TC – DEI, 2005/2006
Implementando uma função...
I1 I2 I3 I4
A B C D

ABCD
ABCD + ABCD + BD+ ABCD
ABCD
O1
BD
ABCD

O2

Fusível Intacto

TC – DEI, 2005/2006
Programação de PLDs
Uma PLD possui blocos que são configuráveis,
queimando fusíveis internos (ou equivalente).
 Existem pinos genéricos de entrada e de saída
 Blocos AND-OR + Flip-flops + Buffers
 Interligações em blocos

Utiliza-se uma linguagem de alto nível capaz de


exprimir o design de um circuito electrónico
 E.g. PALASM, Abel, AHDL, Verilog, VHDL

O programa é compilado, explicitando de que forma é


que as gates presentes no circuito devem de ser
configuradas

TC – DEI, 2005/2006
PAL22v10

TC – DEI, 2005/2006
PAL22v10

TC – DEI, 2005/2006
O Estado da Arte
Hoje em dia utilizam-se:
 CPLDs (Complex Programmable Logic Devices)
 FPGAs (Field Programmable Gate Arrays)

Uma CPLD / FPGA é basicamente um conjunto


enorme de PLDs interligadas por um sistema
de interligação programável

TC – DEI, 2005/2006
Estructura de uma CPLD (FPGA similar)

TC – DEI, 2005/2006
Nas aulas práticas...
Hardware:
 Altera UP2 board
 MAX7000S CPLD (2.5k gates)  EPM7128SLC84-7
 FLEX10K CPLD (70k gates)  EPF10K70RC240-4
Software
 Altera QuartusII 5.1 Web Edition

Objectivos
 Introdução prática a circuitos digitais importantes
 Preparação para as cadeiras de Arquitectura de
Computadores

TC – DEI, 2005/2006
Altera UP2
2.5k + 70k gates disponíveis
Relógio a 25MHz
Programação via porto paralelo
 Iremos utilizar VHDL
4 botões (2 pré-ligados)
24 interruptores (8 pré-ligados)
16 LEDs
2 displays 7-segmentos de 2 dígitos
(1 pré-ligado)
Saída VGA
Entrada rato/PS2

TC – DEI, 2005/2006
Altera Quartus II
Design de sistemas digitais por “captura gráfica”
Design de sistemas digitais por linguagem de
programação
 VHDL + Verilog + AHDL
Simulação do sistema
Programação física dos dispositivos

TC – DEI, 2005/2006
Para saber mais...

Computer Organization and Architecture,


 Secção 3.6

Digital Design with CPLD Applications and


VHDL
 Capítulo 8 (8.1, 8.2, 8.4, 8.6*, 8.7*)
 Capítulo 4

* Não ver em profundidade, ler apenas para ficar com uma


noção do que está envolvido  ver as anotações que
estão nas folhas do quiosque
TC – DEI, 2005/2006

Potrebbero piacerti anche