Anda di halaman 1dari 47

Apresentao

Laboratrio de Sistemas Digitais

M I E E C Laboratrio de Sistemas Digitais 2007/08

Laboratrio de Sistemas Digitais


(EEC0006)
Mdulo da disciplina
Propeduticas de Engenharia Electrotcnica e de Computadores 1

(EEC0001) Mestrado Integrado em Engenharia Electrotcnica e de Computadores 1 ano, 1 semestre


2

M I E E C Laboratrio de Sistemas Digitais 2007/08

Docentes
Tericas:
- Augusto Silva Gomes - Hlio Sousa Mendona asg@fe.up.pt hsm@fe.up.pt

Terico-Prticas:
Augusto Silva Gomes Hlio Sousa Mendona Jos Machado da Silva Jos Carlos Alves asg@fe.up.pt hsm@fe.up.pt jms@fe.up.pt jca@fe.up.pt

M I E E C Laboratrio de Sistemas Digitais 2007/08

Programa
Sistemas de numerao e representao de nmeros. Aritmtica binria. lgebra de Boole. Aplicao simplificao de expresses lgicas e minimizao de circuitos combinacionais. Sntese de circuitos combinacionais usando blocos funcionais como multiplexadores, codificadores, descodificadores e comparadores. Anlise e sntese de mquinas de estado realizadas com circuitos sequenciais sncronos. Sntese de circuitos sequenciais usando blocos funcionais como contadores, registos de deslocamento e circuitos programveis. Modelao de circuitos combinacionais e sequenciais com a linguagem Verilog para descrio de hardware. Introduo aos microprocessadores: modelo de execuo de programa residente em memria, organizao interna, unidade de descodificao controlo e execuo de instrues.
M I E E C Laboratrio de Sistemas Digitais 2007/08

Bibliografia e apoio
Bibliografia
- Jos Carlos Alves, Sistemas Digitais, 2006, FEUP - J.F.Wakerly, Digital Design Principles and Practices, Prentice Hall, 3rd Edition, 2001 - Stephen Brown,Zvonko Vrasenic Fundamentals of Digital Logic with Verilog Design ,McGrawHill,2nd Edition,2007

Apoio nos Contedos da disciplina


Transparncias usadas nas aulas tericas e terico-prticas Livro de Exerccios da disciplina Enunciados de exerccios e exames anteriores Avisos importantes

M I E E C Laboratrio de Sistemas Digitais 2007/08

Aulas
Aulas T (Tericas); 1h/semana
- Introduzem VERILOG - necessrio para os labs. - Complementam as aulas terico-prticas

Aulas TP (Terico-Prticas); 4h/semana


- Apresentao de matria - Resoluo de exerccios - Trabalhos de Laboratrio
Projecto e ensaio de pequenos sistemas digitais

M I E E C Laboratrio de Sistemas Digitais 2007/08

Avaliao
Avaliao distribuda sem exame final
- 2 minitestes (10 valores)
Durao de 1 hora (21/Nov e 16/Jan) 5 valores cada Prev-se uma prova de recurso para os alunos que por motivos justificados no tenham comparecido aos minitestes

- 5 Trabalhos de Laboratrio (10 valores)


Ficha de avaliao nas aulas TP ( 2 valores por cada lab.) Datas previstas: consultar a ficha da disciplina

M I E E C Laboratrio de Sistemas Digitais 2007/08

Introduo aos Sistemas Digitais

M I E E C Laboratrio de Sistemas Digitais 2007/08

Sinais analgicos
A maioria das grandezas fsicas (temperatura, velocidade, presso, pH, som,... ) so analgicas. Os sinais analgicos variam de forma contnua quer no tempo quer na amplitude (podem ter um nmero infinito de valores numa dada gama).
T (C)
32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 0

Evoluo da temperatura ao longo do dia

1 2 3 4 5

6 7 8

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

M I E E C Laboratrio de Sistemas Digitais 2007/08

Sistemas analgicos
Um sistema definido formalmente como uma entidade que realiza uma funo processando/ transformando um ou mais sinais de entrada de forma a gerar os sinais de sada. Nos sistemas analgicos os sinais de entrada e sada so analgicos.

M I E E C Laboratrio de Sistemas Digitais 2007/08

10

Exemplo de sistema electrnico analgico


