Post on 17-Apr-2015
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 1
Dispositivos lógicos programáveis (DLP)• Organização:
– Princípio de funcionamento dos DLP– Arquitectura de um componente típico: A 22V10– Metodologia de projecto com o PALASM– A aplicação PALASM– Um dado electrónico
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 2
Princípio de funcionamento dos DLP• O princípio de funcionamento dos DLP baseia-se
numa matriz programável de termos de produto
F
A B C D
é uma representação simplificada de:
(que valor apresenta a saída F, para o caso apresentado?)
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 3
Arquitectura de um DLP simples: Exemplo• A título de exemplo,
quantas ligações seria necessário interromper para criar um mux de 2:1? (entradas de dados A e B, entrada de controlo C)
B C DA
F
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 4
DLPs: Extensão para circuitos sequenciais• A presença de um FF D a jusante do termo de soma
permite a implementação de circuitos sequenciais (o plano AND / OR realiza a geração do estado seguinte)
C DBA
F
CLK3
Q5
Q6
D
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 5
Arquitectura de um exemplo típico: A 22V10• A flexibilidade da 22V10 destaca-a
entre os DLP de uso comum
8
I/O 0
10
I/O 1
12
I/O 2
14
I/O 3
16
I/O 4
16
I/O 5
14
I/O 6
12
I/O 7
10
I/O 8
8
I/O 9
Reset
Preset
Fila de E programáveis
Programmable AND array
(44 x 132)
111
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
CLK / I0 I1 a I11
8
I/O 0
10
I/O 1
Reset
1
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
CLK / I0
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 6
A arquitectura da 22V10
• A propósito da arquitectura da 22V10, repare-se que:– Pode dispor de até 10 saídas, em simultâneo com as 12
entradas, podendo no limite suportar até 22 (21) entradas
8
I/O 0
10
I/O 1
12
I/O 2
14
I/O 3
16
I/O 4
16
I/O 5
14
I/O 6
12
I/O 7
10
I/O 8
8
I/O 9
Reset
Preset
Fila de E programáveis
Programmable AND array
(44 x 132)
111
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
CLK / I0 I1 a I11
– O controlo de estado dos buffers de saída é feito através de um termo de produto (permitindo pinos bidireccionais)
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 7
A arquitectura da 22V10 (cont.)• Ainda a propósito da arquitectura da 22V10:
– Todas as saídas são realimentadas para o plano de AND– Existe um limite
máximo de entre 8 e 16 termos de produto, por saída
– Cada saída é precedida por uma macro-célula
8
I/O 0
10
I/O 1
12
I/O 2
14
I/O 3
16
I/O 4
16
I/O 5
14
I/O 6
12
I/O 7
10
I/O 8
8
I/O 9
Reset
Preset
Fila de E programáveis
Programmable AND array
(44 x 132)
111
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
Macro-CélulaLógica deSaída
CLK / I0 I1 a I11
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 8
A arquitectura da 22V10 (cont.)• A estrutura da macro-célula lógica de saída,
disponível em cada pino, permite diversas configurações de funcionamento:
01
00
11
10
0
1
I/O n
CLK
Resetassíncrono
Presetsíncrono
SP
AR
S0S10
S1 S0
0
1
1
0
1
0
1
Configuração de saída
Registada / Activa a 0
Registada / Activa a 1
Combinatória / Activa a 0
Combinatória / Activa a 1
D
CLK
Q
/Q
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 9
A arquitectura da 22V10 (cont.)• As quatro configurações possíveis para a macro-
célula lógica de saída são as seguintes:
CLK S0=0S1=0
AR
SP
D
CLK
Q
/Q
S0=0S1=1
CLK S0=1S1=0
AR
SP
D
CLK
Q
/Q
S0=1S1=1
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 10
Metodologia de projecto (com o PALASM)• A metodologia de projecto segue as mesmas etapas
já nossas conhecidas (especificação, síntese, verificação de projecto, implementação e validação), mas com existem aspectos específicos do PALASM
• Esta aplicação recebe como entrada uma descrição funcional do circuito pretendido, com os respectivos vectores para a simulação lógica, e realiza (quase-) automaticamente as etapas pós-especificação
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 11
Fluxo de dados no PALASM
• O fluxo de dados associado a esta aplicação de apoio ao projecto é o seguinte:
Nome.pds
(especificação deentrada)
Nome.xpt
(mapa dosfusíveis ainterromper)
Nome.jed
(ficheiroJ EDEC paraprogramação)
Nome.rpt
(ficheiro com orelatório dautilização derecursosinternos)
Nome.hst
(todos osresultados desimulação)
Nome.trf
(resultados dasimulação nossinais avisualizar)
Palasm.log
(relatórioproduzido peloPALASM)
PALASM
PDS
XPT J ED RPT HST TRF LOG
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 12
PALASM: Especificação do ficheiro de entrada• Secção declarativa:
;---------------------------------- Declaration Segment ------------ TITLE exemplo.pds PATTERN A REVISION 1.0 AUTHOR JM Martins Ferreira / SD da LEIC COMPANY FEUP/DEEC DATE Junho 1998 CHIP exemplo PAL22V10 PIN 1 CLOCK COMBINATORIAL ; INPUT PIN 2 A COMBINATORIAL ; INPUT PIN 3 B COMBINATORIAL ; INPUT PIN 4 C COMBINATORIAL ; INPUT PIN 5 D COMBINATORIAL ; INPUT PIN 6 E COMBINATORIAL ; INPUT PIN 12 GND PIN 14 F1 COMBINATORIAL ; OUTPUT PIN 15 F2 REGISTERED ; OUTPUT PIN 24 VCC
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 13
PALASM: Especificação do ficheiro de entrada (cont.)• Secção funcional:
(esta secção recorre a comandos com baixo nível de abstracção para efectuar a descrição funcional do circuito pretendido)
;---------------------------------- Equations Segment ------------ EQUATIONS F1 = /A + B + C + D*E F2:= /A + B + C + D*E
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 14
PALASM: Especificação do ficheiro de entrada (cont.)• Secção de simulação (para a verificação de projecto):
;---------------------------------- Simulation Segment ------------ SIMULATION TRACE_ON CLOCK A B C D E F1 F2 SETF /A /B /C /D /E SETF A CLOCKF CLOCK SETF /A B CLOCKF CLOCK SETF /B C CLOCKF CLOCK SETF /C D CLOCKF CLOCK SETF /D E CLOCKF CLOCK SETF /E CLOCKF CLOCK TRACE_OFF
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 15
PALASM: Menus principais
• Menu File:
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 16
PALASM: Menus principais (cont.)• Menu Edit:
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 17
PALASM: Menus principais (cont.)• Menu Run:
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 18
PALASM: Menus principais (cont.)• Menu View:
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 19
PALASM: Menus principais (cont.)• Simulação
(View / Waveforms):
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 20
PALASM: Menus principais (cont.)• Menu Help:
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 21
PALASM: Menus principais (cont.)• Help:
Exemplo para o caso do comando FOR
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 22
Exemplo de projecto: Um dado electrónico• Pretende-se simular o funcionamento de um dado
electrónico com as seguintes características:– Visualização por 7 LEDs (quantas saídas são precisas?)– Funcionamento em ciclo permanente a centenas de Hz– Deve existir um botão de paragem para fixar o resultado
do “lançamento”– Deve existir um botão de batota para aumentar a
probabilidade associada a resultados pré-especificados
LED 1
LED 2
LED 3
LED 5
LED 6
LED 7
LED 4
OUT[x]
VCC
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 23
O dado electrónico (cont.)
• Diagrama de transição de estados:
EST1
EST2
EST3
EST4
EST5
EST6EST4AEST4B
STOP
STOP
STOP
STOP
STOP
STOP STOP STOP
/STOP
/STOP
/STOP
/STOP
/STOP/STOP*/BAT
/STOP*BAT/STOP
/STOP
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 24
O dado electrónico (cont.)
• Organização das saídas:
OUT[0]
OUT[1]
OUT[2]
OUT[3]
(= 0)
VCC
OUT[x]
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 25
O dado electrónico (cont.)
• Ficheiro dado.pds: Secção declarativa; circuito que simula o funcionamento de um dado com e sem batota ;-------------------------------------------------------------------; ;---------------------------------- Declaration Segment ------------ TITLE dado.pds PATTERN A REVISION 1.0 AUTHOR JM Martins Ferreira COMPANY FEUP/DEEC DATE Maio 1998 CHIP dado PAL22V10 PIN 1 CLK COMBINATORIAL ; INPUT PIN 2 STOP COMBINATORIAL ; INPUT PIN 3 BAT COMBINATORIAL ; INPUT PIN 12 GND PIN 14 OUT[0] COMBINATORIAL ; OUTPUT PIN 15 OUT[1] COMBINATORIAL ; OUTPUT PIN 16 OUT[2] COMBINATORIAL ; OUTPUT PIN 17 OUT[3] COMBINATORIAL ; OUTPUT PIN 24 VCC
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 26
O dado electrónico (cont.)
• Secção funcional:STATE MOORE_MACHINE START_UP := POWER_UP -> EST1 ; TRANSITION EQUATIONS EST1 := SIGA -> EST2 +-> EST1 EST2 := SIGA -> EST3 +-> EST2 EST3 := SIGA -> EST4 +-> EST3 EST4 := SIGA -> EST5 +-> EST4 EST5 := SIGA -> EST6 +-> EST5 EST6 := SIGASBAT -> EST1 + SIGACBAT -> EST4A +-> EST6 EST4A := SIGA -> EST4B +-> EST4A EST4B := SIGA -> EST1 +-> EST4B
;OUTPUT EQUATIONS EST1.OUTF = OUT[0]* OUT[1]* OUT[2]*/OUT[3] EST2.OUTF = /OUT[0]* OUT[1]* OUT[2]* OUT[3] EST3.OUTF = /OUT[0]* OUT[1]* OUT[2]*/OUT[3] EST4.OUTF = /OUT[0]* OUT[1]*/OUT[2]* OUT[3] EST5.OUTF = /OUT[0]* OUT[1]*/OUT[2]*/OUT[3] EST6.OUTF = /OUT[0]*/OUT[1]*/OUT[2]* OUT[3] EST4A.OUTF = /OUT[0]* OUT[1]*/OUT[2]* OUT[3] EST4B.OUTF = /OUT[0]* OUT[1]*/OUT[2]* OUT[3] CONDITIONS SIGA = /STOP SIGASBAT= /STOP*/BAT SIGACBAT= /STOP* BAT
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 27
O dado electrónico (cont.)
• Secção de simulação:;---------------------------------- Simulation Segment ------------ SIMULATION TRACE_ON CLK STOP BAT OUT[0..3] SETF /STOP FOR I:=1 TO 8 DO BEGIN CLOCKF END SETF BAT FOR I:=1 TO 8 DO BEGIN CLOCKF END SETF STOP FOR I:=1 TO 4 DO BEGIN CLOCKF END TRACE_OFF
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 28
O dado electrónico (cont.)
• Resultados da simulação:
Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 29
Conclusão
• Objectivo principal do capítulo: Introduzir os princípios do projecto de sistemas digitais com base em dispositivos lógicos programáveis
• Pistas para a continuação do estudo:– Sistemas de apoio ao projecto (e.g. Altera e Xilinx)– Arquitectura e recursos dos dispositivos de média e
elevada complexidade