Fechamento do projeto

Da Wikipédia, a enciclopédia livre
Ir para a navegação Saltar para pesquisar

Design Closure é uma parte do fluxo de trabalho de automação de projeto eletrônico digital pelo qual um projeto de circuito integrado (ou seja, VLSI ) é modificado a partir de sua descrição inicial para atender a uma lista crescente de restrições e objetivos de projeto.

Cada etapa do projeto de IC (como análise de temporização estática , posicionamento , roteamento e assim por diante) já é complexa e geralmente forma seu próprio campo de estudo. Este artigo, no entanto, analisa o processo geral de fechamento do projeto, que leva um chip de seu estado de projeto inicial para a forma final na qual todas as suas restrições de projeto são atendidas.

Introdução [ editar ]

Cada ficha começa como a ideia de uma coisa boa de alguém: "Se pudermos fazer uma peça que desempenhe a função X, ficaremos todos ricos!" Uma vez estabelecido o conceito, alguém do marketing diz: "Para tornar este chip lucrativo, ele deve custar $ C e funcionar na frequência F". Alguém da manufatura diz: "Para atingir as metas deste chip, ele deve ter um rendimento de Y%." Alguém da embalagem diz “Ele deve caber no pacote P e dissipar não mais que W watts”. Eventualmente, a equipe gera uma extensa lista de todas as restrições e objetivos que eles devem cumprir para fabricar um produto que possa ser vendido com lucro. A gerência então forma uma equipe de design, que consiste em arquitetos de chip, designers de lógica, engenheiros de verificação funcional, designers físicos e engenheiros de tempo, e os designa para criar um chip de acordo com as especificações.

Restrições x Objetivos [ editar ]

A distinção entre restrições e objetivos é direta: uma restrição é uma meta de design que deve ser atendida para que o design seja bem-sucedido. [1] Por exemplo, pode ser necessário que um chip funcione em uma frequência específica para que possa interagir com outros componentes em um sistema. Em contraste, um objetivo é um alvo de design onde mais (ou menos) é melhor. Por exemplo, o rendimento é geralmente um objetivo, que é maximizado para reduzir o custo de fabricação. Para fins de fechamento de projeto, a distinção entre restrições e objetivos não é importante; este artigo usa as palavras de forma intercambiável.

Evolução do Fluxo de Fechamento do Projeto [ editar ]

Projetar um chip costumava ser uma tarefa muito mais simples. Nos primeiros dias do VLSI, um chip consistia em alguns milhares de circuitos lógicos que executavam uma função simples em velocidades de alguns MHz. O fechamento do projeto era simples: se todos os circuitos e fios necessários "encaixassem", o chip desempenharia a função desejada.

O fechamento de design moderno tornou-se ordens de magnitude mais complexas. Os chips lógicos modernos podem ter dezenas a centenas de milhões de elementos lógicos alternando em velocidades de vários GHz. Essa melhoria foi impulsionada pela lei de dimensionamento da tecnologia de Moore e introduziu muitas novas considerações de projeto. Como resultado, um projetista de VLSI moderno deve considerar o desempenho de um chip em relação a uma lista de dezenas de restrições e objetivos de projeto, incluindo desempenho, potência, integridade do sinal , confiabilidade e rendimento. Em resposta a essa lista crescente de restrições, o fluxo de fechamento de projeto evoluiu de uma simples lista linear de tarefas para um fluxo muito complexo e altamente iterativo, como o seguinte fluxo de projeto ASIC simplificado:

Fluxo de projeto ASIC de referência [ editar ]

  • Fase de conceito: são desenvolvidos os objetivos funcionais e a arquitetura de um chip.
  • Projeto lógico: A arquitetura é implementada em uma linguagem de nível de transferência de registradores (RTL) e, em seguida, simulada para verificar se ela executa as funções desejadas. Isso inclui verificação funcional .
  • Floorplanning: O RTL do chip é atribuído às regiões brutas do chip, pinos de entrada/saída (I/O) são atribuídos e objetos grandes (matrizes, núcleos, etc.) são colocados.
  • Síntese lógica : O RTL é mapeado em uma netlist de nível de porta na tecnologia de destino do chip.
  • Design para Testabilidade : As estruturas de teste, como cadeias de varredura, são inseridas.
  • Colocação : As portas na netlist são atribuídas a locais não sobrepostos no chip.
  • Refinamento de lógica/posicionamento: transformações lógicas e de posicionamento iterativas para fechar restrições de desempenho e energia.
  • Inserção de clock: Árvores de clock balanceadas em buffer são introduzidas no projeto.
  • Roteamento : Os fios que conectam as portas na netlist são adicionados.
  • Otimização pós-fiação: As violações restantes de desempenho, ruído e rendimento são removidas.
  • Design para fabricação : O design é modificado, sempre que possível, para torná-lo o mais fácil possível de produzir.
  • Verificações de aprovação : Como os erros são caros, demorados e difíceis de detectar, a verificação extensiva de erros é a regra, certificando-se de que o mapeamento para a lógica foi feito corretamente e verificando se as regras de fabricação foram seguidas fielmente .
  • Tapeout e geração de máscara: os dados do projeto são transformados em fotomáscaras na preparação dos dados da máscara .

Evolução das restrições de projeto [ editar ]

