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 Microcontroladores
Dispositivos lógicos programáveis - 1
Princípio de funcionamento
dos DLP
• O princípio de funcionamento dos DLP baseia-se
numa matriz programável de termos de produto
A
B
C
D
é uma representação simplificada de:
F
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 2
(que valor apresenta
a saída F, para o
caso apresentado?)
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)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 3
A
B
C
D
F
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)
A
B
C
D
D
3
Q
CLK
Q
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 4
5
6
F
Arquitectura de um
exemplo típico: A 22V10
CLK / I0
1
• A flexibilidade da 22V10 destaca-a
entre os DLP de uso comum
CLK / I0
I1 a I11
11
1
8
10
Fila de E programáveis
Programmable AND array
(44 x 132)
8
10
12
14
16
16
14
12
10
8
Reset
Reset
MacroCélula
Lógica de
Saída
MacroCélula
Lógica de
Saída
MacroCélula
Lógica de
Saída
MacroCélula
Lógica de
Saída
MacroCélula
Lógica de
Saída
MacroCélula
Lógica de
Saída
MacroCélula
Lógica de
Saída
MacroCélula
Lógica de
Saída
MacroCélula
Lógica de
Saída
MacroCélula
Lógica de
Saída
MacroCélula
Lógica de
Saída
MacroCélula
Lógica de
Saída
Preset
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 5
I/O 0
I/O 1
I/O 2
I/O 3
I/O 4
I/O 5
I/O 6
I/O 7
I/O 8
I/O 9
I/O 0
I/O 1
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
– O controlo de estado
dos buffers de saída
é feito através de um
termo de produto
(permitindo pinos
bidireccionais)
CLK / I0
I1 a I11
11
1
Fila de E programáveis
Programmable AND array
(44 x 132)
8
Reset
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 6
MacroCélula
Lógica de
Saída
I/O 0
10
MacroCélula
Lógica de
Saída
I/O 1
12
MacroCélula
Lógica de
Saída
I/O 2
14
MacroCélula
Lógica de
Saída
I/O 3
16
MacroCélula
Lógica de
Saída
I/O 4
16
MacroCélula
Lógica de
Saída
I/O 5
14
MacroCélula
Lógica de
Saída
I/O 6
12
MacroCélula
Lógica de
Saída
I/O 7
10
MacroCélula
Lógica de
Saída
I/O 8
8
MacroCélula
Lógica de
Saída
I/O 9
Preset
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
CLK / I0
I1 a I11
11
1
Fila de E programáveis
Programmable AND array
(44 x 132)
8
Reset
MacroCélula
Lógica de
Saída
I/O 0
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 7
10
MacroCélula
Lógica de
Saída
I/O 1
12
MacroCélula
Lógica de
Saída
I/O 2
14
MacroCélula
Lógica de
Saída
I/O 3
16
MacroCélula
Lógica de
Saída
I/O 4
16
MacroCélula
Lógica de
Saída
I/O 5
14
MacroCélula
Lógica de
Saída
I/O 6
12
MacroCélula
Lógica de
Saída
I/O 7
10
MacroCélula
Lógica de
Saída
I/O 8
8
MacroCélula
Lógica de
Saída
Preset
I/O 9
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:
10
AR
Reset
assíncrono
D
CLK
CLK
11
Q
00
/Q
01
SP
Preset
síncrono
S1
S0
I/O n
S1
S0
Configuração de saída
0
0
Registada / Activa a 0
0
1
Registada / Activa a 1
1
0
Combinatória / Activa a 0
1
1
Combinatória / Activa a 1
0
1
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 8
A arquitectura da 22V10
(cont.)
• As quatro configurações possíveis para a macrocélula lógica de saída são as seguintes:
AR
D
Q
CLK
/Q
CLK
SP
S0=0
S1=0
S0=0
S1=1
AR
D
CLK
Q
/Q
CLK
SP
S0=1
S1=0
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 9
S0=1
S1=1
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 Microcontroladores
Dispositivos lógicos programáveis - 10
Fluxo de dados no PALASM
• O fluxo de dados associado a esta aplicação de apoio
ao projecto é o seguinte:
Nome.pds
PDS
(especificação de
entrada)
PALASM
XPT
Nome.xpt
JED
RPT
HST
TRF
Nome.jed
Nome.rpt
Nome.hst
Nome.trf
Palasm.log
(ficheiro com o
relatório da
utilização de
recursos
internos)
(todos os
resultados de
simulação)
(resultados da
simulação nos
sinais a
visualizar)
(relatório
produzido pelo
PALASM)
(mapa dos
(ficheiro
fusíveis a
JEDEC para
interromper)
programação)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 11
LOG
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
PIN
PIN
PIN
PIN
PIN
PIN
PIN
PIN
PIN
1
2
3
4
5
6
12
14
15
24
CLOCK
A
B
C
D
E
GND
F1
F2
VCC
COMBINATORIAL
COMBINATORIAL
COMBINATORIAL
COMBINATORIAL
COMBINATORIAL
COMBINATORIAL
;
;
;
;
;
;
COMBINATORIAL
REGISTERED
; OUTPUT
; OUTPUT
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 12
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
PALASM: Especificação do
ficheiro de entrada (cont.)
• Secção funcional:
;---------------------------------- Equations Segment -----------EQUATIONS
F1 = /A + B + C + D*E
F2:= /A + B + C + D*E
(esta secção recorre a comandos com baixo nível de
abstracção para efectuar a descrição funcional do
circuito pretendido)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 13
PALASM: Especificação do
ficheiro de entrada (cont.)
• Secção de simulação (para a verificação de projecto):
;---------------------------------- Simulation Segment -----------SIMULATION
TRACE_ON
SETF
SETF
CLOCKF
SETF
CLOCKF
SETF
CLOCKF
SETF
CLOCKF
SETF
CLOCKF
SETF
CLOCKF
CLOCK A B C D E F1 F2
/A /B /C /D /E
A
CLOCK
/A B
CLOCK
/B C
CLOCK
/C D
CLOCK
/D E
CLOCK
/E
CLOCK
TRACE_OFF
Introdução
ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 14
PALASM: Menus principais
• Menu File:
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 15
PALASM: Menus principais
(cont.)
• Menu Edit:
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 16
PALASM: Menus principais
(cont.)
• Menu Run:
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 17
PALASM: Menus principais
(cont.)
• Menu View:
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 18
PALASM: Menus principais
(cont.)
• Simulação
(View /
Waveforms):
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 19
PALASM: Menus principais
(cont.)
• Menu Help:
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 20
PALASM: Menus principais
(cont.)
• Help:
Exemplo
para o caso
do comando
FOR
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 21
Exemplo de projecto:
Um dado electrónico
LED 1
LED 5
LED 2
LED 6
LED 3
LED 7
LED 4
• Pretende-se simular o funcionamento de um dado
electrónico com as seguintes características:
OUT[x]
– 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
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 22
VCC
O dado electrónico (cont.)
STOP
EST1
• Diagrama de transição
de estados:
/STOP
STOP
EST2
/STOP
STOP
EST3
/STOP
STOP
EST4
/STOP
STOP
EST5
/STOP
/STOP
EST4B
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 23
STOP
/STOP
EST4A
STOP
/STOP*BAT
EST6
STOP
/STOP*/BAT
O dado electrónico (cont.)
• Organização das saídas:
OUT[0]

