47
M I E E C – Laboratório de Sistemas Digitais – 2007/08 Apresentação Laboratório de Sistemas Digitais 2 M I E E C – Laboratório de Sistemas Digitais – 2007/08 Laboratório de Sistemas Digitais (EEC0006) Módulo da disciplina Propedêuticas de Engenharia Electrotécnica e de Computadores 1 (EEC0001) Mestrado Integrado em Engenharia Electrotécnica e de Computadores 1º ano, 1º semestre

LSDI 0708 Slides T

Embed Size (px)

Citation preview

Page 1: LSDI 0708 Slides T

M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Apresentaccedilatildeo

Laboratoacuterio de Sistemas Digitais

2M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Laboratoacuterio de Sistemas Digitais(EEC0006)

Moacutedulo da disciplinaPropedecircuticas de Engenharia Electroteacutecnica e de Computadores 1

(EEC0001)

Mestrado Integrado emEngenharia Electroteacutecnica e de Computadores

1ordm ano 1ordm semestre

3M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Docentes

bull Teoacutericas- Augusto Silva Gomes asgfeuppt- Heacutelio Sousa Mendonccedila hsmfeuppt

bull Teoacuterico-Praacuteticas- Augusto Silva Gomes asgfeuppt- Heacutelio Sousa Mendonccedila hsmfeuppt- Joseacute Machado da Silva jmsfeuppt- Joseacute Carlos Alves jcafeuppt

4M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Programa

bull Sistemas de numeraccedilatildeo e representaccedilatildeo de nuacutemerosbull Aritmeacutetica binaacuteriabull Aacutelgebra de Boole Aplicaccedilatildeo agrave simplificaccedilatildeo de expressotildees loacutegicas e agrave

minimizaccedilatildeo de circuitos combinacionaisbull Siacutentese de circuitos combinacionais usando blocos funcionais como

multiplexadores codificadores descodificadores e comparadoresbull Anaacutelise e siacutentese de maacutequinas de estado realizadas com circuitos

sequenciais siacutencronosbull Siacutentese de circuitos sequenciais usando blocos funcionais como

contadores registos de deslocamento e circuitos programaacuteveisbull Modelaccedilatildeo de circuitos combinacionais e sequenciais com a

linguagem Verilog para descriccedilatildeo de hardwarebull Introduccedilatildeo aos microprocessadores modelo de execuccedilatildeo de

programa residente em memoacuteria organizaccedilatildeo interna unidade de descodificaccedilatildeo controlo e execuccedilatildeo de instruccedilotildees

5M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Bibliografia e apoio

bull Bibliografia- Joseacute Carlos Alves Sistemas Digitais 2006 FEUP- JFWakerly ldquoDigital Design ndash Principles and Practicesrdquo

Prentice Hall 3rd Edition 2001- Stephen BrownZvonko Vrasenic ndashrdquoFundamentals of Digital

Logic with Verilog Designrdquo McGrawHill2nd Edition2007

bull Apoio nos Conteuacutedos da disciplina- Transparecircncias usadas nas aulas teoacutericas e teoacuterico-praacuteticas- Livro de Exerciacutecios da disciplina- Enunciados de exerciacutecios e exames anteriores- Avisos importantes

6M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Aulas

bull Aulas T (Teoacutericas) 1hsemana - Introduzem VERILOG - necessaacuterio para os labs- Complementam as aulas teoacuterico-praacuteticas

bull Aulas TP (Teoacuterico-Praacuteticas) 4hsemana- Apresentaccedilatildeo de mateacuteria- Resoluccedilatildeo de exerciacutecios- Trabalhos de Laboratoacuterio

bull Projecto e ensaio de pequenos sistemas digitais

7M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Avaliaccedilatildeo

bull Avaliaccedilatildeo distribuiacuteda sem exame final- 2 minitestes (10 valores)

bull Duraccedilatildeo de 1 hora (21Nov e 16Jan)bull 5 valores cadabull Prevecirc-se uma prova de recurso para os alunos que por motivos

justificados natildeo tenham comparecido aos minitestes

- 5 Trabalhos de Laboratoacuterio (10 valores)bull Ficha de avaliaccedilatildeo nas aulas TP ( 2 valores por cada lab)bull Datas previstas consultar a ficha da disciplina

M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Introduccedilatildeo aos Sistemas Digitais

9M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais analoacutegicos

bull A maioria das grandezas fiacutesicas (temperatura velocidade pressatildeo pH som ) satildeo analoacutegicas

bull Os sinais analoacutegicos variam de forma contiacutenua quer no tempo quer na amplitude (podem ter um nuacutemero infinito de valores numa dada gama)

T (ordmC)

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

32302826242220181614121086420

t

Evoluccedilatildeo da temperatura ao longo do dia

10M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas analoacutegicos

bull Um sistema eacute definido formalmente como uma entidade que realiza uma funccedilatildeo processando transformando um ou mais sinais de entrada de forma a gerar os sinais de saiacuteda

bull Nos sistemas analoacutegicos os sinais de entrada e saiacuteda satildeo analoacutegicos

11M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de sistema electroacutenico analoacutegico

bull A onda sonora provoca variaccedilatildeo da pressatildeo no ar e o microfone cria uma versatildeo analoacutegica dessa variaccedilatildeo sob a forma de um sinal eleacutectrico na sua saiacuteda - sinal aacuteudio

bull Depois de amplificado o sinal aacuteudio o altifalante volta a emitir a onda sonora por um processo inverso ao anterior

Onda sonora original

Sinal

Amplificador

Sinal audio amplificado

Som reproduzido

AltifalanteMicrofone

12M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais

bull Os sinais digitais variam de forma discreta quer no tempo quer na amplitude ( tecircm um nuacutemero finito de valores numa dada gama )

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

32302826242220181614121086420

t (horas do dia)

T (ordmC)28

29

28

283

286

281

13M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais binaacuterios

bull Uma classe importante de sinais digitais satildeo os binaacuteriosmodelados como tendo apenas dois valores discretos distintos acute01acute acutebaixoaltoacute acutefalsoverdadeiroacute

t

220V

0V

180V

40V

240V

t

estado dalacircmpada

lacircmpada ligada (1)

lacircmpada desligada (0)

estado indefinido

ligada

desligada

periacuteodos de transiccedilatildeo

0 1 10

14M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Interface analoacutegico-digital

bull Sendo a maioria das grandezas fiacutesicas analoacutegicas eacute muitas vezes necessaacuterio realizar a interface entre sistemas analoacutegicos e sistemas digitais usando conversores AD e DA

V( t)

t

sinal analoacutegico original e reconstruiacutedo

A DV(t)

101100101100

V( t)

t

sinal analoacutegico original

127

63

0

-63

t

-127

A

amostras do sinal

V( t)

D A

101100101100

V(t)

127

63

0

-63

t

-127

A

t

V( t)

sinal analoacutegico reconstruiacutedo amostras do sinal

15M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Conversatildeo analoacutegicodigital

bull A conversatildeo de um sinal analoacutegico num vector de sinais digitais binaacuterios envolve as operaccedilotildees de amostragem quantificaccedilatildeo e codificaccedilatildeo

sinal

analoacutegico

bull Amostragem ndash discretizaccedilatildeo no tempo

bull Quantificaccedilatildeo ndash discretizaccedilatildeo nas amplitudes

bull Codificaccedilatildeo ndash atribuiccedilatildeo de um coacutedigo binaacuterio a cada valor discreto do sinal digitalizado

amostragem

01

3

5

7 65

41

29 342

52 49

3027

Sinal digital

quantificaccedilatildeo

01

3

5

77

43 3

45

3 3

5

111 100 011 011 100 101 101 011 011

1

0

codificaccedilatildeo

AD sinais

digitais binaacuterios

16M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

127

-127

63

31

95

0

-95

-31

-63

-19 32 87 94 80 14 -43amplitude do sinal nos instantes de amostragem

periacuteodo de amostragem (125μs para fs=8KHz)

sinal analoacutegicoamostraA

Sinal de aacuteudio

17M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull Um disco de vinil

Aacuteudio analoacutegico

18M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Aacuteudio digital

19M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistema electroacutenico hiacutebrido

bull Na maioria dos casos os sistemas electroacutenicos satildeo hiacutebridos ou seja combinam sistemas analoacutegicos e digitais

Onda sonora

altifalanteSinal aacuteudio reconstruiacutedo

Dados digitaisDA Amplificador

20M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

O caudal de aacutegua varia de forma contiacutenua com o niacutevel de aacutegua no tanque

Qual eacute a relaccedilatildeo entre o niacutevel de aacutegua e o caudal que a vaacutelvula deixa entrarMuito complexa

Controlo analoacutegico de um depoacutesito de aacutegua

21M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Apenas eacute importante saber se foi atingidoou natildeo o niacutevel maacuteximo ou o niacutevel miacutenimo

Como escrever um programaque realize a funccedilatildeo de controlo digital

ABRE = 0enquanto ligadose VAZIO == 0

ABRE = 1senatildeo

se ABRE == 1se CHEIO == 1ABRE = 0

Controlo digital do depoacutesito de aacutegua

22M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

caudal digital

vaacutelvula abre vaacutelvula fecha

caudal maacuteximo

caudal miacutenimo(zero)

t

caudal analoacutegico

descarga

caudal maacuteximo

caudal miacutenimo(zero)

enchimento

a subida do nivel da aacuteguavai fechando a vaacutelvula

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Digital vs analoacutegico

23M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Um textoem ASCII

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

nova linha

coacutedigos ASCII (em decimal)caracteres

ASCII - American Standard Code for Information Interchange

Digitalizaccedilatildeo de Texto

24M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

67 74 86

Um pixel

Maria Eugeacutenia de Oliveira Botelho1921 105

20

Digitalizaccedilatildeo de Imagens

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 2: LSDI 0708 Slides T

3M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Docentes

bull Teoacutericas- Augusto Silva Gomes asgfeuppt- Heacutelio Sousa Mendonccedila hsmfeuppt

bull Teoacuterico-Praacuteticas- Augusto Silva Gomes asgfeuppt- Heacutelio Sousa Mendonccedila hsmfeuppt- Joseacute Machado da Silva jmsfeuppt- Joseacute Carlos Alves jcafeuppt

4M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Programa

