Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Verilog

Fluxo Completo de Projeto ASIC: Dos Requisitos à Produção

Um fluxo de projeto típico segue a estrutura mostrada abaixo e pode ser dividido em múltiplas etapas. Algumas dessas fases acontecem em paralelo e outras sequencialmente. Veremos como um ciclo de projeto típico se parece na indústria hoje.

Requisitos

Um cliente de uma empresa de semicondutores é tipicamente outra empresa que planeja usar o chip em seus sistemas ou produtos finais. Portanto, os requisitos do cliente também desempenham um papel importante na decisão de como o chip deve ser projetado. Naturalmente, o primeiro passo seria coletar os requisitos, estimar o valor de mercado do produto final e avaliar o número de recursos necessários para fazer o projeto.

Especificações

O próximo passo seria coletar "especificações" que descrevam abstratamente a funcionalidade, interface e arquitetura geral do chip a ser projetado. Isso pode ser algo como:

  1. Requer poder computacional para rodar algoritmos de imagem para suportar realidade virtual
  2. Requer dois processadores ARM A53 com interconexão coerente e deve rodar a 600 MHz
  3. Requer interfaces USB 3.0, Bluetooth e PCIe 2ª geração
  4. Deve suportar display 1920x1080 pixel com controlador apropriado

Arquitetura

Agora, os arquitetos criam uma visão de nível de sistema de como o chip deve operar. Eles decidem quais outros componentes são necessários, quais frequências de clock devem rodar e como atingir requisitos de potência e desempenho. Eles também decidem como os dados devem fluir dentro do chip. Um exemplo seria o fluxo de dados quando um processador busca dados de imagem da RAM do sistema e os executa. Enquanto isso, o motor gráfico executará dados pós-processados do lote anterior despejados em outra parte da memória e assim por diante.

Projeto Digital

Devido à natureza complexa dos chips modernos, não é possível construir algo do zero, e em muitos casos, muitos componentes serão reutilizados. Digamos que a empresa X precise de um módulo FlexCAN para interagir com outros módulos em um automóvel. Eles podem comprar o projeto FlexCAN de outra empresa para economizar tempo e esforço ou gastar recursos para construir um por conta própria. Além disso, não é prático projetar tal sistema a partir de blocos de construção básicos como flip-flops e transistores CMOS. Em vez disso, uma descrição comportamental é desenvolvida para analisar o projeto em termos de funcionalidade, desempenho e outras questões de alto nível usando uma Hardware Description Language como Verilog ou VHDL. Isso geralmente é feito por um projetista digital e é meio semelhante a um programador de computador de alto nível equipado com habilidades em eletrônica digital.

Verificação

Uma vez que o projeto RTL está pronto, ele precisa ser verificado quanto à correção funcional. Por exemplo, um processador DSP espera emitir transações de barramento para buscar instruções da memória, mas como sabemos que isso acontecerá como esperado? Então, a verificação funcional é necessária neste ponto, que é feita com a ajuda de simuladores EDA que têm a capacidade de modelar o projeto e aplicar diferentes estímulos a ele. Este é o trabalho de um engenheiro de verificação pré-silício.

Para economizar tempo e alcançar o fechamento funcional, tanto as equipes de projeto quanto de verificação operam em paralelo onde os projetistas "liberam" uma versão RTL, e a equipe de verificação desenvolve ambiente de testbench e casos de teste para testar a funcionalidade daquela versão RTL. Se algum desses testes falhar, pode indicar um problema no projeto e um "bug" será levantado naquele elemento de projeto. Este bug terá que ser corrigido na próxima versão de liberação RTL da equipe de projeto. Este processo continua até haver um bom nível de confiança na correção funcional do projeto.

Síntese Lógica

Agora que estamos satisfeitos com o projeto, é hora de converter isso em esquema de hardware com elementos reais como portas combinacionais e flip-flops. Esta etapa é chamada de síntese. Ferramentas de síntese lógica permitem a conversão da descrição RTL em HDL para uma netlist de nível de porta. Esta netlist nada mais é do que uma descrição do circuito em termos de portas e conexões entre elas.

Equivalência Lógica

A netlist de nível de porta é então verificada quanto à equivalência lógica com o RTL, e às vezes uma "verificação de nível de porta" é realizada onde a verificação de certos elementos é feita mais uma vez, a diferença sendo que desta vez é no nível de porta e em um nível mais baixo de abstração. Tempos de simulação tendem a ser mais lentos devido ao enorme número de elementos envolvidos no projeto neste estágio junto com informações de atraso back-annotated.

Placement and Routing (Posicionamento e Roteamento)

A netlist é então inserida no fluxo de projeto físico, onde o place and route automático (APR ou PnR) é feito com a ajuda de ferramentas EDA. Bons exemplos de tais ferramentas são Cadence Encounter e Synopsys IC Compiler. Isso selecionará e posicionará células padrão em linhas, definirá mapas de bolas para entrada-saída, criará diferentes camadas de metal e colocará buffers para atender timing. Uma vez que este processo é feito, um layout é gerado e geralmente enviado para fabricação. Este estágio é geralmente manipulado pela equipe de projeto físico que são bem versados no nó de tecnologia e detalhes de implementação física.

Validação

Não acaba aqui. Um chip de amostra será fabricado pela mesma empresa de semicondutores ou enviado para uma foundry terceirizada como TSMC ou Global Foundries. Esta amostra agora passa por um processo de validação pós-silício onde outra equipe de engenheiros roda diferentes padrões em um tester. É muito mais difícil depurar na validação pós-silício do que na verificação pré-silício simplesmente porque o nível de visibilidade nos nós internos de um chip é drasticamente reduzido. Além disso, um milhão de ciclos de clock terminariam em um segundo e rastrear de volta ao momento exato do erro será demorado. Se houver quaisquer problemas reais ou bugs de projeto encontrados neste estágio, então isso terá que ser corrigido no RTL, re-verificado e todas as etapas que seguem esta terão que ser realizadas.

Mesmo havendo múltiplas etapas no fluxo de projeto, muita atividade de projeto geralmente se concentra na otimização e verificação da descrição RTL do circuito. É importante notar que embora ferramentas EDA estejam disponíveis para automatizar os processos, uso inadequado levará a projetos ineficientes e, portanto, um projetista tem que fazer escolhas conscientes durante o processo de projeto.

Verilog

  1. Domine o Verilog: Tutorial Completo para Projeto de Circuitos Digitais
  2. Camadas de Abstração de Projeto: Guia Claro para Arquitetura de Chips
  3. 4 Fatores-Chave para Design Eficaz de Painel de Controle
  4. Princípios Essenciais de Projeto para Gabinetes de Controle em Automação Industrial
  5. Dominando o Projeto de Painéis de Controle Elétrico: Princípios-Chave e Melhores Práticas
  6. Respostas Rápidas de Especialistas para Perguntas Essenciais de Projeto de PCB
  7. Aprimorando Design de PCB: Estratégias Comprovadas para Aumentar Desempenho Anti-Interferência
  8. Dominando a Mitigação de Interferência em PCB: Guia Profissional para Garantir Conformidade EMC
  9. Três Estratégias-Chave de Projeto para EMC Ótimo em PCBs de Laptop
  10. Design de Arquitetura: Princípios, Práticas e Impacto