OUT[x]



OUT[1]


OUT[2]
OUT[3]
VCC


(= 0)
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 24




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
PIN 2
STOP
PIN 3
BAT
PIN 12
GND
PIN 14
OUT[0]
PIN 15
OUT[1]
PIN 16
OUT[2]
PINao Projecto
17 com SistemasOUT[3]
Introdução
Digitais e Microcontroladores
PIN
24
VCC
Dispositivos lógicos programáveis - 25
COMBINATORIAL
COMBINATORIAL
COMBINATORIAL
; INPUT
; INPUT
; INPUT
COMBINATORIAL
COMBINATORIAL
COMBINATORIAL
COMBINATORIAL
;
;
;
;
OUTPUT
OUTPUT
OUTPUT
OUTPUT
O dado electrónico (cont.)
• Secção funcional:
STATE
MOORE_MACHINE
START_UP := POWER_UP -> EST1
; TRANSITION EQUATIONS
EST1
;OUTPUT EQUATIONS
EST1.OUTF
EST2.OUTF
EST3.OUTF
EST4.OUTF
EST5.OUTF
EST6.OUTF
EST4A.OUTF
EST4B.OUTF
=
=
=
=
=
=
=
=
OUT[0]* OUT[1]* OUT[2]*/OUT[3]
/OUT[0]* OUT[1]* OUT[2]* OUT[3]
/OUT[0]* OUT[1]* OUT[2]*/OUT[3]
/OUT[0]* OUT[1]*/OUT[2]* OUT[3]
/OUT[0]* OUT[1]*/OUT[2]*/OUT[3]
/OUT[0]*/OUT[1]*/OUT[2]* OUT[3]
/OUT[0]* OUT[1]*/OUT[2]* OUT[3]
/OUT[0]* OUT[1]*/OUT[2]* OUT[3]
:= SIGA -> EST2
+-> EST1
EST2
:= SIGA -> EST3
+-> EST2
EST3
:= SIGA -> EST4
+-> EST3
EST4
:= SIGA -> EST5
CONDITIONS
+-> EST4
EST5
:= SIGA -> EST6
+-> EST5
SIGA
= /STOP
EST6
:= SIGASBAT -> EST1
SIGASBAT= /STOP*/BAT
+ SIGACBAT -> EST4A
SIGACBAT= /STOP* BAT
+-> EST6
EST4A
:= SIGA -> EST4B
+-> EST4A
Introdução
ao
Projecto
com
Sistemas
Digitais e Microcontroladores
EST4B
:= SIGA ->
EST1
Dispositivos lógicos programáveis
- 26
+-> EST4B
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
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos
lógicos programáveis - 27
TRACE_OFF
O dado electrónico (cont.)
• Resultados
da
simulação:
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 28
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
Introdução ao Projecto com Sistemas Digitais e Microcontroladores
Dispositivos lógicos programáveis - 29
Download

Dispositivos Lógicos Programáveis