Você está na página 1de 19

Projeto de Sistemas Eletrnicos Digitais

O projeto de sistemas eletrnicos digitais em geral se d atravs de

um conjunto de transformaes entre representaes parciais. A


compreenso tanto das representaes quanto das transformaes
fundamental neste processo. O ciclo de projeto envolve uma srie de
etapas, e um conjunto de tarefas tpicas desempenhado por
ferramentas automticas. Este captulo prov uma viso geral destes
assuntos, terminando por analisar o escopo da sntese fsica.

O processo de projeto pode ser definido de forma simples como a

transformao de uma descrio inicial do sistema, frequentemente


denominada especificao, em uma descrio final, tambm

chamada de projeto final ou projeto detalhado. A diferena


fundamental entre a descrio inicial e a descrio final est no fato

desta ltima conter todas as informaes necessrias fabricao do


sistema, ao contrrio da primeira.

O processo de projeto pode ser ento dividido em dois


tipos de atividades, as de sntese, onde se agrega
informao a uma descrio, produzindo uma descrio
mais prxima da descrio final, e as de anlise, onde se
verifica o acerto das tomadas de deciso durante uma etapa
de sntese.

Dois conceitos fundamentais a serem considerados durante o


processo de projeto so os de correo e otimizao do sistema a
construir. Uma descrio final correta se ela atende a todos os
requisitos da descrio inicial e pode ser fabricada. Uma descrio
final tima se ela correta e possui custo mais baixo e melhor
desempenho que qualquer outra soluo correta.

Os critrios de otimalidade para sistemas digitais podem ser


resumidos em:

espao - o sistema digital deve ser o menor possvel;


tempo - o sistema digital deve ser o mais rpido possvel;

energia - o sistema digital deve consumir o mnimo de energia por


unidade de tempo (potncia mnima).

Projeto otimizao. Este um fato sabido. Um bom

projetista aquele capaz de elaborar uma descrio


detalhada a partir de uma descrio abstrata, de tal forma

que a funcionalidade desejada seja aquela do sistema final


e que este sistema tenha custo mnimo e desempenho
mximo.

O diagrama de Gajski

O diagrama Y, originalmente proposto por Gajski e Kuhn, representa


espacialmente a localizao de descries de sistemas em trs
domnios ou vistas: comportamental, estrutural e geomtrico. Estes
trs domnios so representados pelos eixos que se afastam da
descrio fsica exata, formando crculos concntricos que
representam os diversos nveis de abstrao.

Podemos identificar trs domnios de descrio para sistemas digitais:


fsico - contm informao geomtrica sobre os componentes/mdulos e/ou sobre
a disposio espacial destes no sistema a ser fabricado;
estrutural - contm informao sobre como interconectar blocos de base de
comportamento conhecido para realizar determinada funcionalidade, sem se
ocupar com a disposio fsica destes no sistema;
comportamental - carrega informao sobre o comportamento do sistema, sem
se envolver em como tal comportamento pode ser obtido, seja do ponto de vista
fsico, seja do ponto de vista estrutural;

Na prtica, descries de um sistema digital podem ser classificadas


em quatro ou cinco nveis de abstrao distintos. So eles:
nvel eltrico - onde os modelos dos componentes provm da
teoria de circuitos eltricos e eletrnicos, e/ou da fsica de
semicondutores, transistores,

resistores,

capacitores,

equaes

diferenciais, diagramas eltricos, etc;


nvel lgico - onde o sistema digital descrito a partir de noes

elementares da teoria de circuitos digitais: portas lgicas, flip-flops,


equaes Booleanas, tabelas e grafos de transio, etc;

nvel arquitetural - onde os modelos de base so os componentes mais


complexos da teoria de circuitos digitais e as formas de descrev-los: registradores,
decodificadores, ULAs, multiplexadores, linguagens de transferncia entre

registradores, grafos de fluxo de dados e de controle, etc;


nvel sistmico - aqui, o sistema digital descrito como um conjunto de
algoritmos e mdulos capazes de executar aqueles, que podem ou no ter um
mapeamento direto para um hardware existente: processadores, memrias,
componentes abstratos implementados no software bsico do sistema, tais como

um pacote de ponto flutuante em um sistema sem coprocessador aritmtico, ou


monitores de sistemas operacionais;

Tipos de Metodologias
Uma metodologia de projeto considerada bottom-up se ela inicia o

projeto pela realizao dos componentes mais primitivos, e vai


compondo partes mais complexas at formar a descrio completa
do sistema, tanto em detalhe, quanto em seu funcionamento global.
Nesta classe esto as metodologias de projeto antigas, onde o
projetista dispunha de um editor de esquemticos e realizava o
projeto usando componentes da biblioteca para compor macro
elementos maiores.

Uma metodologia considerada top-down se ela parte de uma


descrio bastante abstrata e faz a decomposio do problema,
solucionando-o em cada nvel e gerando problemas em nveis mais
detalhados, at a descrio final necessria. O uso de metodologias

top-down est um pouco mais ligado automao das etapas projeto.