bull Sistemas de numeraccedilatildeo e representaccedilatildeo de nuacutemerosbull Aritmeacutetica binaacuteriabull Aacutelgebra de Boole Aplicaccedilatildeo agrave simplificaccedilatildeo de expressotildees loacutegicas e agrave

minimizaccedilatildeo de circuitos combinacionaisbull Siacutentese de circuitos combinacionais usando blocos funcionais como

multiplexadores codificadores descodificadores e comparadoresbull Anaacutelise e siacutentese de maacutequinas de estado realizadas com circuitos

sequenciais siacutencronosbull Siacutentese de circuitos sequenciais usando blocos funcionais como

contadores registos de deslocamento e circuitos programaacuteveisbull Modelaccedilatildeo de circuitos combinacionais e sequenciais com a

linguagem Verilog para descriccedilatildeo de hardwarebull Introduccedilatildeo aos microprocessadores modelo de execuccedilatildeo de

programa residente em memoacuteria organizaccedilatildeo interna unidade de descodificaccedilatildeo controlo e execuccedilatildeo de instruccedilotildees

5M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Bibliografia e apoio

bull Bibliografia- Joseacute Carlos Alves Sistemas Digitais 2006 FEUP- JFWakerly ldquoDigital Design ndash Principles and Practicesrdquo

Prentice Hall 3rd Edition 2001- Stephen BrownZvonko Vrasenic ndashrdquoFundamentals of Digital

Logic with Verilog Designrdquo McGrawHill2nd Edition2007

bull Apoio nos Conteuacutedos da disciplina- Transparecircncias usadas nas aulas teoacutericas e teoacuterico-praacuteticas- Livro de Exerciacutecios da disciplina- Enunciados de exerciacutecios e exames anteriores- Avisos importantes

6M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Aulas

bull Aulas T (Teoacutericas) 1hsemana - Introduzem VERILOG - necessaacuterio para os labs- Complementam as aulas teoacuterico-praacuteticas

bull Aulas TP (Teoacuterico-Praacuteticas) 4hsemana- Apresentaccedilatildeo de mateacuteria- Resoluccedilatildeo de exerciacutecios- Trabalhos de Laboratoacuterio

bull Projecto e ensaio de pequenos sistemas digitais

7M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Avaliaccedilatildeo

bull Avaliaccedilatildeo distribuiacuteda sem exame final- 2 minitestes (10 valores)

bull Duraccedilatildeo de 1 hora (21Nov e 16Jan)bull 5 valores cadabull Prevecirc-se uma prova de recurso para os alunos que por motivos

justificados natildeo tenham comparecido aos minitestes

- 5 Trabalhos de Laboratoacuterio (10 valores)bull Ficha de avaliaccedilatildeo nas aulas TP ( 2 valores por cada lab)bull Datas previstas consultar a ficha da disciplina

M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Introduccedilatildeo aos Sistemas Digitais

9M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais analoacutegicos

bull A maioria das grandezas fiacutesicas (temperatura velocidade pressatildeo pH som ) satildeo analoacutegicas

bull Os sinais analoacutegicos variam de forma contiacutenua quer no tempo quer na amplitude (podem ter um nuacutemero infinito de valores numa dada gama)

T (ordmC)

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

32302826242220181614121086420

t

Evoluccedilatildeo da temperatura ao longo do dia

10M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas analoacutegicos

bull Um sistema eacute definido formalmente como uma entidade que realiza uma funccedilatildeo processando transformando um ou mais sinais de entrada de forma a gerar os sinais de saiacuteda

bull Nos sistemas analoacutegicos os sinais de entrada e saiacuteda satildeo analoacutegicos

11M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de sistema electroacutenico analoacutegico

bull A onda sonora provoca variaccedilatildeo da pressatildeo no ar e o microfone cria uma versatildeo analoacutegica dessa variaccedilatildeo sob a forma de um sinal eleacutectrico na sua saiacuteda - sinal aacuteudio

bull Depois de amplificado o sinal aacuteudio o altifalante volta a emitir a onda sonora por um processo inverso ao anterior

Onda sonora original

Sinal

Amplificador

Sinal audio amplificado

Som reproduzido

AltifalanteMicrofone

12M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais

bull Os sinais digitais variam de forma discreta quer no tempo quer na amplitude ( tecircm um nuacutemero finito de valores numa dada gama )

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

32302826242220181614121086420

t (horas do dia)

T (ordmC)28

29

28

283

286

281

13M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais binaacuterios

bull Uma classe importante de sinais digitais satildeo os binaacuteriosmodelados como tendo apenas dois valores discretos distintos acute01acute acutebaixoaltoacute acutefalsoverdadeiroacute

t

220V

0V

180V

40V

240V

t

estado dalacircmpada

lacircmpada ligada (1)

lacircmpada desligada (0)

estado indefinido

ligada

desligada

periacuteodos de transiccedilatildeo

0 1 10

14M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Interface analoacutegico-digital

bull Sendo a maioria das grandezas fiacutesicas analoacutegicas eacute muitas vezes necessaacuterio realizar a interface entre sistemas analoacutegicos e sistemas digitais usando conversores AD e DA

V( t)

t

sinal analoacutegico original e reconstruiacutedo

A DV(t)

101100101100

V( t)

t

sinal analoacutegico original

127

63

0

-63

t

-127

A

amostras do sinal

V( t)

D A

101100101100

V(t)

127

63

0

-63

t

-127

A

t

V( t)

sinal analoacutegico reconstruiacutedo amostras do sinal

15M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Conversatildeo analoacutegicodigital

bull A conversatildeo de um sinal analoacutegico num vector de sinais digitais binaacuterios envolve as operaccedilotildees de amostragem quantificaccedilatildeo e codificaccedilatildeo

sinal

analoacutegico

bull Amostragem ndash discretizaccedilatildeo no tempo

bull Quantificaccedilatildeo ndash discretizaccedilatildeo nas amplitudes

bull Codificaccedilatildeo ndash atribuiccedilatildeo de um coacutedigo binaacuterio a cada valor discreto do sinal digitalizado

amostragem

01

3

5

7 65

41

29 342

52 49

3027

Sinal digital

quantificaccedilatildeo

01

3

5

77

43 3

45

3 3

5

111 100 011 011 100 101 101 011 011

1

0

codificaccedilatildeo

AD sinais

digitais binaacuterios

16M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

127

-127

63

31

95

0

-95

-31

-63

-19 32 87 94 80 14 -43amplitude do sinal nos instantes de amostragem

periacuteodo de amostragem (125μs para fs=8KHz)

sinal analoacutegicoamostraA

Sinal de aacuteudio

17M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull Um disco de vinil

Aacuteudio analoacutegico

18M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Aacuteudio digital

19M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistema electroacutenico hiacutebrido

bull Na maioria dos casos os sistemas electroacutenicos satildeo hiacutebridos ou seja combinam sistemas analoacutegicos e digitais

Onda sonora

altifalanteSinal aacuteudio reconstruiacutedo

Dados digitaisDA Amplificador

20M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

O caudal de aacutegua varia de forma contiacutenua com o niacutevel de aacutegua no tanque

Qual eacute a relaccedilatildeo entre o niacutevel de aacutegua e o caudal que a vaacutelvula deixa entrarMuito complexa

Controlo analoacutegico de um depoacutesito de aacutegua

21M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Apenas eacute importante saber se foi atingidoou natildeo o niacutevel maacuteximo ou o niacutevel miacutenimo

Como escrever um programaque realize a funccedilatildeo de controlo digital

ABRE = 0enquanto ligadose VAZIO == 0

ABRE = 1senatildeo

se ABRE == 1se CHEIO == 1ABRE = 0

Controlo digital do depoacutesito de aacutegua

22M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

caudal digital

vaacutelvula abre vaacutelvula fecha

caudal maacuteximo

caudal miacutenimo(zero)

t

caudal analoacutegico

descarga

caudal maacuteximo

caudal miacutenimo(zero)

enchimento

a subida do nivel da aacuteguavai fechando a vaacutelvula

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Digital vs analoacutegico

23M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Um textoem ASCII

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

nova linha

coacutedigos ASCII (em decimal)caracteres

ASCII - American Standard Code for Information Interchange

Digitalizaccedilatildeo de Texto

24M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

67 74 86

Um pixel

Maria Eugeacutenia de Oliveira Botelho1921 105

20

Digitalizaccedilatildeo de Imagens

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 3: LSDI 0708 Slides T

5M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Bibliografia e apoio

bull Bibliografia- Joseacute Carlos Alves Sistemas Digitais 2006 FEUP- JFWakerly ldquoDigital Design ndash Principles and Practicesrdquo

Prentice Hall 3rd Edition 2001- Stephen BrownZvonko Vrasenic ndashrdquoFundamentals of Digital

Logic with Verilog Designrdquo McGrawHill2nd Edition2007

bull Apoio nos Conteuacutedos da disciplina- Transparecircncias usadas nas aulas teoacutericas e teoacuterico-praacuteticas- Livro de Exerciacutecios da disciplina- Enunciados de exerciacutecios e exames anteriores- Avisos importantes

6M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Aulas

bull Aulas T (Teoacutericas) 1hsemana - Introduzem VERILOG - necessaacuterio para os labs- Complementam as aulas teoacuterico-praacuteticas

bull Aulas TP (Teoacuterico-Praacuteticas) 4hsemana- Apresentaccedilatildeo de mateacuteria- Resoluccedilatildeo de exerciacutecios- Trabalhos de Laboratoacuterio

bull Projecto e ensaio de pequenos sistemas digitais

7M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Avaliaccedilatildeo

bull Avaliaccedilatildeo distribuiacuteda sem exame final- 2 minitestes (10 valores)

bull Duraccedilatildeo de 1 hora (21Nov e 16Jan)bull 5 valores cadabull Prevecirc-se uma prova de recurso para os alunos que por motivos

justificados natildeo tenham comparecido aos minitestes

- 5 Trabalhos de Laboratoacuterio (10 valores)bull Ficha de avaliaccedilatildeo nas aulas TP ( 2 valores por cada lab)bull Datas previstas consultar a ficha da disciplina

M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Introduccedilatildeo aos Sistemas Digitais

9M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais analoacutegicos

bull A maioria das grandezas fiacutesicas (temperatura velocidade pressatildeo pH som ) satildeo analoacutegicas

bull Os sinais analoacutegicos variam de forma contiacutenua quer no tempo quer na amplitude (podem ter um nuacutemero infinito de valores numa dada gama)