A onda sonora provoca variao da presso no ar e o microfone cria uma verso analgica dessa variao sob a forma de um sinal elctrico na sua sada - sinal udio. Depois de amplificado o sinal udio, o altifalante volta a emitir a onda sonora por um processo inverso ao anterior.
Onda sonora original Microfone Som reproduzido

Altifalante

Amplificador Sinal

Sinal audio amplificado

M I E E C Laboratrio de Sistemas Digitais 2007/08

11

Sinais digitais
Os sinais digitais variam de forma discreta quer no tempo quer na amplitude ( tm um nmero finito de valores numa dada gama ).
T (C)
32 30 28 26 24 22 20 18 16 14 12 10 8 6 4 2 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

29 28 28

28,6 28,3 28,1

t (horas do dia)

M I E E C Laboratrio de Sistemas Digitais 2007/08

12

Sinais digitais binrios


Uma classe importante de sinais digitais so os binrios, modelados como tendo apenas dois valores discretos distintos: 0/1, baixo/alto, falso/verdadeiro,...
240V 220V 180V lmpada ligada (1) estado indefinido 40V 0V lmpada desligada (0)

estado da lmpada
ligada

0
desligada

1 t

perodos de transio

M I E E C Laboratrio de Sistemas Digitais 2007/08

13

Interface analgico-digital
Sendo a maioria das grandezas fsicas analgicas muitas vezes necessrio realizar a interface entre sistemas analgicos e sistemas digitais usando conversores A/D e D/A.
V( t)
1 0 1 1 0 0 1 0 1 1 0 0 127 63 0 -63 -127 A

V(t)

A/ D

sinal analgico original

amostras do sinal
V( t)
1 0 1 1 0 0 1 0 1 1 0 0

A 127 63 0 -63 -127

D/ A

V(t) sinal analgico reconstrudo

amostras do sinal
V( t)

V( t)

sinal analgico: original e reconstrudo M I E E C Laboratrio de Sistemas Digitais 2007/08

14

Converso analgico/digital
A converso de um sinal analgico num vector de sinais digitais binrios envolve as operaes de amostragem, quantificao e codificao: amostragem
7 5 sinal analgico
6,5 4,1 2,9 3 4,2 5,2 4,9 3,0 2,7

A/D

sinais digitais binrios

3 1 0
7 4

Amostragem discretizao no tempo Quantificao discretizao nas amplitudes Codificao atribuio de um cdigo binrio a cada valor discreto do sinal digitalizado.
M I E E C Laboratrio de Sistemas Digitais 2007/08

7 5 3 1 0

quantificao
3 3 4 5 5 3 3

codificao
111 100 011 011 100 101 101 011 011

1 0 Sinal digital

15

Sinal de udio
A
127 95 63 31 0 -31 -63 -95 -127

amostra

sinal analgico

perodo de amostragem (125s para fs=8KHz) amplitude do sinal nos instantes de amostragem: -19 32 87 94 80 14 -43...

M I E E C Laboratrio de Sistemas Digitais 2007/08

16

udio analgico
Um disco de vinil

M I E E C Laboratrio de Sistemas Digitais 2007/08

17

udio digital

M I E E C Laboratrio de Sistemas Digitais 2007/08

18

Sistema electrnico hbrido


Na maioria dos casos os sistemas electrnicos so hbridos, ou seja, combinam sistemas analgicos e digitais.

D/A
Dados digitais Sinal udio reconstrudo

Amplificador

altifalante

Onda sonora

M I E E C Laboratrio de Sistemas Digitais 2007/08

19

Controlo analgico de um depsito de gua

entrada de gua

vlvula bia

sada de gua

O caudal de gua varia de forma contnua com o nvel de gua no tanque


Qual a relao entre o nvel de gua e o caudal que a vlvula deixa entrar? Muito complexa!

M I E E C Laboratrio de Sistemas Digitais 2007/08

20

Controlo digital do depsito de gua


entrada de gua electro-vlvula
ABRE CHEIO

sistema digital de controlo

nvel mximo

VAZIO

nvel mnimo sada de gua

Apenas importante saber se foi atingido ou no o nvel mximo ou o nvel mnimo Como escrever um programa que realize a funo de controlo digital?

ABRE = 0; enquanto ligado se VAZIO == 0 ABRE = 1; seno se ABRE == 1 se CHEIO == 1 ABRE = 0;

M I E E C Laboratrio de Sistemas Digitais 2007/08

21

Digital vs. analgico


caudal digital
entrada de gua electro-vlvula
ABRE CHEIO

sistema digital de controlo VAZIO

