Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
/: 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
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)
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)
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
YX 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 AB 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 AB 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 AB 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 AB 0
0
0
1
1
1
B 1 0 1
1 1 0
VCC
X X
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 BC
1 0 0 0
1 0 1 1 A BC
1 1 0 1 A BC
1 1 1 1 A BC
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)
Leis de DeMorgan
(AB) = A + B
(A+B) = AB
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
TC – DEI, 2005/2006
Lei de Moore
O número de transistores num circuito
integrado duplica todos os 18 meses.
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.)
TC – DEI, 2005/2006
A placa que iremos usar nas práticas...
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)
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*)
TC – DEI, 2005/2006
TC – DEI, 2005/2006
Sistemas Digitais
Circuitos Sequenciais
Paulo Marques
pmarques@dei.uc.pt
http://www.dei.uc.pt/~pmarques
TC – DEI, 2005/2006
Colocando 1 em cima, 0 em baixo...
1 0 ?
0
1 ?
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
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
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 = Q1Q2 + Q1Q2
CLK Q D2 = Q1Q2 + Q1Q2
(simplificável...)
TC – DEI, 2005/2006
Esquemático
D1 = Q1Q2 + Q1Q2
D2 = Q1Q2 + Q1Q2
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!
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
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
TC – DEI, 2005/2006
Vejamos os dois circuitos anteriores...
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
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)
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...