260 likes | 400 Views
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.
E N D
V DD 7404 7408 7432 x 1 x 2 x 3 f Figure 3.22 Implementation of f = x1x2 + x2x3
Programmable Logic Devices - PLDs Logic gates Inputs and Outputs programmable (logic variables) (logic functions) switches Figure 3.24 Programmable logic device as a black box
x x x Programmable Logic Array PLAs 1 2 n Input buffers and criados a partir da idéia que uma função lógica pode ser implementada como uma soma de produtos inverters x x x x 1 n 1 n P 1 OR plane AND plane P k f f 1 m Figure 3.25 General structure of a PLA
x x x 1 2 3 Programmable connections OR plane P 1 P 2 P 3 P 4 AND plane Figure 3.26 Gate-level diagram of a PLA f f 1 2
x x x 1 2 3 OR plane P 1 P 2 P 3 P 4 AND plane f f 1 2 Figure 3.27 Customary schematic of a PLA
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.
x x x 1 2 3 P 1 f 1 P 2 P 3 f 2 P 4 AND plane Figure 3.28 An example of a PAL
Nem sempre a saída do OR é conectada diretamente ao pino do CI Select Enable f 1 Flip-flop D Q Clock To AND plane Exemplo de macrocélula
Printed circuit board Figure 3.31 A PLCC package with socket
single PALsePLAs (SPLDs) • 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
I/O block PAL-like PAL-like I/O block block block Interconnection wires I/O block PAL-like PAL-like I/O block block block Figure 3.32 Structure of a CPLD
PAL-like block (details not shown) Interconnection wires típicamente, cada bloco PAL de um CPLD contém 16 macrocélulas com ORs de 20 entradas. PAL-like block D Q D Q D Q Figure 3.33 A section of a CPLD
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.
CPLD packaging and programming In System Programming JTAG - Joint Action Test Group
CPLDstê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. 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)
Logic block Interconnection switches I/O block I/O block I/O block I/O block Figure 3.35 Structure of an FPGA
x Blocos Lógicos look-up table 1 0/1 x x 0/1 f 1 2 1 f 0/1 0 0 1 0 1 0 0/1 1 0 0 x 1 1 1 2 (b) f = x x + x x (a) Circuit for a two-input LUT 2 1 1 1 2 x 1 1 0 f 1 0 1 x 2 (c) Storage cell contents in the LUT Figure 3.36 A two-input lookup table
x x 2 1 0/1 0/1 0/1 0/1 f 0/1 0/1 0/1 0/1 x 3 Figure 3.37 A three-input LUT
Blocos Lógicos look-up table e Flip-Flop Select Out Flip-flop In 1 In D Q LUT 2 In 3 Clock Figure 3.38 Inclusion of a flip-flop with a LUT
x f 3 ON x 1 x 0 x 0 1 2 0 1 f f 1 2 0 0 x x x 2 2 3 1 0 OFF 0 f 1 1 f 1 f 2 1 Figure 3.39 A section of a programmed FPGA
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, oscustom chipssã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).