T (ordmC)

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

32302826242220181614121086420

t

Evoluccedilatildeo da temperatura ao longo do dia

10M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas analoacutegicos

bull Um sistema eacute definido formalmente como uma entidade que realiza uma funccedilatildeo processando transformando um ou mais sinais de entrada de forma a gerar os sinais de saiacuteda

bull Nos sistemas analoacutegicos os sinais de entrada e saiacuteda satildeo analoacutegicos

11M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de sistema electroacutenico analoacutegico

bull A onda sonora provoca variaccedilatildeo da pressatildeo no ar e o microfone cria uma versatildeo analoacutegica dessa variaccedilatildeo sob a forma de um sinal eleacutectrico na sua saiacuteda - sinal aacuteudio

bull Depois de amplificado o sinal aacuteudio o altifalante volta a emitir a onda sonora por um processo inverso ao anterior

Onda sonora original

Sinal

Amplificador

Sinal audio amplificado

Som reproduzido

AltifalanteMicrofone

12M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais

bull Os sinais digitais variam de forma discreta quer no tempo quer na amplitude ( tecircm um nuacutemero finito de valores numa dada gama )

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

32302826242220181614121086420

t (horas do dia)

T (ordmC)28

29

28

283

286

281

13M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais binaacuterios

bull Uma classe importante de sinais digitais satildeo os binaacuteriosmodelados como tendo apenas dois valores discretos distintos acute01acute acutebaixoaltoacute acutefalsoverdadeiroacute

t

220V

0V

180V

40V

240V

t

estado dalacircmpada

lacircmpada ligada (1)

lacircmpada desligada (0)

estado indefinido

ligada

desligada

periacuteodos de transiccedilatildeo

0 1 10

14M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Interface analoacutegico-digital

bull Sendo a maioria das grandezas fiacutesicas analoacutegicas eacute muitas vezes necessaacuterio realizar a interface entre sistemas analoacutegicos e sistemas digitais usando conversores AD e DA

V( t)

t

sinal analoacutegico original e reconstruiacutedo

A DV(t)

101100101100

V( t)

t

sinal analoacutegico original

127

63

0

-63

t

-127

A

amostras do sinal

V( t)

D A

101100101100

V(t)

127

63

0

-63

t

-127

A

t

V( t)

sinal analoacutegico reconstruiacutedo amostras do sinal

15M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Conversatildeo analoacutegicodigital

bull A conversatildeo de um sinal analoacutegico num vector de sinais digitais binaacuterios envolve as operaccedilotildees de amostragem quantificaccedilatildeo e codificaccedilatildeo

sinal

analoacutegico

bull Amostragem ndash discretizaccedilatildeo no tempo

bull Quantificaccedilatildeo ndash discretizaccedilatildeo nas amplitudes

bull Codificaccedilatildeo ndash atribuiccedilatildeo de um coacutedigo binaacuterio a cada valor discreto do sinal digitalizado

amostragem

01

3

5

7 65

41

29 342

52 49

3027

Sinal digital

quantificaccedilatildeo

01

3

5

77

43 3

45

3 3

5

111 100 011 011 100 101 101 011 011

1

0

codificaccedilatildeo

AD sinais

digitais binaacuterios

16M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

127

-127

63

31

95

0

-95

-31

-63

-19 32 87 94 80 14 -43amplitude do sinal nos instantes de amostragem

periacuteodo de amostragem (125μs para fs=8KHz)

sinal analoacutegicoamostraA

Sinal de aacuteudio

17M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull Um disco de vinil

Aacuteudio analoacutegico

18M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Aacuteudio digital

19M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistema electroacutenico hiacutebrido

bull Na maioria dos casos os sistemas electroacutenicos satildeo hiacutebridos ou seja combinam sistemas analoacutegicos e digitais

Onda sonora

altifalanteSinal aacuteudio reconstruiacutedo

Dados digitaisDA Amplificador

20M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

O caudal de aacutegua varia de forma contiacutenua com o niacutevel de aacutegua no tanque

Qual eacute a relaccedilatildeo entre o niacutevel de aacutegua e o caudal que a vaacutelvula deixa entrarMuito complexa

Controlo analoacutegico de um depoacutesito de aacutegua

21M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Apenas eacute importante saber se foi atingidoou natildeo o niacutevel maacuteximo ou o niacutevel miacutenimo

Como escrever um programaque realize a funccedilatildeo de controlo digital

ABRE = 0enquanto ligadose VAZIO == 0

ABRE = 1senatildeo

se ABRE == 1se CHEIO == 1ABRE = 0

Controlo digital do depoacutesito de aacutegua

22M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

caudal digital

vaacutelvula abre vaacutelvula fecha

caudal maacuteximo

caudal miacutenimo(zero)

t

caudal analoacutegico

descarga

caudal maacuteximo

caudal miacutenimo(zero)

enchimento

a subida do nivel da aacuteguavai fechando a vaacutelvula

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Digital vs analoacutegico

23M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Um textoem ASCII

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

nova linha

coacutedigos ASCII (em decimal)caracteres

ASCII - American Standard Code for Information Interchange

Digitalizaccedilatildeo de Texto

24M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

67 74 86

Um pixel

Maria Eugeacutenia de Oliveira Botelho1921 105

20

Digitalizaccedilatildeo de Imagens

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 4: LSDI 0708 Slides T

7M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Avaliaccedilatildeo

bull Avaliaccedilatildeo distribuiacuteda sem exame final- 2 minitestes (10 valores)

bull Duraccedilatildeo de 1 hora (21Nov e 16Jan)bull 5 valores cadabull Prevecirc-se uma prova de recurso para os alunos que por motivos

justificados natildeo tenham comparecido aos minitestes

- 5 Trabalhos de Laboratoacuterio (10 valores)bull Ficha de avaliaccedilatildeo nas aulas TP ( 2 valores por cada lab)bull Datas previstas consultar a ficha da disciplina

M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Introduccedilatildeo aos Sistemas Digitais

9M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais analoacutegicos

bull A maioria das grandezas fiacutesicas (temperatura velocidade pressatildeo pH som ) satildeo analoacutegicas

bull Os sinais analoacutegicos variam de forma contiacutenua quer no tempo quer na amplitude (podem ter um nuacutemero infinito de valores numa dada gama)

T (ordmC)

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

32302826242220181614121086420

t

Evoluccedilatildeo da temperatura ao longo do dia

10M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas analoacutegicos

bull Um sistema eacute definido formalmente como uma entidade que realiza uma funccedilatildeo processando transformando um ou mais sinais de entrada de forma a gerar os sinais de saiacuteda

bull Nos sistemas analoacutegicos os sinais de entrada e saiacuteda satildeo analoacutegicos

11M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de sistema electroacutenico analoacutegico

bull A onda sonora provoca variaccedilatildeo da pressatildeo no ar e o microfone cria uma versatildeo analoacutegica dessa variaccedilatildeo sob a forma de um sinal eleacutectrico na sua saiacuteda - sinal aacuteudio

bull Depois de amplificado o sinal aacuteudio o altifalante volta a emitir a onda sonora por um processo inverso ao anterior

Onda sonora original

Sinal

Amplificador

Sinal audio amplificado

Som reproduzido

AltifalanteMicrofone

12M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais

bull Os sinais digitais variam de forma discreta quer no tempo quer na amplitude ( tecircm um nuacutemero finito de valores numa dada gama )

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

32302826242220181614121086420

t (horas do dia)

T (ordmC)28

29

28

283

286

281

13M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais binaacuterios

bull Uma classe importante de sinais digitais satildeo os binaacuteriosmodelados como tendo apenas dois valores discretos distintos acute01acute acutebaixoaltoacute acutefalsoverdadeiroacute

t

220V

0V

180V

40V

240V

t

estado dalacircmpada

lacircmpada ligada (1)

lacircmpada desligada (0)

estado indefinido

ligada

desligada

periacuteodos de transiccedilatildeo

0 1 10

14M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Interface analoacutegico-digital

bull Sendo a maioria das grandezas fiacutesicas analoacutegicas eacute muitas vezes necessaacuterio realizar a interface entre sistemas analoacutegicos e sistemas digitais usando conversores AD e DA

V( t)

t

sinal analoacutegico original e reconstruiacutedo

A DV(t)

101100101100

V( t)

t

sinal analoacutegico original

127

63

0

-63

t

-127

A

amostras do sinal

V( t)

D A

101100101100

V(t)

127

63

0

-63

t

-127

A

t

V( t)

sinal analoacutegico reconstruiacutedo amostras do sinal

15M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Conversatildeo analoacutegicodigital

bull A conversatildeo de um sinal analoacutegico num vector de sinais digitais binaacuterios envolve as operaccedilotildees de amostragem quantificaccedilatildeo e codificaccedilatildeo

sinal

analoacutegico

bull Amostragem ndash discretizaccedilatildeo no tempo

bull Quantificaccedilatildeo ndash discretizaccedilatildeo nas amplitudes

bull Codificaccedilatildeo ndash atribuiccedilatildeo de um coacutedigo binaacuterio a cada valor discreto do sinal digitalizado

amostragem

01

3

5

7 65

41

29 342

52 49

3027

Sinal digital

quantificaccedilatildeo

01

3

5

77

43 3

45

3 3

5

111 100 011 011 100 101 101 011 011

1

0

codificaccedilatildeo

AD sinais

digitais binaacuterios

16M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

127

-127

63

31

95

0

-95

-31

-63

-19 32 87 94 80 14 -43amplitude do sinal nos instantes de amostragem

periacuteodo de amostragem (125μs para fs=8KHz)

sinal analoacutegicoamostraA

Sinal de aacuteudio

17M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull Um disco de vinil

Aacuteudio analoacutegico

18M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Aacuteudio digital

19M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistema electroacutenico hiacutebrido

bull Na maioria dos casos os sistemas electroacutenicos satildeo hiacutebridos ou seja combinam sistemas analoacutegicos e digitais

Onda sonora

altifalanteSinal aacuteudio reconstruiacutedo

Dados digitaisDA Amplificador

20M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

O caudal de aacutegua varia de forma contiacutenua com o niacutevel de aacutegua no tanque

Qual eacute a relaccedilatildeo entre o niacutevel de aacutegua e o caudal que a vaacutelvula deixa entrarMuito complexa