O objetivo do fluxo é levar um projeto da fase de conceito ao chip de trabalho. A complexidade do fluxo é resultado direto da adição e evolução da lista de restrições de fechamento de projeto. Para entender essa evolução é importante entender o ciclo de vida de uma restrição de projeto. Em geral, as restrições de projeto influenciam o fluxo de projeto por meio da seguinte evolução de cinco estágios:

  • Avisos antecipados: antes que os problemas de chips comecem a ocorrer, acadêmicos e visionários da indústria fazem previsões terríveis sobre o impacto futuro de algum efeito de nova tecnologia.
  • Problemas de hardware: Falhas esporádicas de hardware começam a aparecer em campo devido ao novo efeito. O redesenho pós-fabricação e re-spins de hardware são necessários para que o chip funcione.
  • Tentativa e erro: As restrições sobre o efeito são formuladas e usadas para conduzir a verificação pós-projeto. As violações da restrição são corrigidas manualmente.
  • Localizar e reparar: O grande número de violações da restrição impulsiona a criação de análises automáticas de pós-projeto e fluxos de reparo.
  • Prever e prevenir: a verificação de restrição se move mais cedo no fluxo usando estimativas preditivas do efeito. Essas otimizações impulsionam para evitar violações da restrição.

Um bom exemplo dessa evolução pode ser encontrado na restrição de integridade do sinal . Em meados da década de 1990 (nó de 180 nm), os visionários da indústria estavam descrevendo os perigos iminentes do ruído de acoplamento muito antes de os chips falharem. Em meados da década de 1990, problemas de ruído estavam surgindo em projetos avançados de microprocessadores. Em 2000, ferramentas automatizadas de análise de ruído estavam disponíveis e eram usadas para orientar a correção manual. O número total de problemas de ruído identificados pelas ferramentas de análise identificadas pelo fluxo rapidamente se tornou muito grande para ser corrigido manualmente. Em resposta, as empresas de CAD desenvolveram os fluxos de prevenção de ruído que estão atualmente em uso na indústria.

A qualquer momento, as restrições no fluxo de projeto estão em diferentes estágios de seu ciclo de vida. No momento da redação deste artigo, por exemplo, a otimização de desempenho é a mais madura e está na quinta fase com o uso generalizado de fluxos de projeto orientados por tempo. A otimização de rendimento orientada a potência e defeito está na quarta fase; a integridade da fonte de alimentação, um tipo de restrição de ruído, está na terceira fase; a otimização de rendimento limitado por circuito está na segunda fase, etc. Uma lista das crises de restrição iminentes da primeira fase sempre pode ser encontrada nos roteiros de tecnologia de perspectiva de 15 anos do International Technology Roadmap for Semiconductors (ITRS).

À medida que uma restrição amadurece no fluxo de projeto, ela tende a funcionar do final do fluxo até o início. Ao fazê-lo, também tende a aumentar em complexidade e no grau em que enfrenta outras restrições. As restrições tendem a subir no fluxo devido a um dos paradoxos básicos do design: precisão versus influência. Especificamente, quanto mais cedo em um fluxo de projeto uma restrição for abordada, mais flexibilidade haverá para lidar com a restrição. Ironicamente, quanto mais cedo estiver em um fluxo de projeto, mais difícil será prever a conformidade. Por exemplo, uma decisão de arquitetura de canalizar uma função lógica pode ter um impacto muito maior no desempenho total do chip do que qualquer quantidade de correção pós-roteamento. Ao mesmo tempo, prever com precisão o impacto no desempenho de tal mudança antes que a lógica do chip seja sintetizada, muito menos colocado ou encaminhado, é muito difícil. Esse paradoxo moldou a evolução do fluxo de fechamento de projeto de várias maneiras. Primeiro, requer que o fluxo de projeto não seja mais composto por um conjunto linear de etapas discretas. Nos estágios iniciais do VLSI era suficiente dividir o projeto em estágios discretos, ou seja, primeiro fazer a síntese lógica, depois o posicionamento e depois o roteamento. À medida que o número e a complexidade das restrições de fechamento de projeto aumentaram, o fluxo de projeto linear foi quebrado. No passado, se houvesse muitas violações de restrição de tempo após o roteamento, era necessário fazer um loopback, modificar um pouco as configurações da ferramenta e reexecutar as etapas de posicionamento anteriores. Se as restrições ainda não fossem atendidas, era necessário chegar mais longe no fluxo e modificar a lógica do chip e repetir as etapas de síntese e colocação.

Veja também [ editar ]

Referências [ editar ]

  1. ^ Ralph, P., e Wand, Y. Uma proposta para uma definição formal do conceito de design. In, Lyytinen, K., Loucopoulos, P., Mylopoulos, J. e Robinson, W., (eds.), Engenharia de Requisitos de Projeto: Uma Perspectiva de Dez Anos: Springer-Verlag, 2009, pp. 103-136
  • Manual de Automação de Projeto Eletrônico para Circuitos Integrados , de Lavagno, Martin e Scheffer, ISBN  0-8493-3096-3 Uma pesquisa no campo da automação de projeto eletrônico . Em particular, este artigo é derivado (com permissão) da introdução do Capítulo 10, Volume II, Design Closure por John Cohn.