nvel mximo

caudal mximo

nvel mnimo sada de gua

caudal mnimo (zero) vlvula abre vlvula fecha

caudal analgico
entrada de gua vlvula bia

caudal mximo a subida do nivel da gua vai fechando a vlvula


sada de gua

caudal mnimo (zero) descarga enchimento

M I E E C Laboratrio de Sistemas Digitais 2007/08

22

Digitalizao de Texto

Um texto em ASCII

85, 109, 32, 116, 101, 120, 116, 111, 13, 10 101, 109, 32, 65, 83, 67, 73, 73

nova linha caracteres cdigos ASCII (em decimal)

ASCII - American Standard Code for Information Interchange

M I E E C Laboratrio de Sistemas Digitais 2007/08

23

Digitalizao de Imagens
67 74 86

20
Maria Eugnia de Oliveira Botelho 1921

Um pixel

105

M I E E C Laboratrio de Sistemas Digitais 2007/08

24

Mostradores com LEDs

a b c d e f g

a f g

b LEDs

e d

entradas a=1 b=1 c=0 d=1 e=1 f=0 g=1

a=0 b=1 c=1 d=0 e=0 f=1 g=1

a=0 b=1 c=1 d=0 e=0 f=0 g=0

M I E E C Laboratrio de Sistemas Digitais 2007/08

25

Sistemas digitais o que so?


Entradas e sadas so sinais digitais. Informao representada por binrio(1 e 0). Constituidos por blocos electrnicos Funo do sistema digital
definir a relao entre as sadas e as entradas digitais

entradas
1 0 1 1 0 1 0 1 1 0 1 1

sadas

Sistema

0 0 1 1 0 0 1 1 0 0 0 1

...

...

...

11 0 1 0 1 t

M I E E C Laboratrio de Sistemas Digitais 2007/08

...

digital

01 0 0 0 1 t

26

reas de aplicao dos sistemas digitais

computao pessoal (PCs, PDAs, calculadoras) comunicaes mveis televiso digital udio digital automvel (ABS, air-bags, controlo do motor) controlo industrial simuladores diverso ...
27

M I E E C Laboratrio de Sistemas Digitais 2007/08

Sistemas digitais reas de aplicao

M I E E C Laboratrio de Sistemas Digitais 2007/08

28

Tipos de sistemas digitais


Sistemas combinacionais:
- As sadas num dado instante dependem apenas das entradas nesse instante.

Sistemas sequenciais:
- As sadas num dados instante dependem das entradas nesse instante e em instantes anteriores. - O circuito tem memria

Combinacional
M I E E C Laboratrio de Sistemas Digitais 2007/08

Sequencial
29

Combinacional vs. sequencial


Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( sada depende s da entrada) Premir esta tecla altera a entrada de um sistema sequencial e o canal passa a ser +1 do que era anteriormente (sada depende da entrada e do estado anterior).

M I E E C Laboratrio de Sistemas Digitais 2007/08

30

Zeros e uns
A lgica digital transforma a realidade analgica, ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1. A um valor lgico, 0 ou 1, comum chamar-se um bit (binary digit). Nos circuitos electrnicos digitais: - 0 representado por tenses elctricas baixas - 1 representado por tenses elctricas altas Os circuitos entendem as entradas como 0 ou 1 e produzem nas sadas zeros e uns representados por tenses baixas ou altas.

M I E E C Laboratrio de Sistemas Digitais 2007/08

31

Portas lgicas
As portas lgicas ( gates ) so os circuitos electrnicos digitais bsicos. Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tenso, que so interpretados como 1 e 0. A porta lgica produz na sada uma tenso correspondente ao valor lgico 0 ou 1, dependendo do valor logico das entradas e da funo que a porta lgica realiza.
CMOS

TT L
5V 1 1 2.7V

5V 3.5V 1.5V 0V 0 0 regies invlidas

0.8V 0V

M I E E C Laboratrio de Sistemas Digitais 2007/08

32

Portas Lgicas E (AND), OU (OR) e NO (NOT)


A B A B 0 0 0 1 A+B 0 1 1 1 A 1 0 0 0 1 1 0 1 0 1

E ( AND )

A B

AB

OU ( OR )

A B

A B

A+B

0 0 1 1

0 1 0 1 A 0 1

NO ( NOT ) funo lgica

smbolo ( porta lgica )

tabela de verdade
33

M I E E C Laboratrio de Sistemas Digitais 2007/08