Controlo analoacutegico de um depoacutesito de aacutegua

21M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Apenas eacute importante saber se foi atingidoou natildeo o niacutevel maacuteximo ou o niacutevel miacutenimo

Como escrever um programaque realize a funccedilatildeo de controlo digital

ABRE = 0enquanto ligadose VAZIO == 0

ABRE = 1senatildeo

se ABRE == 1se CHEIO == 1ABRE = 0

Controlo digital do depoacutesito de aacutegua

22M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

caudal digital

vaacutelvula abre vaacutelvula fecha

caudal maacuteximo

caudal miacutenimo(zero)

t

caudal analoacutegico

descarga

caudal maacuteximo

caudal miacutenimo(zero)

enchimento

a subida do nivel da aacuteguavai fechando a vaacutelvula

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Digital vs analoacutegico

23M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Um textoem ASCII

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

nova linha

coacutedigos ASCII (em decimal)caracteres

ASCII - American Standard Code for Information Interchange

Digitalizaccedilatildeo de Texto

24M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

67 74 86

Um pixel

Maria Eugeacutenia de Oliveira Botelho1921 105

20

Digitalizaccedilatildeo de Imagens

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 5: LSDI 0708 Slides T

9M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais analoacutegicos

bull A maioria das grandezas fiacutesicas (temperatura velocidade pressatildeo pH som ) satildeo analoacutegicas

bull Os sinais analoacutegicos variam de forma contiacutenua quer no tempo quer na amplitude (podem ter um nuacutemero infinito de valores numa dada gama)

T (ordmC)

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

32302826242220181614121086420

t

Evoluccedilatildeo da temperatura ao longo do dia

10M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas analoacutegicos

bull Um sistema eacute definido formalmente como uma entidade que realiza uma funccedilatildeo processando transformando um ou mais sinais de entrada de forma a gerar os sinais de saiacuteda

bull Nos sistemas analoacutegicos os sinais de entrada e saiacuteda satildeo analoacutegicos

11M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de sistema electroacutenico analoacutegico

bull A onda sonora provoca variaccedilatildeo da pressatildeo no ar e o microfone cria uma versatildeo analoacutegica dessa variaccedilatildeo sob a forma de um sinal eleacutectrico na sua saiacuteda - sinal aacuteudio

bull Depois de amplificado o sinal aacuteudio o altifalante volta a emitir a onda sonora por um processo inverso ao anterior

Onda sonora original

Sinal

Amplificador

Sinal audio amplificado

Som reproduzido

AltifalanteMicrofone

12M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais

bull Os sinais digitais variam de forma discreta quer no tempo quer na amplitude ( tecircm um nuacutemero finito de valores numa dada gama )

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

32302826242220181614121086420

t (horas do dia)

T (ordmC)28

29

28

283

286

281

13M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais binaacuterios

bull Uma classe importante de sinais digitais satildeo os binaacuteriosmodelados como tendo apenas dois valores discretos distintos acute01acute acutebaixoaltoacute acutefalsoverdadeiroacute

t

220V

0V

180V

40V

240V

t

estado dalacircmpada

lacircmpada ligada (1)

lacircmpada desligada (0)

estado indefinido

ligada

desligada

periacuteodos de transiccedilatildeo

0 1 10

14M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Interface analoacutegico-digital

bull Sendo a maioria das grandezas fiacutesicas analoacutegicas eacute muitas vezes necessaacuterio realizar a interface entre sistemas analoacutegicos e sistemas digitais usando conversores AD e DA

V( t)

t

sinal analoacutegico original e reconstruiacutedo

A DV(t)

101100101100

V( t)

t

sinal analoacutegico original

127

63

0

-63

t

-127

A

amostras do sinal

V( t)

D A

101100101100

V(t)

127

63

0

-63

t

-127

A

t

V( t)

sinal analoacutegico reconstruiacutedo amostras do sinal

15M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Conversatildeo analoacutegicodigital

bull A conversatildeo de um sinal analoacutegico num vector de sinais digitais binaacuterios envolve as operaccedilotildees de amostragem quantificaccedilatildeo e codificaccedilatildeo

sinal

analoacutegico

bull Amostragem ndash discretizaccedilatildeo no tempo

bull Quantificaccedilatildeo ndash discretizaccedilatildeo nas amplitudes

bull Codificaccedilatildeo ndash atribuiccedilatildeo de um coacutedigo binaacuterio a cada valor discreto do sinal digitalizado

amostragem

01

3

5

7 65

41

29 342

52 49

3027

Sinal digital

quantificaccedilatildeo

01

3

5

77

43 3

45

3 3

5

111 100 011 011 100 101 101 011 011

1

0

codificaccedilatildeo

AD sinais

digitais binaacuterios

16M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

127

-127

63

31

95

0

-95

-31

-63

-19 32 87 94 80 14 -43amplitude do sinal nos instantes de amostragem

periacuteodo de amostragem (125μs para fs=8KHz)

sinal analoacutegicoamostraA

Sinal de aacuteudio

17M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull Um disco de vinil

Aacuteudio analoacutegico

18M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Aacuteudio digital

19M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistema electroacutenico hiacutebrido

bull Na maioria dos casos os sistemas electroacutenicos satildeo hiacutebridos ou seja combinam sistemas analoacutegicos e digitais

Onda sonora

altifalanteSinal aacuteudio reconstruiacutedo

Dados digitaisDA Amplificador

20M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

O caudal de aacutegua varia de forma contiacutenua com o niacutevel de aacutegua no tanque

Qual eacute a relaccedilatildeo entre o niacutevel de aacutegua e o caudal que a vaacutelvula deixa entrarMuito complexa

Controlo analoacutegico de um depoacutesito de aacutegua

21M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Apenas eacute importante saber se foi atingidoou natildeo o niacutevel maacuteximo ou o niacutevel miacutenimo

Como escrever um programaque realize a funccedilatildeo de controlo digital

ABRE = 0enquanto ligadose VAZIO == 0

ABRE = 1senatildeo

se ABRE == 1se CHEIO == 1ABRE = 0

Controlo digital do depoacutesito de aacutegua

22M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

caudal digital

vaacutelvula abre vaacutelvula fecha

caudal maacuteximo

caudal miacutenimo(zero)

t

caudal analoacutegico

descarga

caudal maacuteximo

caudal miacutenimo(zero)

enchimento

a subida do nivel da aacuteguavai fechando a vaacutelvula

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Digital vs analoacutegico

23M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Um textoem ASCII

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

nova linha

coacutedigos ASCII (em decimal)caracteres

ASCII - American Standard Code for Information Interchange

Digitalizaccedilatildeo de Texto

24M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

67 74 86

Um pixel

Maria Eugeacutenia de Oliveira Botelho1921 105

20

Digitalizaccedilatildeo de Imagens

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 6: LSDI 0708 Slides T

11M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de sistema electroacutenico analoacutegico

bull A onda sonora provoca variaccedilatildeo da pressatildeo no ar e o microfone cria uma versatildeo analoacutegica dessa variaccedilatildeo sob a forma de um sinal eleacutectrico na sua saiacuteda - sinal aacuteudio

bull Depois de amplificado o sinal aacuteudio o altifalante volta a emitir a onda sonora por um processo inverso ao anterior

Onda sonora original

Sinal

Amplificador

Sinal audio amplificado

Som reproduzido

AltifalanteMicrofone

12M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais

bull Os sinais digitais variam de forma discreta quer no tempo quer na amplitude ( tecircm um nuacutemero finito de valores numa dada gama )

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

32302826242220181614121086420

t (horas do dia)

T (ordmC)28

29

28

283

286

281

13M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais binaacuterios

bull Uma classe importante de sinais digitais satildeo os binaacuteriosmodelados como tendo apenas dois valores discretos distintos acute01acute acutebaixoaltoacute acutefalsoverdadeiroacute

t

220V

0V

180V

40V

240V

t

estado dalacircmpada

lacircmpada ligada (1)

lacircmpada desligada (0)

estado indefinido

ligada

desligada

periacuteodos de transiccedilatildeo

0 1 10

14M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Interface analoacutegico-digital

bull Sendo a maioria das grandezas fiacutesicas analoacutegicas eacute muitas vezes necessaacuterio realizar a interface entre sistemas analoacutegicos e sistemas digitais usando conversores AD e DA

V( t)

t

sinal analoacutegico original e reconstruiacutedo

A DV(t)

101100101100

V( t)

t

sinal analoacutegico original

127

63

0

-63

t

-127

A

amostras do sinal

V( t)

D A

101100101100

V(t)

127

63

0

-63

t

-127

A

t

V( t)

sinal analoacutegico reconstruiacutedo amostras do sinal

15M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Conversatildeo analoacutegicodigital

bull A conversatildeo de um sinal analoacutegico num vector de sinais digitais binaacuterios envolve as operaccedilotildees de amostragem quantificaccedilatildeo e codificaccedilatildeo

sinal

analoacutegico

bull Amostragem ndash discretizaccedilatildeo no tempo

bull Quantificaccedilatildeo ndash discretizaccedilatildeo nas amplitudes

bull Codificaccedilatildeo ndash atribuiccedilatildeo de um coacutedigo binaacuterio a cada valor discreto do sinal digitalizado

amostragem

01

3

5

7 65

41

29 342

52 49

3027

Sinal digital

quantificaccedilatildeo

01

3

5

77

43 3

45

3 3

5

111 100 011 011 100 101 101 011 011

1

0

codificaccedilatildeo

AD sinais

digitais binaacuterios

16M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

127

-127

63

31

95

0

-95

-31

-63

-19 32 87 94 80 14 -43amplitude do sinal nos instantes de amostragem

periacuteodo de amostragem (125μs para fs=8KHz)

sinal analoacutegicoamostraA

Sinal de aacuteudio

17M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull Um disco de vinil

Aacuteudio analoacutegico

18M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Aacuteudio digital

19M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistema electroacutenico hiacutebrido

bull Na maioria dos casos os sistemas electroacutenicos satildeo hiacutebridos ou seja combinam sistemas analoacutegicos e digitais

Onda sonora

altifalanteSinal aacuteudio reconstruiacutedo

Dados digitaisDA Amplificador

20M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

O caudal de aacutegua varia de forma contiacutenua com o niacutevel de aacutegua no tanque

Qual eacute a relaccedilatildeo entre o niacutevel de aacutegua e o caudal que a vaacutelvula deixa entrarMuito complexa

