TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS,...

63
TC – DEI, 2005/2006 » RAM /abr./: R ARELY A DEQUATE M EMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous

Transcript of TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS,...

Page 1: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

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

Page 2: 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

Page 3: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 4: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 5: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 6: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 7: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 8: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 9: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 10: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 11: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 12: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 13: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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.

Page 14: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 15: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 16: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 17: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

Circuito Votador

A

B

C

Y

Page 18: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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.

Page 19: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 20: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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!!!

Page 21: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

Simplificado vs. Não Simplificado

A

B

C

Y

ABC

Y

NÃO SIMPLIFICADO SIMPLIFICADO

Page 22: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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!

Page 23: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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.

Page 24: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 25: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

Primeiro Trabalho Prático

Page 26: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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.

Page 27: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

Quiz

Como é que se pode alterar o circuito apresentado para que o número a seguir a 9 seja 0?

Page 28: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 29: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

Page 30: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

Sistemas DigitaisCircuitos Sequenciais

Paulo [email protected]://www.dei.uc.pt/~pmarques

Tecnologia dos Computadores 2003/2004

Page 31: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

O que faz este circuito?

Page 32: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

Colocando 1 em cima, 0 em baixo...

0

1 ?

?

0

01

O ‘1’ surge em baixo!

1

Page 33: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

0

Colocando o ‘1’ de cima a ‘0’

0

1 0

10

O ‘1’ mantem-se!

1

Page 34: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

ACABAMOS DE CRIAR UMA CÉLULA DE MEMÓRIA!

Page 35: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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’!

Page 36: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 37: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 38: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 39: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 40: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 41: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 42: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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...)

Page 43: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

EsquemáticoD1 = Q1Q2 + Q1Q2D2 = Q1Q2 + Q1Q2

Page 44: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

Simulação

Page 45: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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.

Page 46: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

Porque é que o pôr-do-sol é vermelho?

Page 47: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

» Keep the design as simple as possible, but not simpler. «

Albert Einstein

Page 48: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

Sistemas DigitaisLógica Programável

Paulo [email protected]://www.dei.uc.pt/~pmarques

Tecnologia dos Computadores 2003/2004

Page 49: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

SSI/MSI Programmable Logic Devices

(Spartan-3: 1.000.000 gates, €12)(SSI, MSI: funções simples, ~1€)

Page 50: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 51: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

Vejamos os dois circuitos anteriores...

A

B

C

Y

Circuito votador (não simplificado)

Page 52: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

Contador (não simplificado)

Page 53: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

Estrutura de uma PAL (simplificado)I1 I2 I3 I4

O1

O2

Page 54: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 55: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 56: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

PAL22v10

Page 57: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

PAL22v10

Page 58: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 59: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

TC – DEI, 2005/2006

Estructura de uma CPLD (FPGA similar)

Page 60: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 61: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 62: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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

Page 63: TC – DEI, 2005/2006 » RAM /abr./: RARELY ADEQUATE MEMORY, BECAUSE THE MORE MEMORY A COMPUTER HAS, THE FASTER IT CAN PRODUCE ERROR MESSAGES « Anonymous.

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