Portas lgicas NO-E (NAND) e NO-OU (NOR)


A B A B 1 1 1 0 0 0 1 1 0 1 0 1

NO - E ( NAND )

A B

AB

NO - OU ( NOR )

A B

A B

A+B 1 0 0 0

A +B

0 0 1 1

0 1 0 1

funo lgica

smbolo ( porta lgica )

tabela de verdade

M I E E C Laboratrio de Sistemas Digitais 2007/08

34

Portas lgicas (cont.)


As portas lgicas E e OU podem ter um nmero qualquer de entradas
- (na realidade, limitado por razes ligadas realizao fsica dos circuitos electrnicos)
A B C D A B C D A B C A+B+C

Podem ser desenhadas portas lgicas com entradas negadas:


A B AB A B A+B

M I E E C Laboratrio de Sistemas Digitais 2007/08

35

Funes lgicas e circuito lgico


Qualquer funo lgica pode ser realizada custa das 3 funes lgicas bsicas E, OU e NO e o circuito que a implementa usando as portas lgicas correspondentes.
Tabela de verdade
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C F(A,B,C) 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 1

Diagrama esquemtico
A B (C+B) C (A B)

A B

(A B)

F(A,B,C)

Expresso lgica
F(A,B,C) = ( (C+B) A) + (A B)
M I E E C Laboratrio de Sistemas Digitais 2007/08

( (C+B) A)

36

Elementos de tecnologia
Os sistemas digitais so realizados com circuitos integrados. Um circuito integrado constituido por um cristal semicondutor, habitualmente de silcio, designado por chip. O chip contm os componentes electrnicos bsicos que implementam o circuito integrado digital portas lgicas e flip-flops (elementos de memria). O chip montado dentro de um empacotamento cermico ou plstico e so construdas ligaes do chip para os pinos externos do integrado.

M I E E C Laboratrio de Sistemas Digitais 2007/08

37

Circuitos integrados

wafer de silcio

die do Pentium 4

empacotamento
M I E E C Laboratrio de Sistemas Digitais 2007/08

circuito integrado
38

Marcos histricos
sistemas electromecnicos (1944) vlvulas electrnicas (1946)
- ENIAC: 18000 vlvulas, 140KW, 30 tons, 5000 somas/segundo

transstor (1948) circuito integrado (1958) microprocessador (1972) circuitos integrados de alto nvel de integrao (VLSI) (dcada de 90)

M I E E C Laboratrio de Sistemas Digitais 2007/08

39

Dispositivos electrnicos primitivos

Uma vlvula Vlvula electrnica

Memria feitacom comvlvulas vlvulaselectrnicas (IBM701, 1952) Circuito

M I E E C Laboratrio de Sistemas Digitais 2007/08

40

ENIAC - 1 computador electrnico

ENIAC - 1946

M I E E C Laboratrio de Sistemas Digitais 2007/08

41

O 1 transistor

1948 - Bardeen, Brattain & Shockley inventam o transstor

M I E E C Laboratrio de Sistemas Digitais 2007/08

42

Os primeiros circuitos integrados

1958 Jack St Clair Kilby (TI) e Robert Noyce (Fairchild) inveno do 1 circuito integrado (circuito oscilador)

1959 - inveno da tecnologia planar

M I E E C Laboratrio de Sistemas Digitais 2007/08

43

Dispositivos electrnicos

MSI, LSI Circuito integrado SSI (Small Scale Integration) dezenas de transstores

Transstor

Circuito integrado VLSI (Very Large Scale Integration) milhes de transstores


20 mm

10

M I E E C Laboratrio de Sistemas Digitais 2007/08

44

Circuitos integrados

35 mm2

rea de silcio 9 mm2

10 20 mm
45

M I E E C Laboratrio de Sistemas Digitais 2007/08

Circuitos integrados (cont.)


rea e tamanho do processo de fabrico 1992 1994 1996 2001 2003 2005/6

1.5 rea A

0.7 rea 0.22A

0.35 rea 0.054A

0.13 rea 0.0075A

0.065 0.09 rea 0.0036A rea 0.0018A

densidade de integrao: dezenas de milhes de transstores num chip rapidez: uma adio em 0.0000000005 s (0.5 ns) energia: poucos watts em trabalho, alguns mwatt em repouso

M I E E C Laboratrio de Sistemas Digitais 2007/08

46

Microprocessadores da INTEL

M I E E C Laboratrio de Sistemas Digitais 2007/08