Controlo analoacutegico de um depoacutesito de aacutegua

21M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Apenas eacute importante saber se foi atingidoou natildeo o niacutevel maacuteximo ou o niacutevel miacutenimo

Como escrever um programaque realize a funccedilatildeo de controlo digital

ABRE = 0enquanto ligadose VAZIO == 0

ABRE = 1senatildeo

se ABRE == 1se CHEIO == 1ABRE = 0

Controlo digital do depoacutesito de aacutegua

22M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

caudal digital

vaacutelvula abre vaacutelvula fecha

caudal maacuteximo

caudal miacutenimo(zero)

t

caudal analoacutegico

descarga

caudal maacuteximo

caudal miacutenimo(zero)

enchimento

a subida do nivel da aacuteguavai fechando a vaacutelvula

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Digital vs analoacutegico

23M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Um textoem ASCII

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

nova linha

coacutedigos ASCII (em decimal)caracteres

ASCII - American Standard Code for Information Interchange

Digitalizaccedilatildeo de Texto

24M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

67 74 86

Um pixel

Maria Eugeacutenia de Oliveira Botelho1921 105

20

Digitalizaccedilatildeo de Imagens

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 7: LSDI 0708 Slides T

13M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sinais digitais binaacuterios

bull Uma classe importante de sinais digitais satildeo os binaacuteriosmodelados como tendo apenas dois valores discretos distintos acute01acute acutebaixoaltoacute acutefalsoverdadeiroacute

t

220V

0V

180V

40V

240V

t

estado dalacircmpada

lacircmpada ligada (1)

lacircmpada desligada (0)

estado indefinido

ligada

desligada

periacuteodos de transiccedilatildeo

0 1 10

14M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Interface analoacutegico-digital

bull Sendo a maioria das grandezas fiacutesicas analoacutegicas eacute muitas vezes necessaacuterio realizar a interface entre sistemas analoacutegicos e sistemas digitais usando conversores AD e DA

V( t)

t

sinal analoacutegico original e reconstruiacutedo

A DV(t)

101100101100

V( t)

t

sinal analoacutegico original

127

63

0

-63

t

-127

A

amostras do sinal

V( t)

D A

101100101100

V(t)

127

63

0

-63

t

-127

A

t

V( t)

sinal analoacutegico reconstruiacutedo amostras do sinal

15M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Conversatildeo analoacutegicodigital

bull A conversatildeo de um sinal analoacutegico num vector de sinais digitais binaacuterios envolve as operaccedilotildees de amostragem quantificaccedilatildeo e codificaccedilatildeo

sinal

analoacutegico

bull Amostragem ndash discretizaccedilatildeo no tempo

bull Quantificaccedilatildeo ndash discretizaccedilatildeo nas amplitudes

bull Codificaccedilatildeo ndash atribuiccedilatildeo de um coacutedigo binaacuterio a cada valor discreto do sinal digitalizado

amostragem

01

3

5

7 65

41

29 342

52 49

3027

Sinal digital

quantificaccedilatildeo

01

3

5

77

43 3

45

3 3

5

111 100 011 011 100 101 101 011 011

1

0

codificaccedilatildeo

AD sinais

digitais binaacuterios

16M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

127

-127

63

31

95

0

-95

-31

-63

-19 32 87 94 80 14 -43amplitude do sinal nos instantes de amostragem

periacuteodo de amostragem (125μs para fs=8KHz)

sinal analoacutegicoamostraA

Sinal de aacuteudio

17M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull Um disco de vinil

Aacuteudio analoacutegico

18M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Aacuteudio digital

19M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistema electroacutenico hiacutebrido

bull Na maioria dos casos os sistemas electroacutenicos satildeo hiacutebridos ou seja combinam sistemas analoacutegicos e digitais

Onda sonora

altifalanteSinal aacuteudio reconstruiacutedo

Dados digitaisDA Amplificador

20M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

O caudal de aacutegua varia de forma contiacutenua com o niacutevel de aacutegua no tanque

Qual eacute a relaccedilatildeo entre o niacutevel de aacutegua e o caudal que a vaacutelvula deixa entrarMuito complexa

Controlo analoacutegico de um depoacutesito de aacutegua

21M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Apenas eacute importante saber se foi atingidoou natildeo o niacutevel maacuteximo ou o niacutevel miacutenimo

Como escrever um programaque realize a funccedilatildeo de controlo digital

ABRE = 0enquanto ligadose VAZIO == 0

ABRE = 1senatildeo

se ABRE == 1se CHEIO == 1ABRE = 0

Controlo digital do depoacutesito de aacutegua

22M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

caudal digital

vaacutelvula abre vaacutelvula fecha

caudal maacuteximo

caudal miacutenimo(zero)

t

caudal analoacutegico

descarga

caudal maacuteximo

caudal miacutenimo(zero)

enchimento

a subida do nivel da aacuteguavai fechando a vaacutelvula

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Digital vs analoacutegico

23M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Um textoem ASCII

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

nova linha

coacutedigos ASCII (em decimal)caracteres

ASCII - American Standard Code for Information Interchange

Digitalizaccedilatildeo de Texto

24M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

67 74 86

Um pixel

Maria Eugeacutenia de Oliveira Botelho1921 105

20

Digitalizaccedilatildeo de Imagens

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 8: LSDI 0708 Slides T

15M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Conversatildeo analoacutegicodigital

bull A conversatildeo de um sinal analoacutegico num vector de sinais digitais binaacuterios envolve as operaccedilotildees de amostragem quantificaccedilatildeo e codificaccedilatildeo

sinal

analoacutegico

bull Amostragem ndash discretizaccedilatildeo no tempo

bull Quantificaccedilatildeo ndash discretizaccedilatildeo nas amplitudes

bull Codificaccedilatildeo ndash atribuiccedilatildeo de um coacutedigo binaacuterio a cada valor discreto do sinal digitalizado

amostragem

01

3

5

7 65

41

29 342

52 49

3027

Sinal digital

quantificaccedilatildeo

01

3

5

77

43 3

45

3 3

5

111 100 011 011 100 101 101 011 011

1

0

codificaccedilatildeo

AD sinais

digitais binaacuterios

16M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

127

-127

63

31

95

0

-95

-31

-63

-19 32 87 94 80 14 -43amplitude do sinal nos instantes de amostragem

periacuteodo de amostragem (125μs para fs=8KHz)

sinal analoacutegicoamostraA

Sinal de aacuteudio

17M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull Um disco de vinil

Aacuteudio analoacutegico

18M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Aacuteudio digital

19M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistema electroacutenico hiacutebrido

bull Na maioria dos casos os sistemas electroacutenicos satildeo hiacutebridos ou seja combinam sistemas analoacutegicos e digitais

Onda sonora

altifalanteSinal aacuteudio reconstruiacutedo

Dados digitaisDA Amplificador

20M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

O caudal de aacutegua varia de forma contiacutenua com o niacutevel de aacutegua no tanque

Qual eacute a relaccedilatildeo entre o niacutevel de aacutegua e o caudal que a vaacutelvula deixa entrarMuito complexa

Controlo analoacutegico de um depoacutesito de aacutegua

21M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Apenas eacute importante saber se foi atingidoou natildeo o niacutevel maacuteximo ou o niacutevel miacutenimo

Como escrever um programaque realize a funccedilatildeo de controlo digital

ABRE = 0enquanto ligadose VAZIO == 0

ABRE = 1senatildeo

se ABRE == 1se CHEIO == 1ABRE = 0

Controlo digital do depoacutesito de aacutegua

22M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

caudal digital

vaacutelvula abre vaacutelvula fecha

caudal maacuteximo

caudal miacutenimo(zero)

t

caudal analoacutegico

descarga

caudal maacuteximo

caudal miacutenimo(zero)

enchimento

a subida do nivel da aacuteguavai fechando a vaacutelvula

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Digital vs analoacutegico

23M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Um textoem ASCII

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

nova linha

coacutedigos ASCII (em decimal)caracteres

ASCII - American Standard Code for Information Interchange

Digitalizaccedilatildeo de Texto

24M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

67 74 86

Um pixel

Maria Eugeacutenia de Oliveira Botelho1921 105

20

Digitalizaccedilatildeo de Imagens

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 9: LSDI 0708 Slides T

17M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull Um disco de vinil

Aacuteudio analoacutegico

18M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Aacuteudio digital

19M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistema electroacutenico hiacutebrido

bull Na maioria dos casos os sistemas electroacutenicos satildeo hiacutebridos ou seja combinam sistemas analoacutegicos e digitais

Onda sonora

altifalanteSinal aacuteudio reconstruiacutedo

Dados digitaisDA Amplificador

20M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

O caudal de aacutegua varia de forma contiacutenua com o niacutevel de aacutegua no tanque

Qual eacute a relaccedilatildeo entre o niacutevel de aacutegua e o caudal que a vaacutelvula deixa entrarMuito complexa

Controlo analoacutegico de um depoacutesito de aacutegua

21M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Apenas eacute importante saber se foi atingidoou natildeo o niacutevel maacuteximo ou o niacutevel miacutenimo

Como escrever um programaque realize a funccedilatildeo de controlo digital

ABRE = 0enquanto ligadose VAZIO == 0

ABRE = 1senatildeo

se ABRE == 1se CHEIO == 1ABRE = 0

Controlo digital do depoacutesito de aacutegua

22M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

caudal digital

vaacutelvula abre vaacutelvula fecha

caudal maacuteximo

caudal miacutenimo(zero)

t

caudal analoacutegico

descarga

caudal maacuteximo

caudal miacutenimo(zero)

enchimento

a subida do nivel da aacuteguavai fechando a vaacutelvula

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Digital vs analoacutegico

23M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Um textoem ASCII

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

nova linha

coacutedigos ASCII (em decimal)caracteres

ASCII - American Standard Code for Information Interchange

Digitalizaccedilatildeo de Texto

24M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

67 74 86

Um pixel

Maria Eugeacutenia de Oliveira Botelho1921 105

20

Digitalizaccedilatildeo de Imagens

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 10: LSDI 0708 Slides T

19M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistema electroacutenico hiacutebrido

bull Na maioria dos casos os sistemas electroacutenicos satildeo hiacutebridos ou seja combinam sistemas analoacutegicos e digitais

Onda sonora

