26
Figure 3.22 Implementation of f = x 1 x 2 + x 2 x 3 V DD x 1 x 2 x 3 f 7404 7408 7432

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

Embed Size (px)

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

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

Figure 3.22 Implementation of f = x1x2 + x2x3

V DD

x 1 x 2 x 3

f

7404

7408 7432

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

Figure 3.24 Programmable logic device as a black box

Logic gates and

programmableswitches

Inputs

(logic variables) Outputs

(logic functions)

Programmable Logic Devices - PLDs

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

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

Page 4: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 5: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 6: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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.

Page 7: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 8: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 9: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

Figure 3.30 A PLD programming unit

Page 10: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

Figure 3.31 A PLCC package with socket

Printed circ

uit board

Page 11: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 12: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 13: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 14: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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.

Page 15: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

(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

Page 16: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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.

Page 17: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 18: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 19: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 20: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 21: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 22: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 23: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

Page 24: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

f 1

f 2 x 1

x 3

x 2

Page 25: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

Figure 3.41 A sea-of-gates gate array

Page 26: Figure 3.22     Implementation of f = x 1 x 2  + x 2 x 3

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

f 1

x 1

x 3

x 2