Escolar Documentos
Profissional Documentos
Cultura Documentos
SISTEMAS DIGITAIS
ARACAJU SERGIPE
1
Sistemas Digitais Prof. Antonio Ramirez Hidalgo
OBJETIVOS DA DISCIPLINA
Ensinar aos alunos uma linguagem que descreva o hardware, facilitando o projeto de circuitos ou
sistemas digitais, sejam estes combinacionais ou seqenciais.
Mostrar-se- as vantagens e desvantagens das variedades de linguagens de descrio de hardware
(HDL) utilizadas na academia e na industria. Aplicao das HDLs em FPGAs no projeto de
sistemas digitais.
AVALIAO
Teremos trs notas, sendo que estas sero distribudas da seguinte forma:
Mdia de microtestes = MT = 10%
Mdia de Laboratrios = Lab = 40%
Prova = 50%
BIBLIOGRAFIA
1. REFERNCIAS BSICAS:
WAKERLY,John F.; Digital Design Principles and Practices, 4a Ed.,Prentice Hall, 2006.
PALNITKAR,Samir.; Verilog Digital Design Synthesis , 2a Ed., Prentice Hall, 2003.
TOCCI, Ronald J., WIDMER Neal S.; SISTEMAS DIGITAIS - Prncipios e Aplicaes. 10a Ed.
Prentice Hall, 2007.
MANO, M. Morris; CILETTI, Michael D. Digital design. 4th ed., Prentice-Hall, 2007 .
2. REFERNCIAS COMPLEMENTARES:
NAVABI, Zainalabedin.; Verilog Digital System Design, 2 Ed. - McGraw Hill, 2006.
VAHID, Frank.; SISTEMAS DIGITAIS Projeto, Otimizao e HDLs, 1a Ed. Bookman, 2008.
SILAGE, Dennis.; Embedded Design Using Programmable Gate Arrays, Bookstand Publishing,
2008.
MANO, Morris M.; KIME, Charles R., Logic and Computer Design Fundamentals, 2a Ed.,
Prentice Hall, 2000.
2
Sistemas Digitais Prof. Antonio Ramirez Hidalgo
SPLDs
Os PLAs (Programmables Logic Arrays) foram os primeiros SPLDs criados para implementao de
circuitos lgicos pela empresa Philips (1970).
Um PLA estruturado de forma que cada sada do plano AND pode corresponder a qualquer
produto das entradas. Da mesma forma, cada sada do plano OR pode ser configurada para produzir
a soma lgica de quaisquer sadas do plano AND.
Estas PLAs podem ser descritos como um PLA n x m com p termos produto, onde n = nmero
de entradas, m = nmero de sadas e p = nmero de termos produto (este menor que o nmero de
minterms, 2n .
Um PLA n x m com p termos produto contm p portas AND de 2n entradas e m portas OR de p
entradas.
3
Sistemas Digitais Prof. Antonio Ramirez Hidalgo
Na figura 1.1 mostramos um pequeno PLA com quatro entradas, seis portas AND e trs portas OR
de sada. Cada entrada conectada a um buffer que produz uma verso verdadeira e complementada
do sinal a ser usado dentro da matriz (array). As conexes potenciais na matriz so indicadas com
Xs, o dispositivo programado para estabelecer somente as conexes que so necessrias. As
conexes so feitas por fusveis ou clulas de memria no voltil, depende da tecnologia. Assim,
cada entrada das portas AND pode ser algum subconjunto dos sinais de entrada e seus
complementos. Similarmente, cada entrada das portas OR podem ser algum subconjunto das sadas
das portas AND.
(a) (b)
Figura 1.2. (a) Representao compactada do PLA 4 x 3. (b) PLA programado com um conjunto de
trs equaes lgicas
4
Sistemas Digitais Prof. Antonio Ramirez Hidalgo
Estas equaes tem um total de oito termos produto, mas os primeiros dois termos na equao O3
so os mesmos dos primeiros termos da equao O1, portanto, estas equaes casam com as
conexes do PLA.
Esta tecnologia apresenta problemas como alto custo de fabricao e baixo desempenho em termos
de velocidade, as quais existem devido aos dois nveis de lgica configurvel. Os planos lgicos
programveis so difceis de serem fabricados e introduzem atrasos significativos de propagao
dos sinais eltricos.
Um caso especial de PLA, hoje o tipo de PLD mais usado, o PAL (Programmable Array Logic).
Diferente de um PLA, no qual as matrizes de AND e OR so programveis, um dispositivo PAL
tem uma matriz OR fixa, a ideia se mostra na figura 1.3. Circuito interno do PAL16L18.
5
Sistemas Digitais Prof. Antonio Ramirez Hidalgo
A estrutura na figura 1.3 tem as seguintes caractersticas: a matriz AND programvel tem 64
linhas e 32 colunas, identificadas para propsitos de programao pelos nmeros pequenos na
figura, e 64x 32 = 2048 fusveis. Cada uma das 64 portas AND na matriz tem 32 entradas,
acomodando 16 variveis e seus complementos, por isso, o 16 no PAL16L18.
Ainda que o PAL16L18 tem 16 entradas e 8 sadas, este est encapsulado em DIP de 20 pinos,
incluindo um para fonte e outro para terra (10 e 20). Esta magica resultado dos seis pinos
bidirecionais(13 - 18) que poderiam ser usadas como entradas ou sadas. Ver figura 1.4.
Existe outro PLD com a mesma estrutura o PAL20L8, s que este tem quatro pinos a mais
somente de entradas. Cada uma das portas AND tem oito ou mais entradas para acomodar esses
pinos.
Os circuitos PLD CMOS consomem uma potncia reduzida e so reprogramveis. Na figura 1.5
se mostra um projeto CMOS para o circuito PLA 4 x 3 da figura 1.1.
6
Sistemas Digitais Prof. Antonio Ramirez Hidalgo
Ao invs de um diodo, um transistor canal n com uma conexo programvel colocada em cada
intercesso entre uma linha de entrada e uma linha palavra. Se a entrada BAIXA, ento o
transistor est OFF, mas se a entrada HIGH, ento o transistor est ON, o qual leva a linha
AND para BAIXO.
Um dispositivo de matriz lgica genrica (Generic Array Logic Device - GAL) introduz os
PLDs seqenciais, ou seja tem flip flops. Lattice Semiconductor introduz o primeiro GAL,
GAL16V8 (Figura 1.6), o qual pode ser configurado para emular AND-OR, Flip-flop e estruturas
de sadas de alguma variedade de PALs combinacionais e seqenciais, incluindo o PAL16L8.
7
Sistemas Digitais Prof. Antonio Ramirez Hidalgo
HCPLDs
Os Dispositivos Lgicos de Alta Complexidade (HCPLD) dividem-se em dois grupos: CPLD e
FPGA (Field Programmable Gate Array).
A diferena entre os dois dispositivos est na estrutura interna de suas clulas lgicas e na
metodologia de interligao dessas clulas. Estes integram na sua estrutura centenas de
macroclulas programveis que so interligadas por conexes tambm programveis.
Os dispositivos lgicos programveis complexos (CPLD) foram introduzidos no mercado
internacional pela empresa Altera Corp. em 1983, inicialmente como Dispositivos Lgicos
Programveis Apagveis (EPLD) e posteriormente como CPLDs.
Um CPLD pode ser aplicado, como uma mquina de estado ou decodificador de sinais,
substituindo centenas de circuitos discretos que implementariam a mesma funo.
Os CPLDs implementam capacidade lgica de at 50 dispositivos PLDs tpicos. Suas principais
vantagens em relao aos circuitos discretos e ASICs tradicionais so:
Programabilidade e reprogramabilidade
Tecnologia CMOS
Integrao em larga escala
Simplificao e reduo do tempo de desenvolvimento.
Teste e depurao.
A empresa ALTERA oferece comercialmente as seguintes famlias de CPLDs: MAX II, MAX
3000A, MAX 7000 e outros.
Os dispositivos ASICs, SPLDs e CPLDs implementam uma grande variedade de circuitos
lgicos mas com exceo dos CPLDs aqueles componentes possuem baixa capacidade lgica e so
viveis apenas para aplicaes relativamente pequenas.
O FPGA suporta a implementao de circuitos lgicos relativamente grandes. Consiste em um
grande arranjo de clulas lgicas ou blocos lgicos configurveis contidos em um nico circuito
integrado.
Cada clula contm capacidade computacional para implementar funes lgicas e realizar
roteamento para comunicao entre elas. O primeiro FPGA disponvel comercialmente foi
desenvolvido pela empresa Xilinx Inc, em 1983.
Os FPGAs no possuem planos OR ou AND, consistem em um grande arranjo de clulas
configurveis que podem ser utilizadas para a implementao de funes lgicas. Na figura 1.7 se
mostra a estrutura interna simplificada de um FPGA.
8
Sistemas Digitais Prof. Antonio Ramirez Hidalgo
Basicamente os FPGAs so constitudos por blocos lgicos (figura 1.8), blocos de entrada/sada
e chaves de interconexo.
No interior dos Blocos Lgicos do FPGA existem vrios modos possveis para implementao
de funes lgicas. O mais utilizado o bloco de memria LUT (Look-Up Table).
Esse tipo de bloco lgico contm clulas de armazenamento que so utilizadas para implementar
pequenas funes lgicas. Cada clula capaz de armazenar um nico valor lgico, zero (0) ou um
(1). Nos FPGAs comerciais os LTUs possuem geralmente quatro ou cinco entradas, o que permite
enderear 16 ou 32 clulas de armazenamento.
As clulas de armazenamento dos LUTs de um FPGA so volteis, portanto o FPGA deve ser
programado toda vez que for energizado. Geralmente utiliza-se uma pequena memria FLASH
EEPROM cuja funo carregar automaticamente as clulas de armazenamento, toda vez que o
FPGA for energizado.
A GRANULARIDADE uma caracterstica do FPGAs relacionada com o gro. O gro a
menor unidade configurvel que compe um FPGA.
A classificao dos FPGAs em quanto ao bloco lgico :
Gro grande: ULAs, uPs pequenos e memrias
Gro mdio: duas ou mais LUTs ou mais flip flops.
Gro pequeno: grande nmero de blocos lgicos simples.
9
Sistemas Digitais Prof. Antonio Ramirez Hidalgo
Sntese
Mapeamento
Posicionamento
Roteamento
Verificao
Teste
Programao do
FPGA
10
Sistemas Digitais Prof. Antonio Ramirez Hidalgo
A medida que os projetos ficam mais complexos, as descries em nvel de esquemas lgicos
tornam-se inviveis, fazendo-se necessrio descrever esses projetos em modos mais abstratos.
As linguagens de descrio de hardware tambm conhecidas como HDL (Hardware Description
Language) foram desenvolvidas para auxiliar os projetistas a documentar projetos e simular grandes
sistemas, principalmente em projetos de dispositivos ASICs.
Existem diversas HDLs, sendo as mais comumente utilizadas: ABEL (Advanced Boolean
Equation Language), VHDL(Very High Speed Integrated Circuit Description Language) e Verilog.
A linguagem ABEL foi a primeira linguagem HDL a ser desenvolvida. Criada pela empresa
americana Data I/O Corp. para programar dispositivos SPLD, uma linguagem mais simples que a
linguagem VHDL.
J as linguagens VHDL e Verilog so capazes de programar sistemas de maior complexidade
como os dispositivos FPGA.
As HDLs so utilizadas para descrever o comportamento de um sistema digital de variadas
formas, inclusive equaes lgicas, tabelas da verdade e diagramas de formas de onda, que utilizam
declaraes de constantes, estados, configuraes, bibliotecas, mdulos etc., como a linguagem C.
11
Sistemas Digitais Prof. Antonio Ramirez Hidalgo
12