altifalanteSinal aacuteudio reconstruiacutedo

Dados digitaisDA Amplificador

20M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

O caudal de aacutegua varia de forma contiacutenua com o niacutevel de aacutegua no tanque

Qual eacute a relaccedilatildeo entre o niacutevel de aacutegua e o caudal que a vaacutelvula deixa entrarMuito complexa

Controlo analoacutegico de um depoacutesito de aacutegua

21M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Apenas eacute importante saber se foi atingidoou natildeo o niacutevel maacuteximo ou o niacutevel miacutenimo

Como escrever um programaque realize a funccedilatildeo de controlo digital

ABRE = 0enquanto ligadose VAZIO == 0

ABRE = 1senatildeo

se ABRE == 1se CHEIO == 1ABRE = 0

Controlo digital do depoacutesito de aacutegua

22M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

caudal digital

vaacutelvula abre vaacutelvula fecha

caudal maacuteximo

caudal miacutenimo(zero)

t

caudal analoacutegico

descarga

caudal maacuteximo

caudal miacutenimo(zero)

enchimento

a subida do nivel da aacuteguavai fechando a vaacutelvula

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Digital vs analoacutegico

23M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Um textoem ASCII

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

nova linha

coacutedigos ASCII (em decimal)caracteres

ASCII - American Standard Code for Information Interchange

Digitalizaccedilatildeo de Texto

24M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

67 74 86

Um pixel

Maria Eugeacutenia de Oliveira Botelho1921 105

20

Digitalizaccedilatildeo de Imagens

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 11: LSDI 0708 Slides T

21M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Apenas eacute importante saber se foi atingidoou natildeo o niacutevel maacuteximo ou o niacutevel miacutenimo

Como escrever um programaque realize a funccedilatildeo de controlo digital

ABRE = 0enquanto ligadose VAZIO == 0

ABRE = 1senatildeo

se ABRE == 1se CHEIO == 1ABRE = 0

Controlo digital do depoacutesito de aacutegua

22M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

t

caudal digital

vaacutelvula abre vaacutelvula fecha

caudal maacuteximo

caudal miacutenimo(zero)

t

caudal analoacutegico

descarga

caudal maacuteximo

caudal miacutenimo(zero)

enchimento

a subida do nivel da aacuteguavai fechando a vaacutelvula

boacuteia

entradade aacutegua

saiacuteda de aacutegua

vaacutelvula

electro-vaacutelvula

niacutevel maacuteximo

niacutevel miacutenimo

sistemadigital

decontrolo

entradade aacutegua

saiacuteda de aacutegua

CHEIO

VAZIO

ABRE

Digital vs analoacutegico

23M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Um textoem ASCII

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

nova linha

coacutedigos ASCII (em decimal)caracteres

ASCII - American Standard Code for Information Interchange

Digitalizaccedilatildeo de Texto

24M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

67 74 86

Um pixel

Maria Eugeacutenia de Oliveira Botelho1921 105

20

Digitalizaccedilatildeo de Imagens

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 12: LSDI 0708 Slides T

23M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Um textoem ASCII

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

nova linha

coacutedigos ASCII (em decimal)caracteres

ASCII - American Standard Code for Information Interchange

Digitalizaccedilatildeo de Texto

24M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

67 74 86

Um pixel

Maria Eugeacutenia de Oliveira Botelho1921 105

20

Digitalizaccedilatildeo de Imagens

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 13: LSDI 0708 Slides T

25M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

abcdef

g

ab

cd

e

fg

a=1

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

g=1

a=0b=1c=1

d=0e=0f=1

g=1

a=0

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

g=0

entradas

LEDs

Mostradores com LEDacutes

26M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash o que satildeo

bull Entradas e saiacutedas satildeo sinais digitaisbull Informaccedilatildeo representada por binaacuterio(1 e 0) bull Constituidos por blocos electroacutenicos bull Funccedilatildeo do sistema digital

bull definir a relaccedilatildeo entre as saiacutedas e as entradas digitais

Sistema

digital

t

1 1 0 0 0 1

0 0 1 1 0 0

0 1 0 0 0 1

t

0 1 1 0 1 1

1 0 1 1 0 1

1 1 0 1 0 1

saiacutedasentradas

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 14: LSDI 0708 Slides T

27M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

- computaccedilatildeo pessoal (PCs PDAs calculadoras)- comunicaccedilotildees moacuteveis- televisatildeo digital- aacuteudio digital- automoacutevel (ABS air-bags controlo do motor)- controlo industrial- simuladores- diversatildeo-

Aacutereas de aplicaccedilatildeo dos sistemas digitais

28M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais ndash aacutereas de aplicaccedilatildeo

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 15: LSDI 0708 Slides T

29M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tipos de sistemas digitais

bull Sistemas combinacionais- As saiacutedas num dado instante dependem apenas das entradas

nesse instante

bull Sistemas sequenciais- As saiacutedas num dados instante dependem das entradas nesse

instante e em instantes anteriores- O circuito tem ldquomemoacuteriardquo

Combinacional Sequencial

30M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Combinacional vs sequencial

Premir esta tecla altera a entrada de um sistema combinacional e o canal passa a ser o canal 6 ( saiacuteda depende soacute da entrada)

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

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 16: LSDI 0708 Slides T

31M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Zeros e uns

bull A loacutegica digital transforma a realidade analoacutegica ao mapear uma gama infinita de valores reais em apenas 2 valores - 0 e 1

bull A um valor loacutegico 0 ou 1 eacute comum chamar-se um bit (binary digit)

bull Nos circuitos electroacutenicos digitais- acute0acute eacute representado por tensotildees eleacutectricas baixas- acute1acute eacute representado por tensotildees eleacutectricas altas

bull Os circuitos ldquoentendemrdquo as entradas como acute0acute ou acute1acute e produzem nas saiacutedas zeros e uns representados por tensotildees baixas ou altas

32M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas

bull As portas loacutegicas ( ldquogatesrdquo ) satildeo os circuitos electroacutenicos digitais baacutesicos

bull Nas tecnologias mais comuns estes circuitos distinguem dois intervalos distintos de tensatildeo que satildeo interpretados como 1 e 0

35V

0V

15V

5V

CMOS

1

0

27V

0V08V

5V

TTL

1

0

regiotildeesinvaacutelidas

bull A porta loacutegica produz na saiacuteda uma tensatildeo correspondente ao valor loacutegico 0 ou 1 dependendo do valor logico das entradas e da funccedilatildeo que a porta loacutegica realiza

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 17: LSDI 0708 Slides T

33M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas E (AND) OU (OR) e NAtildeO (NOT)

B

AA sdot B

B

AA + B

A A

E

( AND )

OU( OR )

NAtildeO( NOT )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

A A0 11 0

A B A+B

0 0 00 1 11 0 11 1 1

A B AB

0 0 00 1 01 0 01 1 1

34M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas loacutegicas NAtildeO-E (NAND) e NAtildeO-OU (NOR)

A B A+B

0 0 10 1 01 0 01 1 0

A B AB

0 0 10 1 11 0 11 1 0

B

AA + B

NAtildeO - OU

( NOR )

B

AA sdot B

NAtildeO - E

( NAND )

funccedilatildeo loacutegica siacutembolo ( porta loacutegica ) tabela de verdade

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 18: LSDI 0708 Slides T

35M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ABCD

A sdot B sdot C sdot D A + B + CABC

Portas loacutegicas (cont)

bull As portas loacutegicas E e OU podem ter um nuacutemero qualquer de entradas- (na realidade eacute limitado por razotildees ligadas agrave realizaccedilatildeo fiacutesica

dos circuitos electroacutenicos)

bull Podem ser desenhadas portas loacutegicas com entradas negadas

A

BA sdot B A + B

A

B

36M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Funccedilotildees loacutegicas e circuito loacutegico

bull Qualquer funccedilatildeo loacutegica pode ser realizada agrave custa das 3 funccedilotildees loacutegicas baacutesicas E OU e NAtildeO e o circuito que a implementa usando as portas loacutegicas correspondentes

Tabela de verdade

F(ABC) = ( (C+B) sdot A) + (A sdot B)

Diagrama esquemaacutetico

B

A

CF(ABC)

A B C F(ABC)0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

(C+B)

(A sdot B)

A( (C+B) sdot A)

Expressatildeo loacutegica

B

A(A sdot B)

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 19: LSDI 0708 Slides T

37M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Elementos de tecnologia

bull Os sistemas digitais satildeo realizados com circuitos integrados

bull Um circuito integrado eacute constituido por um cristal semicondutor habitualmente de siliacutecio designado por chip

bull O chip conteacutem os componentes electroacutenicos baacutesicos que implementam o circuito integrado digital ndash portas loacutegicas e flip-floprsquos (elementos de memoacuteria)

bull O chip eacute montado dentro de um empacotamento ceracircmico ou plaacutestico e satildeo construiacutedas ligaccedilotildees do chippara os pinos externos do integrado

38M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados

ldquowaferrdquo de siliacutecioldquodierdquo do Pentium 4

empacotamento circuito integrado

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 20: LSDI 0708 Slides T

39M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

bull sistemas electromecacircnicos (1944)bull vaacutelvulas electroacutenicas (1946)

- ENIAC 18000 vaacutelvulas 140KW 30 tons 5000 somassegundo

bull transiacutestor (1948)bull circuito integrado (1958)bull microprocessador (1972)bull circuitos integrados de alto niacutevel de integraccedilatildeo

(VLSI) (deacutecada de 90)

Marcos histoacutericos

40M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Uma vaacutelvula Memoacuteria feita com vaacutelvulas (IBM701 1952)

Dispositivos electroacutenicos primitivos

Vaacutelvula electroacutenica Circuito com vaacutelvulas electroacutenicas

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 21: LSDI 0708 Slides T

41M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

ENIAC - 1ordm computador electroacutenico

ENIAC - 1946

42M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O 1ordm transistor

1948 - Bardeen Brattain amp Shockley inventam o transiacutestor

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 22: LSDI 0708 Slides T

43M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Os primeiros circuitos integrados

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

1959 - invenccedilatildeo da tecnologia planar

44M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transiacutestor

Circuito integrado SSI(Small Scale Integration)dezenas de transiacutestores Circuito integrado VLSI

(Very Large Scale Integration)milhotildees de transiacutestores

MSI LSI

0 10 20 mm

