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

Post on 17-Apr-2015

120 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related