47

Lei de Moore
O n de transistores/chip duplica em cada 18 meses

M I E E C Laboratrio de Sistemas Digitais 2007/08

48

Evoluo dos P da INTEL

M I E E C Laboratrio de Sistemas Digitais 2007/08

49

Lei de Moore (cont.)

M I E E C Laboratrio de Sistemas Digitais 2007/08

50

Um processador Pentium
1994 (processo 0.7m) Se fosse fabricado em 2007 (processo 0,065m)

1,2mm

13mm
M I E E C Laboratrio de Sistemas Digitais 2007/08

51

Classificao dos circuitos integrados


Os circuitos integrados podem ser classficados de acordo com o nmero de portas lgicas equivalentes em:
SSI Small-Scale Integration - (<12) MSI Medium-Scale Integration (12 a 99) LSI Large-Scale Integration (100 a 9999) VLSI Very Large-Scale Integration (10000 a 99999) UVLSI Ultra Very Large-Scale Integration (> 100000)

M I E E C Laboratrio de Sistemas Digitais 2007/08

52

Tecnologias disponveis para implementar SD


Componentes padro com funo fixa. - Srie 74xx, Srie 4xxx
Circuitos off-the-shelf, que realizam uma funo especfica Circuitos digitais SSI e MSI Muito usados at finais dos anos 70, agora usados em circuitos simples, interfaces e para manter compatibilidade com sistemas antigos. Usados em sistemas computacionais e em sistemas embebidos. Projecto do sistema concentrado no software programa. Disponibilidade de muitas configuraes e perifricos Projecto feito medida de uma aplicao particular. A funo definida pelo utilizador no momento em que programa o dispositivo. Reconfigurveis . Podem ter at dezenas de milhes de gates equivalentes num nico chip Funcionam com frequncias at s centenas de MHZ Pequeno custo de desenvolvimento e de time to market Projectado para ser usado numa aplicao especfica. Operacionalidade definida pelo utilizador ao nvel da geometria e layout do circuito. Poder ser optimizado para elevado desempenho da funcionalidade fixa pretendida. Densidade at 350K gates/mm2 Elevado custo de desenvolvimento e de time to market 53

Microprocessadores. famlia 51, PICs


-

Circuitos programveis PLAs, PALs, CPLDs, FPGAs

Circuitos de aplicao especfica ASICs

M I E E C Laboratrio de Sistemas Digitais 2007/08

CIs digitais
CI s DIGITAIS CIs
CI s Padro CI CIs Padro s e p ps e s C Cs Semi Semi Custom Custom
Gate Gate Array Array Standard Standard Cell Cell

ASICS ASICS Full Full Custom Custom

CI s de CI CIs de Fun o Fixa Fun Funo Fixa


TTL TTL CMOS CMOS

CI s CI CIs Program veis Program Programveis


SPLD s CPLD s FPGA s SPLD CPLD FPGA SPLDs CPLDs FPGAs PLA s PAL s PLA PAL PLAs PALs

M I E E C Laboratrio de Sistemas Digitais 2007/08

54

Circuitos integrados padro


Implementam blocos funcionais simples de uso geral. Esto disponveis no mercado em grande variedade. So, na maioria dos casos, circuitos do tipo SSI ou MSI Normalmente pertencem a uma das seguintes famlias lgicas: TTL ( Transistor -Transistor- Logic)
usada h vrias dcadas, baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )


baseada em transistores MOSFET do tipo N e P

M I E E C Laboratrio de Sistemas Digitais 2007/08

55

Srie 74 das famlias TTL e CMOS


Famlia TTL
74L de Baixa Potncia 74H de Alta Velocidade 74S Schottky 74LS Schottky de Baixa Potncia (LS-TTL) 74AS Schottky Avanada (AS-TTL) 74ALS- Schottky Avanada de Baixa Potncia

Famlia CMOS
- 74C (compatvel, pino a pino e funo por funo, com os dispositivos TTL) - 74HC (CMOS de Alta Velocidade) - 74HCT (CMOS de Alta Velocidade que podem ser alimentados directamente por sadas de dispositivos TTL)

M I E E C Laboratrio de Sistemas Digitais 2007/08

56

O mundo da srie 74xx

M I E E C Laboratrio de Sistemas Digitais 2007/08

57

Transistores nMOS e pMOS


