Figure 3.22 Implementation of f = x 1 x 2 + x 2 x 3

Preview:

DESCRIPTION

V. DD. 7404. 7408. 7432. x. 1. x. 2. x. 3. f. Figure 3.22 Implementation of f = x 1 x 2 + x 2 x 3. P rogrammable L ogic D evices - PLD s. Logic gates. Inputs. and. Outputs. programmable. (logic variables). (logic functions). switches. - PowerPoint PPT Presentation

Citation preview

Figure 3.22 Implementation of f = x1x2 + x2x3

V DD

x 1 x 2 x 3

f

7404

7408 7432

Figure 3.24 Programmable logic device as a black box

Logic gates and

programmableswitches

Inputs

(logic variables) Outputs

(logic functions)

Programmable Logic Devices - PLDs

Figure 3.25 General structure of a PLA

f 1

AND plane OR plane

Input buffers

inverters and

P 1

P k

f m

x 1 x 2 x n

x 1 x 1 x n x n

Programmable Logic Array

PLAs

criados a partir da idéia que uma função lógica pode ser implementada como uma soma de produtos

Figure 3.26 Gate-level diagram of a PLA f1

P1

P2

f2

x1 x2 x3

OR plane

Programmable

AND plane

connections

P3

P4

32131211 xxxxxxxf

Figure 3.27 Customary schematic of a PLA

f 1

P 1

P 2

f 2

x 1 x 2 x 3

OR plane

AND plane

P 3

P 4

32131211 xxxxxxxf

PLAs

São eficientes em termos de área de implementação.

O fato dos planos de ORs e de ANDs serem ambos programáveis acarreta dificuldades na implementação, e é responsável por uma baixa performance de velocidade.

Surgimento dos PALs

Programmable Array Logic

Planos de ANDs programáveis e de ORs fixos os tornam mais simples de serem fabricados que os PLAs, além de mais baratos.

Melhor performance.

Figure 3.28 An example of a PAL

f 1

P 1

P 2

f 2

x 1 x 2 x 3

AND plane

P 3

P 4

32131211 xxxxxxxf

321313212 xxxxxxxxf

Exemplo de macrocélula

f 1

To AND plane

D Q

Clock

SelectEnable

Flip-flop

Nem sempre a saída do OR é conectadadiretamente ao pino do CI

Figure 3.30 A PLD programming unit

Figure 3.31 A PLCC package with socket

Printed circ

uit board

Agilizam a implementação de projetos .

Contudo, são limitados a um número razoavelmente pequeno de entradas e saídas (combinadas, não passam de 32).

Surgimento do CPLDs

Complex Programmable Logic Devices

PALs e PLAs (SPLDs) single

Figure 3.32 Structure of a CPLD

PAL-likeblock

I/O

blo

ck

PAL-likeblock

I/O b

lock

PAL-likeblock

I/O

blo

ck

PAL-likeblock

I/O b

lock

Interconnection wires

Figure 3.33 A section of a CPLD

D Q

D Q

D Q

PAL-like block (details not shown)

PAL-like block

típicamente, cada bloco PAL de um CPLD contém 16 macrocélulas com ORs de 20 entradas.

Interconnection wires

CPLDs

Cada buffer tri-state é conectado a um pino do encapsulamento, que pode ser usado como saída (buffer on) ou entrada (buffer off). Neste último caso, a macrocélula não poderá ser utilizada (exceto em dispositivos que permitam o “empréstimo” delas).

Os fios horizontais de interconexão podem ser conectados a alguns dos fios verticais.

CPLDs comerciais possuem de 2 a 100 blocos PALs.

É encapsulado nos formatos PLCC (Plastic Leaded Chip Carrier) e QFP (Quad Flat Pack).

Usualmente programados via ISP (In System Programming).

A programação não é volátil.

(a) CPLD in a Quad Flat Pack (QFP) package

Printed circuit board

To computer

(b) JTAG programming

JTAG - Joint Action Test Group

In System Programming

CPLD packaging and programming

Field Programmable Gate Arrays - FPGAs

Contém blocos lógicos para implementação de circuitos e não possuem planos de ANDs e de ORs.

A interconexão desses blocos é feita através de canais de roteamento.

Como os CPLDs, a conexão aos pinos externos é feita través dos blocos de I/O.

Suporta circuitos com centenas de milhares de eg.

Programação volátil. Suporta ISP

Encapsulamentos: PLCC, QFP, Pin Grid Array (PGA), Ball Grid Array (BGA)

CPLDs têm em média 1000 macrocélulas e cada uma delas, cerca de 20 equivalent gates (eg), ou seja, 20.000 eg em um CPLD. Isto, pelos padrões atuais, permite implementar circuitos de média complexidade.

Figure 3.35 Structure of an FPGA

Logic block Interconnection switches

I/O block

I/O block

I/O b

lock I/

O b

lock

Figure 3.36 A two-input lookup table

(a) Circuit for a two-input LUT

x 1

x 2

f

0/1

0/1

0/1

0/1

0 0 1 1

0 1 0 1

1 0 0 1

x 1 x 2

(b) f 1 x 1 x 2 x 1 x 2 + =

(c) Storage cell contents in the LUT

x 1

x 2

1

0

0

1

f 1

f 1

Blocos Lógicos

look-up table

Figure 3.37 A three-input LUT

f

0/1

0/1

0/1

0/1

0/1

0/1

0/1

0/1

x 2

x 3

x 1

Figure 3.38 Inclusion of a flip-flop with a LUT

Out

D Q

Clock

Select

Flip-flop In1

In2

In3

LUT

Blocos Lógicos

look-up table e Flip-Flop

Figure 3.39 A section of a programmed FPGA

0 1 0 0

0 1 1 1

0 0 0 1

x 1

x 2

x 2

x 3

f 1

f 2

f 1 f 2

f

x 1

x 2

x 3 f

ON

OFF

as chaves programáveis nos PLDs impõem limites à implementação de circuitos de maior

complexidade nesses dispositivos, bem como às suas velocidades de operação.

Custom Chips

• enquanto os PLDs são pré-fabricados e, portanto, de uso geral, os custom chips são construídos para aplicações específicas e por isso apresentam desempenho otimizado.

• custo elevado, somente justificado para grandes perspectivas de vendagem (microprocessadores, memórias).

Custom Chips têm custo elevado, somente justificado para grandes perspectivas de vendagem (microprocessadores, memórias, etc).

Application Specific Integrated Circuits - ASICs• esta tecnologia disponibiliza ao projetista bibliotecas de standard cells.• mantém certo nível de otimização por não serem pré-fabricados.• encapsulamentos: QFP, PGA ou BGA.• custo ainda elevado, mas mais baixo que o dos custom chips.

Gate Array Tecnology - GAT• partes do chip são pré-fabricadas e outras são dedicadas.• amortização do custo pelo fato do fabricante desenvolver boa parte do processo (pré-fabricação).

Figure 3.40 A section of two rows in a standard-cell chip

f 1

f 2 x 1

x 3

x 2

Figure 3.41 A sea-of-gates gate array

Figure 3.42 An example of a logic function in a gate array

f 1

x 1

x 3

x 2

Recommended