Pergunte a uma sala de estudantes de engenharia quem quer projetar chips, e quase todas as mãos sobem. Pergunte quem quer verificá-los, e a sala fica honesta.
A parte do trabalho que ninguém pleiteia
A imagem pública do projeto de chips é arquitetura: alguém decidindo o que o processador faz, quantos núcleos ele tem, como funciona a hierarquia de memória. Esse trabalho existe, é genuinamente interessante, e é uma fração pequena do quadro de pessoal.
Em um projeto típico de chip digital, o maior bloco isolado de esforço de engenharia é verificação, e em projetos complexos os engenheiros de verificação costumam superar em número os de projeto. É também, consistentemente, o grupo mais difícil de contratar.
O motivo dessa desproporção persistir é um mal-entendido sobre o que verificação é. Ela é amplamente imaginada como teste: rodar o projeto e checar a saída. É quase o oposto. Um engenheiro de verificação constrói um modelo independente do que o projeto deveria fazer, monta um ambiente que gera estímulos que o projetista não previu, mede quais comportamentos de fato foram exercitados, e argumenta, a partir da cobertura, que o risco remanescente é aceitável.
Verificação não é checar se o projeto funciona. É construir o argumento de que ele não pode falhar de um jeito que você não procurou.
Isso é uma atividade de projeto com metodologia própria, linguagens próprias e dificuldade intelectual própria. Equipes que tratam isso como trabalho júnior contratam de acordo, e descobrem a consequência no tape-out.
O que a trilha abrange
O escopo: projeto digital, linguagens de descrição de hardware, verificação, projeto físico, análise de temporização e potência, e projeto para teste.
Quatro áreas.
Projeto em nível de transferência de registradores. Descrever comportamento de hardware em uma linguagem de descrição de hardware, em um estilo que sintetiza em portas lógicas.
Verificação. Estímulo aleatório restrito, cobertura funcional, métodos baseados em asserções e técnicas formais.
Projeto físico. Floorplanning, posicionamento, distribuição de clock, roteamento e fechamento de temporização.
Análise e teste. Temporização estática, potência, integridade de sinal e as estruturas que tornam um chip fabricado testável.
Por que um chip não é software
A diferença mais consequente, e a que remodela toda decisão de processo na indústria.
Não existe correção posterior. Um bug funcional descoberto após a fabricação é corrigido mudando o projeto e produzindo um novo conjunto de máscaras, o que é caro em nós de processo maduros e extremamente caro nos mais avançados, e custa meses. Um bug encontrado depois que o produto foi lançado pode ser corrigível apenas contornando-o via software, ou nem isso.
O projeto é paralelo por natureza. Linguagens de descrição de hardware descrevem estruturas que existem todas simultaneamente. Engenheiros de software migrando para hardware tipicamente escrevem código sequencial que simula corretamente e falha ao sintetizar, ou sintetiza em algo enorme. A mudança conceitual é passar de instruções executadas em ordem para lógica que existe ao mesmo tempo.
Temporização é física. Um projeto não é correto de forma abstrata. Ele é correto a uma frequência de clock, a uma tensão, a uma temperatura, ao longo da variação de fabricação, e cada um desses cantos precisa ser demonstrado como fechado.
Tudo custa área, e área custa dinheiro. Área do die mapeia diretamente para rendimento e para custo por chip. Uma funcionalidade que seria de graça em software tem um custo unitário permanente em silício.
Esses quatro fatos explicam por que o processo da indústria parece conservador visto de fora. Não é conservadorismo. É a resposta adequada a uma etapa de fabricação de tiro único.
Projeto físico, para onde o cronograma realmente vai
Entre uma descrição de transferência de registradores verificada e um layout fabricável, há um corpo de trabalho que pessoas de fora costumam presumir automatizado.
As ferramentas fazem uma quantidade enorme desse trabalho. Elas não eliminam a engenharia.
Fechamento de temporização. O projeto precisa cumprir suas restrições de temporização em todo caminho, em todo canto. Caminhos que falham são corrigidos redimensionando, reestruturando a lógica, movendo blocos, ajustando o floorplan, ou mudando a arquitetura. Essa última opção é comum o bastante para que tratar o projeto físico como uma etapa a jusante produza cronogramas que não se sustentam.
Potência e térmico. Tanto potência estática quanto de comutação precisam ser gerenciadas, junto com a queda de tensão na rede de distribuição de potência e os pontos quentes que a atividade densa cria.
Roteabilidade. Um floorplan confortável para o posicionamento pode ser impossível de rotear, e descobrir isso tarde custa semanas.
Distribuição de clock. Entregar o clock por um die grande com desvio (skew) controlado é uma especialização, e consome uma fatia significativa da potência total do chip.
Engenheiros de projeto físico são escassos, a habilidade leva anos para se desenvolver, e é amplamente invisível no jeito como a indústria é descrita aos estudantes.
Onde isso se encaixa no domínio
Projeto de chips e VLSI é a terceira de nove trilhas do domínio de semicondutores, eletrônica e quântica da Astra Trainer. Ela se conecta diretamente a física e dispositivos semicondutores, já que todo modelo de temporização e potência se apoia no comportamento do dispositivo, e a manufatura de semicondutores e encapsulamento avançado, onde o projeto encontra o processo que vai construí-lo.
Ela também se conecta com IA e computação, onde o projeto de aceleradores hoje é uma grande fatia dos novos chips iniciados. Parceiros costumam definir projeto de chips junto com sistemas embarcados, porque as equipes de hardware e software em um programa de system-on-chip precisam de um vocabulário compartilhado. Veja as nove trilhas aqui.
Projeto para teste, que não é opcional
Um chip fabricado precisa ser testado, e as estruturas que tornam isso possível são adicionadas ao projeto deliberadamente.
Cadeias de scan conectam os elementos de armazenamento do projeto em registradores de deslocamento para que o estado interno possa ser carregado e observado. Estruturas de autoteste embutido permitem que memórias e blocos analógicos se testem sozinhos. Boundary scan permite checar conexões entre chips encapsulados em uma placa. Compressão de teste reduz quanto dado precisa ser empurrado por um testador, porque tempo de testador é caro e escala com volume.
Tudo isso ocupa área do die e consome esforço de projeto em funcionalidade que o cliente nunca vai usar. Mesmo assim, é incluído, por um motivo que vale a pena declarar diretamente.
O rendimento de fabricação nunca é cem por cento. Defeitos acontecem. Um chip que não pode ser testado não pode ser triado, o que significa que peças defeituosas chegam a clientes, o que em aplicações automotivas, médicas e industriais é um problema de segurança e responsabilidade civil, não uma estatística de qualidade.
O erro recorrente é decidir as estruturas de teste tarde, quando o floorplan já está fechado e adicioná-las é disruptivo. Inserção de teste é uma decisão de projeto, tomada cedo, junto com a arquitetura.
As funções, nomeadas
Engenheiros de projeto em nível de transferência de registradores. A função que a maioria das pessoas imagina.
Engenheiros de verificação de projeto. O maior grupo na maioria dos projetos, e o mais difícil de preencher.
Engenheiros de projeto físico. Do floorplanning ao fechamento de temporização.
Engenheiros de análise de temporização estática e signoff.
Engenheiros de projeto para teste. Scan, autoteste e compressão.
Engenheiros de projeto analógico e sinal misto. Persistentemente escassos, porque a habilidade resiste à automação.
Engenheiros de verificação formal, provando propriedades em vez de simulá-las.
Arquitetos de computadores. O menor grupo, e o que todo mundo imagina ser o campo inteiro.
Engenheiros de automação de projeto eletrônico, construindo e mantendo os fluxos de ferramentas dos quais o resto da indústria depende.
Quem pode ser capacitado para isso
Engenheiros de software. O maior grupo disponível, e a conversão funciona quando o modelo paralelo é ensinado explicitamente, em vez de pressuposto. Verificação em particular recompensa habilidade de software, já que ambientes de verificação modernos são grandes programas orientados a objetos. É a rota mais rápida para a maior escassez da indústria.
Engenheiros de field programmable gate array. Adjacência próxima. Fluência em linguagem de descrição de hardware e intuição de temporização já existem. O que é novo é a disciplina de não poder reprogramar a peça.
Engenheiros eletrônicos. Para projeto de sinal misto e projeto físico, trazendo intuição de dispositivo e layout.
Engenheiros de teste vindos da manufatura. Para projeto para teste, já que conhecem o que é intestável e por quê.
Engenheiros de software embarcado. Para verificação e integração de system-on-chip, já segurando a fronteira entre hardware e software.
Formados em física e matemática. Para verificação formal, onde o raciocínio está mais perto de prova do que de programação.
Ferramentas, metodologia e fluxos confidenciais. O projeto de chips depende de ferramentas comerciais de automação de projeto eletrônico, kits de projeto de processo e regras de fundição fornecidos sob licença e acordo de confidencialidade, que diferem entre organizações e nós de processo. O treinamento constrói metodologia e conceitos. Ele não fornece licenças de ferramenta, kits de projeto de processo, regras de fundição ou qualquer fluxo de projeto confidencial, e não substitui a qualificação interna que o uso deles exige.
O que levar daqui
Verificação é a maior parte do esforço, a maior parte do risco de cronograma e o maior grupo em aberto, e é trabalho de projeto, não de teste.
Um chip não pode ser corrigido depois, o que explica toda a forma do processo da indústria.
Projeto físico rotineiramente empurra trabalho de volta para a arquitetura, então tratá-lo como uma etapa a jusante produz cronogramas que falham.
Projeto para teste custa área e esforço em funcionalidade que ninguém compra, e sem isso peças defeituosas chegam a clientes.
E engenheiros de software são a maior fonte realista de nova capacidade de verificação, desde que alguém ensine o modelo paralelo em vez de presumir que ele se transfere sozinho.
Por que verificação consome tanto de um projeto de chip?
Porque a etapa de fabricação é de tiro único. Verificação constrói um modelo independente do comportamento pretendido, gera estímulos que o projetista não previu e mede cobertura, para argumentar que modos de falha ainda não descobertos são improváveis.
Engenheiros de software podem migrar para projeto de chips?
Sim, e verificação é o ponto de entrada mais natural, porque ambientes de verificação modernos são grandes programas orientados a objetos. A lacuna ensinável é a mudança de execução sequencial para estruturas que existem todas ao mesmo tempo.
Por que projeto físico não é só automação?
Ferramentas fazem a maior parte do trabalho mecânico, mas fechamento de temporização, entrega de potência, roteabilidade e distribuição de clock regularmente exigem reestruturar a lógica ou mudar a arquitetura, o que significa que o projeto físico realimenta o projeto em vez de apenas segui-lo.
Por que incluir estruturas de teste que os clientes nunca usam?
Porque o rendimento de fabricação nunca é perfeito, e um chip intestável não pode ser triado para defeitos. Em aplicações automotivas, médicas e industriais, enviar peças sem triagem é uma questão de segurança e responsabilidade civil.
Quais funções adjacentes convertem bem para trabalho em VLSI?
Engenheiros de software para verificação, engenheiros de field programmable gate array para projeto, engenheiros eletrônicos para sinal misto e projeto físico, engenheiros de teste de manufatura para projeto para teste.