a tecnologia CMOS a mais usada na implementao de circuitos integrados digitais. usa 2 tipos de transistores: pMOS e nMOS, a funcionar como interruptores controlados pela tenso VGS
D D G VGS S S VGS>0 S VGS=0 D D G VGS D D

S VGS=0

S VGS<0

nMOS

pMOS

M I E E C Laboratrio de Sistemas Digitais 2007/08

58

Porta lgica NO (NOT) em CMOS


VDD S G T1 D Vx D G T2 S T2 Vf T1 D D T2 S S x = 1 ---> f = 0
59

x 0 1 VDD S

T1 on off

T2 off on

f 1 0 VDD S T1 D Vf D

Vf

x = 0 ---> f = 1
M I E E C Laboratrio de Sistemas Digitais 2007/08

Porta lgica NO-E(NAND) em CMOS


VDD S G T1 D G S T2 D D Vx1 G T3 S D Vx2 G T4 S
60

x1 0 Vf 0 1 1

x2 0 1 0 1

T1 on on off off

T2 on off on off

T3 off off on on

T4 off on off on

f 1 1 1 0

M I E E C Laboratrio de Sistemas Digitais 2007/08

Porta lgica NO-OU(NOR) em CMOS


VDD S Vx1 G T1 D S G T2 D Vf D G T3 S G D T4 S

x1 0 0 1 1

x2 0 1 0 1

T1 on on off off

T2 on off on off

T3 off off on on

T4 off on off on

f 1 0 0 0

Vx2

M I E E C Laboratrio de Sistemas Digitais 2007/08

61

Porta lgica E (AND) em CMOS


VDD S G T1 D G S T2 D D Vx1 G T3 S D G T4 S NAND
M I E E C Laboratrio de Sistemas Digitais 2007/08

S G T5 D D G T6 S Vf

Vx2

NOT

62

Portas Lgicas na srie 74


Encapsulamento do tipo DIP (Dual in Line Package)
- Pino 14 - Pino 7

14 pinos

- tenso positiva de alimentao ( + 5V Vcc ) - referncia de tenso (O V massa GND )


Pino 14 (Vcc) Marca

SN7400N

Pino1

Pino 7 (GND)

M I E E C Laboratrio de Sistemas Digitais 2007/08

63

Exemplo de portas lgicas da srie 74

7400 4 NANDs 2 entradas

7402 4 NORs 2 entradas

7404 6 NOTs

7408 4 ANDs 2 entradas

7432 4 ORs 2 entradas

7411 3 ANDs 3 entradas

M I E E C Laboratrio de Sistemas Digitais 2007/08

64

Circuito com integrados da srie 74


7404 +5v 7408

A B C

7432

F(A,B,C) = ( (C+B) A) + (A B)

M I E E C Laboratrio de Sistemas Digitais 2007/08

65

Placas de montagem - Breadboards


Rguas de alimentao Ligaes pr-existentes

placa de montagem

Rgua de montagem

M I E E C Laboratrio de Sistemas Digitais 2007/08

66

Montagem de CIs em placas


GND (0V)

A C B

7432

7408

7404
F

F(A,B,C) = ( (C+B) A) + (A B)

Vcc (5V)

M I E E C Laboratrio de Sistemas Digitais 2007/08

67

Montagem de um prottipo em breadboard

M I E E C Laboratrio de Sistemas Digitais 2007/08

68

Sistemas digitais com lgica discreta


At ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padro), interligados numa placa de circuito impresso.

M I E E C Laboratrio de Sistemas Digitais 2007/08

69

Dispositivos lgicos programveis


A partir dos anos 80 surgem os dispositivos lgicos programveis (PLDs). Os PLDs so circuitos integrados cujas ligaes internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos lgicos. Os mais usados para implementar circuitos digitais so: SPLDs (Simple Programmable Logic Device) :
PLAs - Programmable Logic Array PALs Programmable Array Logic

CPLDs (Complex Programmable Logic Device) FPGAs (Field Programmable Gate Array)

M I E E C Laboratrio de Sistemas Digitais 2007/08

70

Vantagens dos PLDs


Relativamente aos circuitos discretos padro os PLDs apresentam vantagens na implementao de sistemas digitais:
Reduzem a rea ocupada no circuito impresso Facilitam o desenvolvimento de prottipos Simulao do projecto intrnseca ao desenvolvimento. Podem ser optimizados em velocidade de funcionamento e consumo de potncia. - Tem a possibilidade de alterar a sua funcionalidade por reprogramao ( sem alteraes no circuito impresso). - Conduzem a menor tempo/custos de desenvolvimento. M I E E C Laboratrio de Sistemas Digitais 2007/08