Dispositivos electroacutenicos

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 23: LSDI 0708 Slides T

45M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

35 mm2

9 mm2

aacuterea de siliacutecio

0 10 20 mm

Circuitos integrados

46M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

densidade de integraccedilatildeo dezenas de milhotildees de transiacutestores num chiprapidez uma adiccedilatildeo em 00000000005 s (05 ns)energia poucos watts em trabalho alguns mwatt em repouso

15μaacuterea A

07μaacuterea 022A

013μaacuterea 00075A

035μaacuterea 0054A

aacuterea e ldquotamanhordquo do processo de fabrico

1992 2001 2003

009μaacuterea 00036A

0065μaacuterea 00018A

200561994

Circuitos integrados (cont)

1996

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 24: LSDI 0708 Slides T

47M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Microprocessadores da INTEL

48M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore

O nordm de transistoreschip duplica em cada 18 meses

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 25: LSDI 0708 Slides T

49M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Evoluccedilatildeo dos μP da INTEL

50M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Lei de Moore (cont)

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 26: LSDI 0708 Slides T

51M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

1994 (processo 07μm)

Se fosse fabricado em 2007 (processo 0065μm)

13mm

12mm

Um processador Pentium

52M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Classificaccedilatildeo dos circuitos integrados

bull Os circuitos integrados podem ser classficados de acordo com o nuacutemero de portas loacutegicas equivalentes em

SSI ndash ldquoSmall-Scale Integrationrdquo - (lt12)

MSI ndash ldquoMedium-Scale Integrationrdquo ndash (12 a 99)

LSI ndash ldquoLarge-Scale Integrationrdquo ndash (100 a 9999)

VLSI ndash ldquoVery Large-Scale Integrationrdquo ndash (10000 a 99999)

UVLSI ndash ldquo Ultra Very Large-Scale Integrationrdquo ndash (gt 100000)

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 27: LSDI 0708 Slides T

53M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Tecnologias disponiacuteveis para implementar SD

bull Componentes padratildeo com funccedilatildeo fixa - Seacuterie 74xx Seacuterie 4xxx- Circuitos ldquooff-the-shelfrdquo que realizam uma funccedilatildeo especiacutefica- Circuitos digitais SSI e MSI- Muito usados ateacute finais dos anos 70 agora usados em circuitos simples interfaces e para manter

compatibilidade com sistemas antigos

bull Microprocessadores ndash famiacutelia 51 PICs- Usados em sistemas computacionais e em sistemas embebidos- Projecto do sistema eacute concentrado no software ndash programa- Disponibilidade de muitas configuraccedilotildees e perifeacutericos

bull Circuitos programaacuteveis ndash PLArsquos PALrsquos CPLDrsquos FPGArsquos- Projecto eacute feito agrave medida de uma aplicaccedilatildeo particular- A funccedilatildeo eacute definida pelo utilizador no momento em que programa o dispositivo- Reconfiguraacuteveis - Podem ter ateacute dezenas de milhotildees de lsquogatesrsquo equivalentes num uacutenico chip- Funcionam com frequecircncias ateacute agraves centenas de MHZ- Pequeno custo de desenvolvimento e de lsquotime to marketrsquo

bull Circuitos de aplicaccedilatildeo especiacutefica ndash ASICacutes- Projectado para ser usado numa aplicaccedilatildeo especiacutefica- Operacionalidade definida pelo utilizador ao niacutevel da geometria e layout do circuito- Poderaacute ser optimizado para elevado desempenho da funcionalidade fixa pretendida- Densidade ateacute 350K gatesmm2

- Elevado custo de desenvolvimento e de lsquotime to marketrsquo

54M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CIrsquos digitais

CIacutes de Funccedilatildeo Fixa

CICIacutess de de FunFunccedilccedilatildeo Fixaatildeo Fixa

CIrsquosProgramaacuteveis

CICIrsquorsquossProgramProgramaacuteaacuteveisveis

μprsquos e μCrsquosμμpprsquorsquoss e e μμCCrsquorsquoss

SemiCustomSemiSemi

CustomCustomFull

CustomFullFull

CustomCustom

TTLTTLTTL SPLDrsquosSPLDSPLDrsquorsquoss Gate ArrayGate Gate ArrayArray

Standard Cell

Standard Standard CellCell

CMOSCMOSCMOS CPLDrsquosCPLDCPLDrsquorsquoss FPGArsquosFPGAFPGArsquorsquoss

CIacutes DIGITAISCICIacutess DIGITAISDIGITAIS

ASICSASICSASICSCIacutes PadratildeoCICIacutess PadratildeoPadratildeo

PLArsquosPLAPLArsquorsquoss PALrsquosPALPALrsquorsquoss

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 28: LSDI 0708 Slides T

55M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuitos integrados padratildeo

bull Implementam blocos funcionais simples de uso geralbull Estatildeo disponiacuteveis no mercado em grande variedadebull Satildeo na maioria dos casos circuitos do tipo SSI ou MSI bull Normalmente pertencem a uma das seguintes famiacutelias

loacutegicas

TTL ( Transistor -Transistor- Logic)bull usada haacute vaacuterias deacutecadas baseada em transistores bipolares

CMOS (Complementary Metal-Oxide Semiconductor )bull baseada em transistores MOSFET do tipo N e P

56M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Seacuterie 74 das famiacutelias TTL e CMOS

bull Famiacutelia TTL- 74L de Baixa Potecircncia- 74H de Alta Velocidade- 74S Schottky- 74LS Schottky de Baixa Potecircncia (LS-TTL)- 74AS Schottky Avanccedilada (AS-TTL)- 74ALS- Schottky Avanccedilada de Baixa Potecircncia

bull Famiacutelia CMOS- 74C (compatiacutevel pino a pino e funccedilatildeo por funccedilatildeo com os

dispositivos TTL)- 74HC (CMOS de Alta Velocidade)- 74HCT (CMOS de Alta Velocidade que podem ser alimentados

directamente por saiacutedas de dispositivos TTL)

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 29: LSDI 0708 Slides T

57M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

O ldquomundordquo da seacuterie 74xx

58M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Transistores nMOS e pMOS

bull a tecnologia CMOS eacute a mais usada na implementaccedilatildeo de circuitos integrados digitais

bull usa 2 tipos de transistores pMOS e nMOS a funcionar como interruptores controlados pela tensatildeo VGS

nMOS VGSlt0

D

S

G

VGSgt0 VGS=0

S

D

G

VGS=0pMOS

S S

D D

S S

D D

VGS VGS

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 30: LSDI 0708 Slides T

59M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO (NOT) em CMOS

S

D

G

D

S

G

Vx Vf

VDDx T1 T2 f

0 on off 1

1 off on 0

Vf

D

S

VDD

D

S

x = acute0acute ---gt f = acute1acute

D

Vf

D

S

VDD

S

x = acute1acute ---gt f = acute0acute

T1

T2

T1 T1

T2T2

