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