71

SPLDs -Dispositivos de lgica programvel simples


A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas lgicas, um de ANDs e outro de ORs com ligaes configurveis por programao. No plano dos ANDs podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto. No plano dos ORs podemos combinar qualquer um dos termos produto dos ANDs para obter somas de produtos nas sadas.
Termos produto plano AND x0x1 x2 plano OR

PLA Programmable Logic Array


Os dois planos so programveis

PAL Programmable Array Logic


O plano de ORs fixo f0 x0 x1 x2 f1

Soma de produtos

M I E E C Laboratrio de Sistemas Digitais 2007/08

72

PLA Programmable Logic Array


I5 I4 I3 I2 I1 I0 Array OR programvel

os dois planos AND e OR so programveis. permite qualquer combinao de ANDs/ORs os termos AND so partilhados por todos os ORs

Array AND programvel O


3

Indica ligao programvel


M I E E C Laboratrio de Sistemas Digitais 2007/08

73

PAL Programmable Array Logic


I5 I4 I3 I2 I1 I0 Array OR fixo

s o plano AND programvel. o plano OR fixo n finito de combinaes de ANDs/ORs cada OR partilha s alguns dos termos AND

Array AND programvel

Indica ligao fixa Indica ligao programvel

M I E E C Laboratrio de Sistemas Digitais 2007/08

74

Como se configuram os SPLDs ?


No cruzamentos de linhas verticais e horizontais existem ligaes configurveis. Antes da programao, essas ligao designadas fusveis, podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusvel, anti-fusvel,EPROM,SRAM,...) A fase da programao consiste na alterao do estado inicial dos fusveis seleccionados por aplicao de sinais adequados. Alguns dispositivos permitem efectuar electricamente a reposio do estado inicial dos fusveis ( operao de erase) , sendo por isso reprogramveis.

M I E E C Laboratrio de Sistemas Digitais 2007/08

75

Exemplo de um circuito lgico com PAL


PAL de 4-entradas, 4-sadas termos OR fixos de 3 entradas

F1 = A B + C F2 = A B C + A C + A B F3 = A D + B D + F1 F4 = A B + C D + F1

M I E E C Laboratrio de Sistemas Digitais 2007/08

76

PAL16L8 16 entradas (max) e 8 sadas

M I E E C Laboratrio de Sistemas Digitais 2007/08

77

PAL16R8 com sadas registadas

Os FFs permitem a implementao de circuitos sequenciais

M I E E C Laboratrio de Sistemas Digitais 2007/08

78

CPLDs Complex Programmable Logic Devices


Dispositivos programveis com uma maior complexidade e nmero de portas lgicas intervenientes do que os SPLDs. Constituidos por um conjunto de blocos lgicos idnticos a um SPLD (macroclulas), e por uma matriz de ligaes que permite programar quer cada uma das macroclulas quer as suas interconexes. Circuitos lgicos simples podem ser realizados numa nica macroclula, obtendo-se os sistemas mais complexos por ligao de vrias macroclulas entre si.

M I E E C Laboratrio de Sistemas Digitais 2007/08

79

Arquitectura dos CPLDs

FB

FB

FB

FB Bloco Funcional do tipo SPLD

M I E E C Laboratrio de Sistemas Digitais 2007/08

80

Arquitectura da famlia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroclulas. At 90 termos produto por macroclula. Frequncia mxima de funcionamento de 178MHz

M I E E C Laboratrio de Sistemas Digitais 2007/08

81

FPGA Field Programmable Gate Array


Dispositivos introduzidos em 1985/86 pela XILINX. Agregados regulares de blocos lgicos configurveis (CLB p/ a Xilinx) com interconexes programveis entre os blocos lgicos. A complexidade dos CLB reduzida (dezenas de portas lgicas)
- Unidade bsica: look-up-tables (LUT) para realizar funes lgicas. - Elementos de memria: FFs,latches,blocos de RAM.

Configurao rpida por escrita em SRAM


- Configurao voltil (necessita EPROM auxiliar). - Configurao in-circuit rpida (milisegundos). - Possibilidade de reconfigurao parcial.

Possuem usualmente circuitos dedicados para operaes aritmticas e blocos de RAM distribuida.

M I E E C Laboratrio de Sistemas Digitais 2007/08

82

FPGA Field Programmable Gate Array


