introdução ao projecto com sistemas digitais e microcontroladores dispositivos lógicos...

29
Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos 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

Upload: internet

Post on 17-Apr-2015

119 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 2: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 3: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 4: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 5: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 6: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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)

Page 7: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 8: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 9: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 10: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 11: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organizaçã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

Page 12: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 13: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 14: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 15: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 15

PALASM: Menus principais

• Menu File:

Page 16: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 16

PALASM: Menus principais (cont.)• Menu Edit:

Page 17: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 17

PALASM: Menus principais (cont.)• Menu Run:

Page 18: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 18

PALASM: Menus principais (cont.)• Menu View:

Page 19: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 19

PALASM: Menus principais (cont.)• Simulação

(View / Waveforms):

Page 20: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 20

PALASM: Menus principais (cont.)• Menu Help:

Page 21: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 22: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 23: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 24: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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]

Page 25: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 26: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 27: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

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

Page 28: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organização:

Introdução ao Projecto com Sistemas Digitais e MicrocontroladoresDispositivos lógicos programáveis - 28

O dado electrónico (cont.)

• Resultados da simulação:

Page 29: Introdução ao Projecto com Sistemas Digitais e Microcontroladores Dispositivos lógicos programáveis - 1 Dispositivos lógicos programáveis (DLP) Organizaçã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