Você está na página 1de 12

Sistemas Digitais Prof.

Antonio Ramirez Hidalgo

SISTEMAS DIGITAIS

Professor: ANTONIO RAMIREZ HIDALGO

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%

Nota 1 = Prova 1 + MT + Lab at a Prova 1


Nota 2 = Prova 2 + MT + Lab Desde a Prova 1 at a Prova 2
Nota 3 = Prova 3 + MT + Lab Desde a Prova 2 at o final das aulas.
A nota final ser: NF = (Nota1 + Nota2 + Nota3)/3

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

Introduo aos Dispositivos Lgicos


Programveis
OBJETIVOS
Ter uma viso geral sobre os dispositivos lgicos programveis, diferenas e caractersticas.
Falar respeito das diferentes linguagens de programao para estes dispositivos.

DISPOSITIVOS LGICOS PROGRAMVEIS (PLDs)

Os circuitos integrados implementados em pastilhas de silcio se classificam em circuitos padro


(portas AND, OR, NOT e Flip-Flops) e de aplicaes especficas ASICs (Application Specific
Circuits) (que precisam de um processo de fabricao especial).
Devido evoluo no projeto de circuitos digitais se utiliza a ferramenta de software denominada
EDA (Electronic Design Automation) e os PLDs os quais tem simplificado e acelerado o ciclo de
projeto.
Os dispositivos lgicos programveis (PLDs) foram os dispositivos que possibilitaram a
implementao da Lgica Programvel Estruturada. Os PLDs podem ser classificados em funo do
nmero de portas lgicas que comportam:
SPLDs (Simple Programmable Logic Devices): so dispositivos simples de baixa capacidade, que
tipicamente contm menos de 600 portas lgicas.

HCPLDs (High Complex Programmable Logic Devices): so dispositivos de alta capacidade,


que tipicamente contm mais de 600 porta lgicas; os mais modernos podem atingir cerca de
250.000 portas ou mais e englobam os dispositivos CPLDs (Complex Programmable Logic
Devices) e FPGAs (Field Programmable Gate Arrays).

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

Figura 1.1. PLA 4 x 3 com seis termos de produtos

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

Na figura 1.2 (b) temos as seguintes equaes:


O1=I1I2I1 I2
I3
I4

O2=I1I3 I1I3I4I2

O3=I1I2I1I3 I1
I2
I4

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.

Figura 1.3. Circuito Lgico 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.

Figura 1.4. Smbolo Lgico do PAL16L18

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.

Figura 1.5. Construo de um PLA usando lgica CMOS

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.

Figura 1.6. Diagrama Lgico do GAL16V18C

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.

Figura 1.7. 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.

Figura 1.8. Diagrama do bloco lgico de uma FPGA

Os blocos lgicos formam uma matriz bidimensional, e as chaves de interconexo so


organizadas como canais de roteamento horizontal e vertical entre as linhas e colunas de blocos
lgicos. Esses canais de roteamento possuem chaves de interligao programveis (Figura 1.9) que
permitem conectar os blocos lgicos de maneira conveniente, em funo das necessidades de cada
projeto.

Figura 1.9. Chaves de interligao programveis.

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

DESENVOLVIMENTO DE PROJETOS UTILIZANDO FPGA


Envolve vrias etapas que geralmente so automatizadas. Atualmente, a utilizao de
ferramentas de software EDA (Electronic Design Automation) tem simplificado e acelerado todo o
ciclo de projeto.
Um sistema tpico de desenvolvimento de projetos (figura 1.10), com ferramentas de software
EDA, consiste em vrios programas interconectados.

Especificao e Editor Grfico Bibliotecas


Editor de Smbolo Primitivas
entrada do projeto
Editor de Texto Macroinstrues

Sntese
Mapeamento

Posicionamento
Roteamento

Verificao
Teste

Programao do
FPGA

Figura 1.10. Ambiente de desenvolvimento EDA

10
Sistemas Digitais Prof. Antonio Ramirez Hidalgo

LINGUAGENS DE DESCRIO DE HARDWARE - HDL

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

PROJETO BRAZIL-IP (http://www.brazilip.org)


Iniciativa - Repositrio Nacional de IPs - fomento a reuso. Projeto 2003-2006, R$ 2.000.000,00
com oito instituies, nfase em Recursos Humanos. Projeto Fnix - uma plataforma para
desenvolver sistemas wireless (figura 1.11):
9 IPs processadores
1 IPs de comunicao - NoC Hermes

Figura 1.11. Plataforma Fnix

PESQUISE SOBRE O PROJETO CI


BRASIL !!!!

12

Você também pode gostar