TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS,...
Transcript of TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS,...
TC – DEI, 2005/2006
» RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous
Introdução aosSistemas Digitais
Paulo [email protected]://www.dei.uc.pt/~pmarques
Tecnologia dos Computadores 2005/2006
TC – DEI, 2005/2006
Domínios da Informação
Um termómetro marca a temperatura numa escala real, contínua
ANALÓGICO
74.53
0 1 1 0 1 0
Um computador manipula informação discreta, em termos de zeros e uns
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
Tempo (s)
Tensão (V)
Tempo (s)
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)
Cada família possui um conjunto de tensões que reconhece como sendo 0 ou 1
Saída Entrada
0
1 1
0
2.4V
0.4V
2.0V
0.8V
NíveisTTL
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
Expressão Booleana Diagrama
Gates NOT (Inversor)
XY YX X Y
0 1
1 0
Tabela Verdade
1 2 3 4 5 6 7
891011121314
GND
VCC
74LS04
TC – DEI, 2005/2006
Gates AND (“E”)
A
1 2 3 4 5 6 7
891011121314
GND
VCC
Y
Expressão Booleana Diagrama
BAY A B Y
0 0 0
0 1 0
1 0 0
1 1 1
Tabela Verdade
74LS08
B
A Y
TC – DEI, 2005/2006
Gates OR (“Ou”)
A
1 2 3 4 5 6 7
891011121314
GND
VCC
Y
Expressão Booleana Diagrama
BAY A B Y
0 0 0
0 1 1
1 0 1
1 1 1
Tabela Verdade
74LS32
B
Y
TC – DEI, 2005/2006
Gates XOR (“Ou Exclusivo”)
A Y
Expressão Booleana Diagrama
BAY A B Y
0 0 0
0 1 1
1 0 1
1 1 0
Tabela Verdade
74LS86
B
Y
1 2 3 4 5 6 7
891011121314
GND
VCC
BABABAY
TC – DEI, 2005/2006
Gates NAND e NOR
Correspondem às gates AND e OR com um inversor à frente
A Y
Expressão Booleana Diagrama
BAY A B Y
0 0 1
0 1 1
1 0 1
1 1 0
Tabela Verdade
B
Y
A Y
Expressão Booleana Diagrama
BAY A B Y
0 0 1
0 1 0
1 0 0
1 1 0
Tabela Verdade
B
Y
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
NANDCOMO INVERSOR
NANDCOMO AND
NANDCOMO 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
???
Interruptores
VCC
GND
A
C
B Y
GND
LED
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
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
CBA
CBA CBA CBA
CBACBA CBA CBAY
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
A + 0 = AA + 1 = 1
A0 = 0A1 = A
Elementos neutro e absorvente
AA = AA + A = A
Idempotência
A + A = 1 AA = 0
Complementariadade
A(B+C) = AB + AC
Comutatividade e Distributividade
AB = BA A+B = B+A
(AB) = A + B
(A+B) = AB
Leis de DeMorgan
A + AB = A + BAB + AB = B
Teoremas de Simplificação
A + AB = A
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
ABC
Y
NÃO SIMPLIFICADO SIMPLIFICADO
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
Exemplos
Small Scale Integration
SSI 2-10Lógica discreta
(Portas AND, OR, etc.)
Medium Scale Integration
MSI 50-100Somadores, Multiplicadores,
Contadores, etc.
Large Scale Integration
LSI100-10.000
Unidades Aritméticas e Lógicas, processadores
simples, etc.
Very Large Scale Integration
VLSI> 10.000
Processadores, Memórias, 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
Sistemas DigitaisCircuitos Sequenciais
Paulo [email protected]://www.dei.uc.pt/~pmarques
Tecnologia dos Computadores 2003/2004
TC – DEI, 2005/2006
O que faz este circuito?
TC – DEI, 2005/2006
Colocando 1 em cima, 0 em baixo...
0
1 ?
?
0
01
O ‘1’ surge em baixo!
1
TC – DEI, 2005/2006
0
Colocando o ‘1’ de cima a ‘0’
0
1 0
10
O ‘1’ mantem-se!
1
TC – DEI, 2005/2006
ACABAMOS DE CRIAR UMA CÉLULA DE MEMÓRIA!
TC – DEI, 2005/2006
0
Colocando ‘0’ em cima e ‘1’ em baixo...
1
0 1
0
A entrada de baixo passa a ‘0’, a de cima a ‘1’!
TC – DEI, 2005/2006
Latch (ou báscula) SR
SET
RESET Q
Q
S R Qn+1 Qn+1
0 0 Qn Qn
1 0 1 0
0 1 0 1
1 1 ??? ???Combinação proibida
Tabela de Excitação
S
R
Q
Q
TC – DEI, 2005/2006
Dois tipos fundamentais de circuitos
As saídas dependem unicamente das entradas
ABC
Y
COMBINACIONAIS SEQUENCIAIS
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
A
B
C LógicaCombinacional
Memória
Y1
Y2
Y3
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
0
1
TC – DEI, 2005/2006
Flip-Flop D
A célula de memória básica!
D
CLK
Q
Q
D Qn+1 Qn+1
0 0 1
1 1 0
Tabela de Excitação
Note-se que o 0 ou o 1 só surgem no próximo evento de clock!
D
CLK
Q
Q
TC – DEI, 2005/2006
Registo de 4 bits
D
CLK
Q
D
CLK
Q
D
CLK
Q
D
CLK
Q
IN0
IN1
IN2
IN3
CLK
OUT0
OUT1
OUT2
OUT3
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
01
10
11
00Máquina de Estados
TC – DEI, 2005/2006
Contador Síncrono de 2 bits
01
10
11
00Q1n Q2n Q1n+1 Q2n+1
0 0 0 1
0 1 1 0
1 0 1 1
1 1 0 0
Tabela de Transição de Estado
Saídas Q Entradas D
D1 = Q1Q2 + Q1Q2D2 = Q1Q2 + Q1Q2
D
CLK
Q
Q
(simplificável...)
TC – DEI, 2005/2006
EsquemáticoD1 = Q1Q2 + Q1Q2D2 = 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!
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
Sistemas DigitaisLógica Programável
Paulo [email protected]://www.dei.uc.pt/~pmarques
Tecnologia dos Computadores 2003/2004
TC – DEI, 2005/2006
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...I1 I2 I3 I4
O1
O2
A B C D
ABCD
ABCD
BD
ABCD
ABCD ABCD BD ABCD+ + +
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