Arquitectura da FPGA (Xilinx)
E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S

E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S E/S

Blocos perifricos de Entrada/Sada Canais de interligao Blocos lgicos configurveis (CLB)


83

M I E E C Laboratrio de Sistemas Digitais 2007/08

Arquitectura da famlia SPARTAN-3


Os Configurable Logic Blocks (CLBs) contm Look-Up Tables (LUTs), baseadas em RAM, de 4 entradas, para implementar qualquer funo lgica de 4 entradas e armazenar informao. Os Input/Output Blocks (IOBs) controlam o fluxo de dados entre os pinos de I/O e a lgica interna do dispositivo. Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port. Existem Blocos Multiplicadores que aceitam nmeros de 18 bits e calculam o produto. Um Digital Clock Manager (DCM) faz a gesto dos sinais de relgio. A famlia Spartan-3 tem uma grande capacidade para efectuar as interconexes entre os vrios blocos funcionais, permitindo multiplas possibilidades de encaminhamento.
M I E E C Laboratrio de Sistemas Digitais 2007/08

84

Famlia Spartan-3 FPGA da XILINX

M I E E C Laboratrio de Sistemas Digitais 2007/08

85

Ferramentas CAD/CAE
CAD/CAE Computer Aided Design/ Computer Aided Engineering. So ferramentas fundamentais para o projecto em tempo til de circuitos digitais complexos. Trabalham com representaes (modelos) dos circuitos.

Exemplos:
Captura esquemtica (desenhar o circuito lgico) Sntese lgica Simulao lgica e verificao funcional Anlise temporal Simulao elctrica Modelao e simulao de faltas Gerao de vectores de teste Anlise trmica Edio de texto
86

M I E E C Laboratrio de Sistemas Digitais 2007/08

Fluxo de projecto com FPGA (1)


Design Entry Librarias HDL Captura de esquemtico Sntese Lgica

Design Entry:
Criar os ficheiros de projecto com: Editor de esquemtico ou/e Linguagem de descrio de hardware (Verilog,VHDL).

netlist

Verifica Verificao
Ps-Sntese

Verificao:
0100 1110 1100 1111

Simulao

Usando as ferramentas CAD para simulao funcional.

Vectores de teste

M I E E C Laboratrio de Sistemas Digitais 2007/08

87

Fluxo de projecto com FPGA (2)


Translate & Map:
IMPLEMENTA IMPLEMENTAO Translate & Map Place & Route Bit Stream File Generation programao
FPGA

Faz o mapeamento tecnolgico dos elementos descritos na netlist.

Place & Route:


Aloca fsicamente os blocos mapeados a reas determinadas da FPGA: Timing Analysis Minimizando rea final ocupada e maximizando relaes de proximidade. Construindo as interligaes definidas na netlist, satisfazendo restries temporais e minimizando a rea.

Bit Stream File Generation:


Para programar a FPGA gerado um ficheiro de configurao (ficheiro de extenso .bit).Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configurao.
88

M I E E C Laboratrio de Sistemas Digitais 2007/08

Captura de esquemtico

M I E E C Laboratrio de Sistemas Digitais 2007/08

89

Circuito descrito na netlist

M I E E C Laboratrio de Sistemas Digitais 2007/08

90

Translating & Mapping


LUT0 LUT4 LUT1 LUT5 LUT2 FF2 LUT3 FF1

M I E E C Laboratrio de Sistemas Digitais 2007/08

91

Placing
FPGA

LUT0 LUT4 LUT1 LUT5

...
FF1

...

LUT2

FF2 LUT3

M I E E C Laboratrio de Sistemas Digitais 2007/08

92

Routing
FPGA

LUT0 LUT4 LUT1 LUT5

...
FF1

...

LUT2

FF2 LUT3

M I E E C Laboratrio de Sistemas Digitais 2007/08

93

Placa Spartan3 - Starter Board


Caractersticas:
Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) , com 12 multiplicadores de 18 bits, 216K bits de RAM, e frequncias at 500MHz de relgio interno. 2Mbit de Platform Flash (XCF02S). 8 interruptores de 2 posies. 4 botes de presso. 8 LEDs . 4 mostradores de 7 segmentos. Porta srie. Porta VGA e porta rato/teclado. 3 ligadores de expanso (40-pinos). 3 reguladores de tenso (3.3, 2.5 e 1.2V) Cabo de programao.

M I E E C Laboratrio de Sistemas Digitais 2007/08

94