» 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
[email protected]
http://www.dei.uc.pt/~pmarques
Tecnologia dos Computadores 2005/2006
Domínios da Informação
Um
termómetro
marca a
temperatura
numa escala
real, contínua
0
1
1
0
1
0
Um computador manipula
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)
ANALÓGICO
Tempo (s)
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
2.4V
0.4V
1
Níveis
TTL
2.0V
0.8V
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
X
YX
14
13
12
11
Tabela Verdade
Y
10
9
X
Y
0
1
1
0
8
V
C
C
74LS04
G
N
D
1
2
3
4
5
6
7
TC – DEI, 2005/2006
Gates AND (“E”)
Tabela Verdade
Diagrama
Expressão Booleana
A
Y  AB
Y
B
14
13
12
11
10
9
A
B
Y
0
0
0
0
1
0
1
0
0
1
1
1
8
V
C
C
74LS08
G
N
D
1
2
3
4
5
6
7
TC – DEI, 2005/2006
Gates OR (“Ou”)
Tabela Verdade
Diagrama
Expressão Booleana
A
Y AB
Y
B
14
13
12
11
10
9
A
B
Y
0
0
0
0
1
1
1
0
1
1
1
1
8
V
C
C
74LS32
G
N
D
1
2
3
4
5
6
7
TC – DEI, 2005/2006
Gates XOR (“Ou Exclusivo”)
Tabela Verdade
Diagrama
Expressão Booleana
A
Y  AB
Y
B
A
B
Y
0
0
0
0
1
1
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
Y  AB
Tabela Verdade
Diagrama
A
Y
B
Expressão Booleana
Y  AB
B
B
Y
0
0
1
0
1
1
1
0
1
1
1
0
Tabela Verdade
Diagrama
A
A
Y
A
B
Y
0
0
1
0
1
0
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
COMO INVERSOR
NAND
COMO AND
NAND
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
A
B
???
Y
LED
C
Interruptores
GND
GND
TC – DEI, 2005/2006
Tabela de Verdade
A
0
0
0
B
0
0
1
C
0
1
0
0
1
1
1
0
0
1
0
1
1
1
1
1
0
1
Y
TC – DEI, 2005/2006
Tabela de Verdade
A
0
0
0
B
0
0
1
C
0
1
0
Y
0
0
0
0
1
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
A  B C
A  B C
A  B C
A  BC
Y  A  B C  A  B C  A  B C  A  B C
TC – DEI, 2005/2006
Circuito Votador
A
B
C
Y
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+1=1
A0 = 0
A1 = A
Teoremas de Simplificação
A + AB = A
A + AB = A + B
AB + AB = B
A+A=A
AA = A
Complementariadade
A+A= 1
AA = 0
Comutatividade e Distributividade
AB = BA
A+B = B+A
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
B
C
Y
NÃO SIMPLIFICADO
SIMPLIFICADO
A
B
C
Y
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
Gates
Small Scale Integration
SSI
2-10
Lógica discreta
(Portas AND, OR, etc.)
50-100
Somadores, Multiplicadores,
Contadores, etc.
Medium Scale Integration
MSI
100-10.000
Unidades Aritméticas e
Lógicas, processadores
simples, etc.
> 10.000
Processadores, Memórias,
Chipsets, etc.
Large Scale Integration
LSI
Very Large Scale Integration
VLSI
Exemplos
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
[email protected]
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
?
1
?
1
0
0
O ‘1’ surge em baixo!
TC – DEI, 2005/2006
Colocando o ‘1’ de cima a ‘0’
0
1
0
1
0
1
0
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
0
1
A entrada de baixo passa a ‘0’, a de cima
a ‘1’!
TC – DEI, 2005/2006
Latch (ou báscula) SR
SET
RESET
Q
S
Q
R
Q
Q
Tabela de Excitação
Combinação proibida
S
0
R
0
Qn+1
Qn
Qn+1
Qn
1
0
1
0
1
1
1
0
???
0
1
???
TC – DEI, 2005/2006
Dois tipos fundamentais de circuitos
SEQUENCIAIS
COMBINACIONAIS
A
B
C
A
Y1
B
Y2
C
Lógica
Combinacional
Y3
Y
As saídas dependem
unicamente das entradas
Memória
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
1
0
TC – DEI, 2005/2006
Flip-Flop D
A célula de memória básica!
D
Q
CLK
Q
D
CLK
Q
Tabela de Excitação
D
0
Qn+1
0
Qn+1
1
1
1
0
Q
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
D
Q
OUT0
CLK
IN1
D
Q
OUT1
CLK
IN2
D
Q
OUT2
CLK
IN3
CLK
D
Q
OUT3
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 flipflops (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
11
01
10
Q1n
0
0
1
1
Q2n
0
1
0
1
Saídas Q
D
CLK
Q1n+1 Q2n+1
0
1
1
0
1
1
0
0
Entradas D
Q
Q
D1 = Q1Q2 + Q1Q2
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
[email protected]
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...
A
B
C
Y
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...
A
I1
B
I2
C
I3
D
I4
ABCD
ABCD
ABCD + ABCD + BD+ 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
Download

Sistemas Digitais