A expresso compilao de silcio foi amplamente usada no meio
cientfico para promover metodologias automticas deste tipo, numa

analogia com a engenharia de software. O ponto de partida


geralmente uma informao comportamental, j que a especificao
de um sistema dada pelo funcionamento adequado dentro de um

ambiente prprio. Metodologias deste tipo so muito importantes


para projetos portveis, independentes de tecnologia.

Ciclo de Projeto de Circuitos VLSI

Projeto tipo top-down

Cada uma destas etapas deve conter trs passos:


Sntese: transformao isolada ou um conjunto de transformaes que sofre a
descrio de um sistema, de forma a acrescentar detalhes sobre sua
implementao, partindo-se de um nvel inicial mais abstrato, e aproximando-se da
descrio da sua realizao fsica.
Anlise: processo pelo qual se faz a decomposio do todo em suas partes, onde
se vai do composto ao simples, ou dos efeitos s causas. A anlise est mais

presente no desenvolvimento das ferramentas e dos algoritmos que devem


solucionar problemas. Da mesma forma, a anlise faz parte do projeto
automatizado dos componentes quando decompomos este processo em diversos
subproblemas, assim como a sntese est presente na recomposio do todo
utilizando as partes criadas e as primitivas.
Verificao: garante que a descrio equivalente a uma outra representao,
sob todas as condies de interesse

Especificao do Sistema - Esta etapa de vital importncia para todo o projeto,


consome muito tempo, e exige importantes decises tcnicas e gerenciais. O
sistema deve ser especificado em suas interfaces, protocolos, opes de
arquitetura, desempenho, alm de outros fatores mercadolgicos e gerenciais.

Projeto Funcional - Visa obter a descrio comportamental abstrata de um


sistema que funcione de acordo com as especificaes. Esta etapa pode considerar
alguns aspectos estruturais ou fsicos que influenciem o comportamento,
principalmente atravs de estimativas, mas deve preferencialmente preocupar-se
com a funcionalidade. Normalmente a especificao do sistema em linguagem
humana ser traduzida para descries comportamentais de hardware, como
VHDL, Verilog ou HardwareC, e diagramas de tempo.

Projeto Arquitetural - Tendo o comportamento de todo o sistema, escolhe-se as opes arquiteturais

para sua subdiviso, e tambm as de implementao interna de cada subdiviso. Aqui so consideradas
estruturas como processadores, memrias, circuitos dedicados, e suas arquiteturas internas, como tipos
de cache, uso de pipeline, etc. As mesmas linguagens j citadas so tambm empregadas. Um dos
modelos mais gerais de arquitetura de um sistema como um conjunto de mquinas que se
comunicam. Cada uma formada por uma parte operativa (PO ou Data Path) e uma parte de controle
(PC), sendo a PC uma mquina de estados finitos (FSM) que gera sinais de controle para fluxo e
processamento dos dados na PO.
Projeto Lgico - Nesta etapa o sistema refinado estruturalmente. Mdulos definidos na arquitetura
so detalhados, e funes no domnio comportamental so traduzidas para o nvel lgico estrutural.
Usa-se de portas lgicas, registradores, multiplexadores, pequenos macro mdulos de biblioteca
(parametrizveis ou no), barramentos, etc... Estes elementos devem ser selecionados conforme sua
disponibilidade na tecnologia de implementao escolhida, pois no sero mais alterados.

Projeto Eltrico - Para os elementos no pertencentes a bibliotecas fixas,


realizado seu projeto eltrico a partir de elementos bsicos, como transistores,
resistores, diodos, capacitores, etc. E para o sistema como um todo, considerado
seu funcionamento e coerncia eltrica. Transistores e conexes devem ser

dimensionados para atender as necessidades de atraso e potncia de cada circuito.

Projeto de Leiaute - Tambm denominado de projeto fsico, o conjunto de


passos necessrios para, a partir da descrio estrutural do circuito (composto por
blocos, portas lgicas ou transistores), sintetizar a descrio geomtrica final das
mscaras, incluindo o leiaute daqueles que j o tem definido. Nesta etapa
praticamente obrigatrio o uso de programas para realizao automtica das tarefas

desejadas, em conseqncia do elevado nmero de elementos.

Fabricao - O circuito fabricado por longos processos fsicos e qumicos a


partir do seu leiaute completo, ou usando uma forma simplificada de
implementao, dentre as descritas adiante. A fabricao de prottipos, ou sua

emulao, importante para que o componente possa ser testado fisicamente e em


conjunto com seu ambiente de operao, antes da produo em massa.

Empacotamento e Teste - Inicialmente o que era uma simples escolha de um


empacotamento fsico para o substrato de silcio, hoje engloba opes e tarefas
bastante complexas, como o uso de MCMs (Multi-Chip Modules), ou algoritmos
para interconexo de pinos de um novo empacotamento. Finalmente, o teste para

garantir o funcionamento de cada componente aps sua fabricao complexo em


termos de hipteses e cobertura de falhas, gerao e aplicao de vetores de testes.
J um padro a existncia de circuitos de auto teste dentro dos prprios
componentes (BIST).