60M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-E(NAND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

G

VDD

Vx1

T1 T2

T3

T4Vx2

Vf

x1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 1

1 0 off on on off 1

1 1 off off on on 0

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 31: LSDI 0708 Slides T

61M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica NAtildeO-OU(NOR) em CMOS

D

S

G

D

S

G

D

S

G

D

G

VDD

Sx1 x2 T1 T2 T3 T4 f

0 0 on on off off 1

0 1 on off off on 0

1 0 off on on off 0

1 1 off off on on 0

Vx1

Vx2

Vf

T2

T1

T3T4

62M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Porta loacutegica E (AND) em CMOS

S

D

G

S

D

G

S

S

G

D

D

GVx1

T1 T2

T3

T4

Vx2

S

D

G

D

S

G

Vf

VDD

NANDNOT

T5

T6

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 32: LSDI 0708 Slides T

63M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Portas Loacutegicas na seacuterie 74

bull Encapsulamento do tipo DIP (Dual in Line Package) ndash 14 pinos

- Pino 14 - tensatildeo positiva de alimentaccedilatildeo ( + 5V ndash Vcc )- Pino 7 - referecircncia de tensatildeo (O V ndash massa ndash GND )

SN7400N

Pino1

Pino 14 (Vcc)

Pino 7 (GND)

Marca

64M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de portas loacutegicas da seacuterie 74

7400 ndash 4 NANDrsquos2 entradas

7402 ndash 4 NORrsquos2 entradas

7404 ndash 6 NOTrsquos

7408 ndash 4 ANDrsquos2 entradas

7432 ndash 4 ORrsquos2 entradas

7411 ndash 3 ANDrsquos3 entradas

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 33: LSDI 0708 Slides T

65M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito com integrados da seacuterie 74

F(ABC) = ( (C+B) sdot A) + (A sdot B)

A

B

C

+5v7404

7408

7432

66M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placas de montagem - ldquoBreadboardsrdquo

Reacuteguas de alimentaccedilatildeo

Reacutegua de montagem

Ligaccedilotildees preacute-existentes

placa de montagem

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 34: LSDI 0708 Slides T

67M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de CIrsquos em placas

C

Vcc (5V)

GND (0V)

7408 74047432

A

B

F

F(ABC) = ( (C+B) sdot A) + (A sdot B)

68M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Montagem de um protoacutetipo em breadboard

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 35: LSDI 0708 Slides T

69M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Sistemas digitais com loacutegica discreta

bull Ateacute ao final dos anos 70 os sistemas digitais eram implementados usando circuitos discretos (circuitos integrados padratildeo) interligados numa placa de circuito impresso

70M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Dispositivos loacutegicos programaacuteveis

bull A partir dos anos 80 surgem os dispositivos loacutegicos programaacuteveis (PLDrsquos)

bull Os PLDrsquos satildeo circuitos integrados cujas ligaccedilotildees internas podem ser programadas pelo utilizador de modo a realizar diferentes projetos de circuitos loacutegicos

bull Os mais usados para implementar circuitos digitais satildeobull SPLDrsquos (Simple Programmable Logic Device)

ndash PLArsquos - Programmable Logic Arrayndash PALrsquos ndash Programmable Array Logic

bull CPLDrsquos (Complex Programmable Logic Device)bull FPGArsquos (Field Programmable Gate Array)

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 36: LSDI 0708 Slides T

71M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Vantagens dos PLDrsquos

bull Relativamente aos circuitos discretos padratildeo os PLDrsquos apresentam vantagens na implementaccedilatildeo de sistemas digitais- Reduzem a aacuterea ocupada no circuito impresso- Facilitam o desenvolvimento de protoacutetipos- Simulaccedilatildeo do projecto eacute intriacutenseca ao desenvolvimento- Podem ser optimizados em velocidade de funcionamento

e consumo de potecircncia- Tem a possibilidade de alterar a sua funcionalidade por

reprogramaccedilatildeo ( sem alteraccedilotildees no circuito impresso)- Conduzem a menor tempocustos de desenvolvimento

72M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

SPLDs -Dispositivos de loacutegica programaacutevel simples

bull A arquitectura destes dispositivos ( PLAs e PALs) baseia-se em dois planos de portas loacutegicas um de ANDrsquos e outro de ORrsquos com ligaccedilotildees configuraacuteveis por programaccedilatildeo

bull No plano dos ANDrsquos podemos combinar qualquer uma das entradas ou o seu complemento para obter um termo produto

bull No plano dos ORrsquos podemos combinar qualquer um dos termos produto dos ANDrsquos para obter somas de produtos nas saiacutedas

PLA ndash Programmable Logic Array

bullOs dois planos satildeo programaacuteveis

PAL ndash Programmable Array Logic

bullO plano de ORrsquos eacute fixo

x0 x1 x2

AND

planox0x1

x2

Termos produto

OR

plano

f0 f1

Soma de produtos

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 37: LSDI 0708 Slides T

73M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PLA ndash Programmable Logic Array

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Array AND programaacutevel

Array OR programaacutevel

Indica ligaccedilatildeo programaacutevel

bull os dois planos AND e OR satildeo programaacuteveis

bull permite qualquer combinaccedilatildeo de ANDsORs

bull os termos AND satildeo partilhados por todos os ORrsquos

74M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL ndash Programmable Array Logic

I 5 I 4

O0

I 3 I 2 I 1 I 0

O1

O2

O3

Array AND programaacutevel

Array OR fixo

Indica ligaccedilatildeo fixa

Indica ligaccedilatildeo programaacutevel

bull soacute o plano AND eacute programaacutevel

bull o plano OR eacute fixo

bull nordm finito de combinaccedilotildees de ANDsORs

bull cada OR partilha soacute alguns dos termos AND

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 38: LSDI 0708 Slides T

75M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Como se configuram os SPLDrsquos

bull No cruzamentos de linhas verticais e horizontais existem ligaccedilotildees configuraacuteveis

bull Antes da programaccedilatildeo essas ligaccedilatildeo designadas fusiacuteveis podem estar no estado fechado ou aberto dependendo da tecnologia utilizada (fusiacutevel anti-fusiacutevelEPROMSRAM)

bull A fase da programaccedilatildeo consiste na alteraccedilatildeo do estado inicial dos fusiacuteveis seleccionados por aplicaccedilatildeo de sinais adequados

bull Alguns dispositivos permitem efectuar electricamente a reposiccedilatildeo do estado inicial dos ldquofusiacuteveisrdquo ( operaccedilatildeo de lsquoerasersquo) sendo por isso reprogramaacuteveis

76M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Exemplo de um circuito loacutegico com PAL

D

F1 = A B + C

F2 = A B C + A C + A B

F3 = A D + B D + F1

F4 = A B + C D + F1

PAL de 4-entradas 4-saiacutedas termos OR fixos de 3 entradas

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 39: LSDI 0708 Slides T

77M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16L8 ndash 16 entradas (max) e 8 saiacutedas

78M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

PAL16R8 ndash com saiacutedas registadas

Os FFrsquos permitem a implementaccedilatildeo de circuitos sequenciais

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 40: LSDI 0708 Slides T

79M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

CPLDrsquos ndash Complex Programmable Logic Devices

bull Dispositivos programaacuteveis com uma maior complexidade e nuacutemero de portas loacutegicas intervenientes do que os SPLDrsquos

bull Constituidos por um conjunto de blocos loacutegicos idecircnticos a um SPLD (macroceacutelulas) e por uma matriz de ligaccedilotildees que permite programar quer cada uma das macroceacutelulasquer as suas interconexotildees

bull Circuitos loacutegicos simples podem ser realizados numa uacutenica macroceacutelula obtendo-se os sistemas mais complexos por ligaccedilatildeo de vaacuterias macroceacutelulas entre si

80M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura dos CPLDrsquos

Bloco Funcionaldo tipo SPLD

FB

FB

FB

FB

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 41: LSDI 0708 Slides T

81M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia XC9500XL da Xilinx

Blocos Funcionais (FB) tem 54 entradas e 18 macroceacutelulas

Ateacute 90 termos produto por macroceacutelula

Frequecircncia maacutexima de funcionamento de 178MHz

82M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Dispositivos introduzidos em 198586 pela XILINXbull Agregados regulares de blocos loacutegicos configuraacuteveis (CLB p a Xilinx)

com interconexotildees programaacuteveis entre os blocos loacutegicosbull A complexidade dos CLB eacute reduzida (dezenas de portas loacutegicas)

- Unidade baacutesica look-up-tables (LUT) para realizar funccedilotildees loacutegicas- Elementos de memoacuteria FFrsquoslatchesblocos de RAM

bull Configuraccedilatildeo raacutepida por escrita em SRAM- Configuraccedilatildeo volaacutetil (necessita EPROM auxiliar)- Configuraccedilatildeo in-circuit raacutepida (milisegundos)- Possibilidade de reconfiguraccedilatildeo parcial

bull Possuem usualmente circuitos dedicados para operaccedilotildees aritmeacuteticas e blocos de RAM distribuida

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 42: LSDI 0708 Slides T

83M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

FPGA ndash Field Programmable Gate Array

bull Arquitectura da FPGA ndash (Xilinx)

Canais de interligaccedilatildeo

Blocos loacutegicos configuraacuteveis (CLB)

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

ESES

Blocos perifeacutericos deEntradaSaiacuteda

84M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Arquitectura da famiacutelia SPARTAN-3

bull Os Configurable Logic Blocks (CLBs) conteacutem Look-Up Tables (LUTs) baseadas em RAM de 4 entradas para implementar qualquer funccedilatildeo loacutegica de 4 entradas e armazenar informaccedilatildeo

bull Os InputOutput Blocks (IOBs) controlam o fluxo de dados entre os pinos de IO e a loacutegica interna do dispositivo

bull Os blocos de RAM permitem armazenamento de dados na forma de 18-Kbit dual-port

bull Existem Blocos Multiplicadores que aceitam nuacutemeros de 18 bits e calculam o produto

bull Um Digital Clock Manager (DCM) faz a gestatildeo dos sinais de reloacutegio

bull A famiacutelia Spartan-3 tem uma grande capacidade para efectuar as interconexotildees entre os vaacuterios blocos funcionais permitindo multiplas possibilidades de encaminhamento

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 43: LSDI 0708 Slides T

85M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Famiacutelia Spartan-3 FPGA da XILINX

86M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Ferramentas CADCAE

bull CADCAE ndash Computer Aided Design Computer Aided Engineering

bull Satildeo ferramentas fundamentais para o projecto em tempo uacutetil de circuitos digitais complexos

bull Trabalham com representaccedilotildees (modelos) dos circuitosbull Exemplos

- Captura esquemaacutetica (desenhar o circuito loacutegico)- Siacutentese loacutegica- Simulaccedilatildeo loacutegica e verificaccedilatildeo funcional- Anaacutelise temporal- Simulaccedilatildeo eleacutectrica- Modelaccedilatildeo e simulaccedilatildeo de faltas- Geraccedilatildeo de vectores de teste- Anaacutelise teacutermica- Ediccedilatildeo de texto

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 44: LSDI 0708 Slides T

87M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (1)

netlist

Captura de esquemaacutetico

Siacutentese Loacutegica

Librarias

HDL

Design Design EntryEntry

Simulaccedilatildeo 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1

VerificaVerificaccedilccedilatildeoatildeo

Vectores de teste

PPoacuteoacutess--SSiacuteiacutentesentese

Design Entry

Criar os ficheiros de projecto com

bull Editor de esquemaacutetico oue

bull Linguagem de descriccedilatildeo de hardware (VerilogVHDL)

Verificaccedilatildeo

Usando as ferramentas CAD para simulaccedilatildeo funcional

88M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Fluxo de projecto com FPGA (2)

Translate amp Map

Bit Stream File Generation

IMPLEMENTAIMPLEMENTACcedilCcedilAtildeOAtildeO

Timing Analysis

FPGA

Translate amp Map

Faz o mapeamento tecnoloacutegico dos elementos descritos na netlist

Place amp Route

Place amp Route

Aloca fiacutesicamente os blocos mapeados a aacutereas determinadas da FPGA

Minimizando aacuterea final ocupada e maximizando relaccedilotildees de proximidade

Construindo as interligaccedilotildees definidas na netlist satisfazendo restriccedilotildees temporais e minimizando a aacuterea

Bit Stream File Generation

Para programar a FPGA eacute gerado um ficheiro de configuraccedilatildeo (ficheiro de extensatildeo bit)Esse ficheiro pode ser descarregado directamente para a FPGA ou convertido para um ficheiro PROM que guarda a configuraccedilatildeo

programaccedilatildeo

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 45: LSDI 0708 Slides T

89M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Captura de esquemaacutetico

90M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Circuito descrito na netlist

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 46: LSDI 0708 Slides T

91M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Translating amp Mapping

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

92M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Placing

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo

Page 47: LSDI 0708 Slides T

93M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

LUT2

LUT3

LUT4

LUT5

LUT1FF1

FF2

LUT0

FPGA

Routing

94M I E E C ndash Laboratoacuterio de Sistemas Digitais ndash 200708

Placa Spartan3 - Starter Board

Caracteriacutesticasbull Xilinx Spartan-3 FPGA XC3S200-FT256 (200K gates) com 12 multiplicadores de 18 bits 216K bits de RAM e frequecircncias ateacute500MHz de reloacutegio internobull 2Mbit de Platform Flash (XCF02S)bull 8 interruptores de 2 posiccedilotildeesbull 4 bototildees de pressatildeobull 8 LEDacutes bull 4 mostradores de 7 segmentosbull Porta seacuteriebull Porta VGA e porta ratoteclado bull 3 ligadores de expansatildeo (40-pinos)bull 3 reguladores de tensatildeo (33 25 e 12V)bull Cabo de programaccedilatildeo