projetos

19
Projeto de Sistemas Eletrônicos Digitais O projeto de sistemas eletrônicos digitais em geral se dá através de um conjunto de transformações entre representações parciais. A compreensão tanto das representações quanto das transformações é fundamental neste processo. O ciclo de projeto envolve uma série de etapas, e um conjunto de tarefas típicas é desempenhado por ferramentas automáticas. Este capítulo provê uma visão geral destes assuntos, terminando por analisar o escopo da síntese física.

Upload: leticia-e-leandro-ginatto

Post on 17-Dec-2015

4 views

Category:

Documents


1 download

DESCRIPTION

Engenharia de Software

TRANSCRIPT

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