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 de projeto ASIC


Um fluxo de projeto típico segue uma estrutura mostrada abaixo e pode ser dividido em várias etapas. Algumas dessas fases acontecem em paralelo e outras sequencialmente. Vamos dar uma olhada em como um ciclo típico de design de projeto se parece na indústria hoje.

Requisitos


Um cliente de uma empresa de semicondutores normalmente é outra empresa que planeja usar o chip em seus sistemas ou produtos finais. Assim, 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 realizar o projeto.

Especificações


O próximo passo seria coletar "especificações" que descrevem abstratamente a funcionalidade, interface e arquitetura geral do chip a ser projetado. Isso pode ser algo ao longo das linhas como:
  1. Requer poder computacional para executar algoritmos de imagem para dar suporte à realidade virtual
  2. Requer dois processadores ARM A53 com interconexão coerente e deve funcionar a 600 MHz
  3. Requer interfaces USB 3.0, Bluetooth e PCIe de 2ª geração
  4. Deve suportar exibição de 1920 x 1080 pixels com controlador apropriado

Arquitetura


Agora, os arquitetos apresentam uma visão no nível do sistema de como o chip deve operar. Eles decidirão quais são os outros componentes necessários, quais frequências de clock devem ser executadas e como atingir os requisitos de energia 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 memória RAM do sistema e os executa. Enquanto isso, o mecanismo gráfico executará dados pós-processados ​​do lote anterior despejados em outra parte da memória e assim por diante.

Design 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 exija 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 design em termos de funcionalidade, desempenho e outros problemas de alto nível usando uma linguagem de descrição de hardware, como Verilog ou VHDL. Isso geralmente é feito por um designer digital e é 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 esteja pronto, ele precisa ser verificado quanto à correção funcional. Por exemplo, espera-se que um processador DSP emita transações de barramento para buscar instruções da memória, mas como sabemos que isso acontecerá conforme o esperado? Assim, neste momento, é necessária a verificação funcional, que é feita com o auxílio 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 de pré-silício.

Para economizar tempo e alcançar o fechamento funcional, as equipes de design e verificação operam em paralelo, onde os designers "lançam" uma versão RTL e a equipe de verificação desenvolve o ambiente testbench e os casos de teste para testar a funcionalidade dessa versão RTL. Se algum desses testes falhar, isso pode indicar um problema com o design e um "bug" será gerado nesse elemento de design. Este bug terá que ser corrigido na próxima versão do RTL da equipe de design. Esse processo continua até que haja um bom nível de confiança na correção funcional do projeto.

Síntese lógica


Agora que estamos satisfeitos com o design, é hora de converter isso em um esquema de hardware com elementos reais como portas combinacionais e flip-flops. Essa etapa é chamada de síntese. As 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. Pode parecer algo como:
  
  
and_2_0     u_and2_0 ( .in_a (_net_112),
                       .in_b (_net_56),
                       .out  (_net_222));

ff_lt       u_ff_lt_122 (.d   (_net_222),
                         .clk (_net_11),
                         .q   (_net_76));

  

As ferramentas de síntese lógica garantem que a netlist atenda às especificações de tempo, área e energia. Normalmente, eles têm acesso a diferentes processos de nós de tecnologia e bibliotecas de elementos digitais e podem fazer cálculos inteligentes para atender a todos esses diferentes critérios. Essas bibliotecas são obtidas de fábricas de semicondutores que fornecem características de dados para diferentes componentes, como tempos de subida/descida para flip-flops, tempo de entrada-saída para portas combinacionais, etc.

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 é realizada uma "verificação de nível de porta" onde a verificação de certos elementos é feita mais uma vez, a diferença é que desta vez está no nível de porta e está em um nível inferior de abstração. Os tempos de simulação tendem a ser mais lentos devido ao grande número de elementos envolvidos no projeto neste estágio, juntamente com informações de atraso anotadas.

Posicionamento e roteamento


A netlist é então inserida no fluxo de projeto físico, onde a localização e rota automática (APR ou PnR) é feita com a ajuda de ferramentas EDA. Um bom exemplo dessas ferramentas é o Cadence Encounter e o Synopsys IC Compiler. Isso selecionará e colocará células padrão em linhas, definirá mapas de bola para entrada-saída, criará diferentes camadas de metal e colocará buffers para cumprir o tempo. Feito esse processo, um layout é gerado e normalmente enviado para fabricação. Esse estágio geralmente é tratado pela equipe de projeto físico que conhece bem o nó de tecnologia e os detalhes da implementação física.

Validação


Não termina aqui. Um chip de amostra será fabricado pela mesma empresa de semicondutores ou enviado para uma fundição de terceiros como TSMC ou Global Foundries. Esta amostra agora passa pelo processo de validação pós-silício, onde outra equipe de engenheiros executa diferentes padrões em um testador. É 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 teriam terminado em um segundo e rastrear o tempo exato do erro seria demorado. Se houver algum problema real ou bug de design encontrado neste estágio, isso terá que ser corrigido no RTL, verificado novamente e todas as etapas a seguir terão que ser executadas.

Embora existam várias etapas no fluxo de projeto, grande parte da atividade de projeto é geralmente concentrada na otimização e verificação da descrição RTL do circuito. É importante observar que, embora as ferramentas EDA estejam disponíveis para automatizar os processos, o uso inadequado levará a projetos ineficientes e, portanto, o designer deve fazer escolhas conscientes durante o processo de projeto.

Verilog

  1. Tutorial Verilog
  2. Camadas de abstração de design
  3. Quatro principais aspectos de um bom design do painel de controle
  4. Noções básicas de projeto de gabinetes de controle em máquinas, automação e indústria
  5. Noções básicas de design do painel de controle
  6. Respostas curtas para grandes perguntas sobre design de PCB
  7. Métodos para fortalecer a capacidade anti-interferência no design de PCB
  8. Como eliminar a interferência no projeto de PCB
  9. Três considerações de design para garantir a EMC de PCB de laptop
  10. O que é projeto de arquitetura?