← Últimos artigos
💻 computer science

AI-Generated RTL Code: A Functional Evaluation of Natural-Language and HLS Prompting

Este estudo avalia a capacidade de LLMs comerciais de gerar Verilog RTL funcional a partir de especificações de alto nível, constatando que o uso de prompts HLS-C melhora significativamente a correção em relação à linguagem natural, ao mesmo tempo em que revela desafios persistentes com erros de simulação e generalização limitada entre larguras de bits variáveis.

Autores originais: Giordano Santorum Lorenzetto, Vanderlei Bonato, Oliver Sinnen

Publicado 2026-08-05
📖 6 min de leitura🧠 Leitura aprofundada

Autores originais: Giordano Santorum Lorenzetto, Vanderlei Bonato, Oliver Sinnen

Artigo original sob licença CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você está tentando construir uma fábrica minúscula e superveloz dentro de um microchip. Esta não é uma fábrica que produz brinquedos ou carros; é uma fábrica digital que processa informações à velocidade da luz. Para construí-la, engenheiros escrevem um tipo especial de manual de instruções chamado código RTL (Register-Transfer Level). Pense neste código como a planta para as esteiras transportadoras, braços de montagem e semáforos da fábrica. Se a planta tiver mesmo um erro minúsculo, toda a fábrica pode travar, pegar fogo ou simplesmente parar de funcionar inteiramente.

Por muito tempo, escrever essas plantas foi como falar uma linguagem secreta e rígida que apenas alguns poucos especialistas entendem. Mas agora, temos a Inteligência Artificial (IA), que é incrivelmente boa em escrever código para software — como os aplicativos no seu telefone ou os sites que você visita. As pessoas começaram a se perguntar: "Se a IA consegue escrever código de software tão bem, ela também pode escrever essas complicadas plantas de hardware?" Esta é a grande questão que os pesquisadores abordaram. Eles queriam ver se uma IA inteligente poderia olhar para uma descrição simples de uma tarefa de hardware e transformá-la em uma planta de fábrica funcional, ou se ela apenas ficaria confusa com as regras rigorosas do hardware.

O Experimento: Conversar vs. Programar

Os pesquisadores organizaram um teste massivo para ver o quão bem diferentes modelos de IA conseguiriam realizar esse trabalho. Eles deram à IA duas maneiras muito diferentes de pedir uma planta:

  1. A Abordagem "Conversadora" (Linguagem Natural): Eles simplesmente disseram à IA, em inglês claro, o que o hardware deveria fazer. Por exemplo, "Faça uma máquina que multiplique dois números". É como pedir a um amigo: "Ei, faça um sanduíche para mim", sem dar uma receita.
  2. A Abordagem "Programador" (Prompting HLS-C): Em vez de inglês comum, eles deram à IA um pedaço de código C (uma linguagem de programação comum) que descrevia a lógica. Isso é como entregar à IA uma receita detalhada escrita em uma linguagem que ela conhece muito bem, e pedir que ela traduza essa receita para a "linguagem de fábrica" específica (Verilog).

Eles testaram isso em sete modelos de IA diferentes (incluindo grandes nomes como GPT-4 e Gemini) e pediram que construíssem oito tipos diferentes de circuitos digitais, variando de controladores de semáforo simples a calculadoras matemáticas complexas. Eles realizaram cada teste 30 vezes para ver se a IA conseguiria acertar por acaso ou se ela realmente entendia a tarefa.

Os Resultados: A Receita Vence

As descobertas foram bastante claras e podem te surpreender. Quando a IA era apenas "conversada" com em inglês comum, ela tinha dificuldades. Em média, apenas cerca de 26,9% das plantas que ela gerava realmente funcionavam. Na maioria das vezes, a IA cometia erros que eram como tentar construir uma casa com os tijolos errados — o código nem sequer compilava (iniciava) ou rodava, mas produzia resultados errados.

No entanto, quando os pesquisadores mudaram para a receita de código C (prompting HLS-C), o desempenho da IA deu um salto. A taxa de sucesso subiu para 39,5%. Isso é um grande avanço! Isso sugere que, embora a IA seja inteligente, ela pensa mais como um programador do que como um engenheiro de hardware. Quando você fornece uma receita de código estruturada, ela sabe exatamente como traduzir esses passos para a linguagem de hardware. É como se a IA estivesse dizendo: "Ah, você me deu uma receita em francês? Eu posso traduzir isso para o espanhol perfeitamente. Mas se você apenas disser 'faça um sanduíche' em inglês, eu posso errar os ingredientes".

O Teste do "Número Estranho": Ela Memoriza ou Entende?

Para verificar se a IA estava apenas copiando respostas que já tinha visto antes (memorização) ou se ela realmente entendia como construir essas máquinas, os pesquisadores pregaram uma peça. Eles pediram que a IA construísse um multiplicador (uma máquina matemática) usando quantidades estranhas e incomuns de bits, como 7 bits ou 31 bits. Estes são números que você quase nunca vê na vida real, então a IA não poderia ter apenas memorizado a resposta de seus dados de treinamento.

Os resultados aqui foram fascinantes. Alguns dos modelos de IA mais inteligentes (como o4-mini e Gemini 2.5 Pro) lidaram com esses números estranhos quase perfeitamente, acertando mais de 90% das vezes. Isso sugere que esses modelos não estão apenas copiando e colando; eles realmente entendem a lógica de como construir a máquina, não importa o tamanho. Eles conseguem generalizar, o que significa que podem aplicar as regras a novas situações que nunca viram antes.

A Armadilha: Ainda Não é Perfeito

Apesar das melhorias, o artigo deixa muito claro que ainda não chegamos lá. Mesmo com a abordagem da "receita", a IA ainda falha mais vezes do que acerta. O maior problema não é que a IA erre a sintaxe (como erros de ortografia); é que ela erra o tempo (timing).

Imagine que a IA constrói uma fábrica onde a esteira transportadora se move um segundo rápido demais. A planta parece perfeita e a máquina liga, mas os produtos caem da linha antes de serem embalados. No estudo, esses "erros de simulação" foram as falhas mais comuns. A IA frequentemente cria códigos que parecem certos, mas se comportam de forma ligeiramente errada quando o relógio começa a contar. Corrigir esses erros é difícil porque exige uma compreensão profunda de como o hardware se comporta ao longo do tempo, algo com o qual a IA ainda tem dificuldade.

Os pesquisadores também descobriram que, quando a IA acertava, o hardware resultante era frequentemente tão rápido quanto, ou até mais rápido, do que as plantas escritas por especialistas humanos. Esta é uma grande vitória, sugerindo que, se conseguirmos fazer com que a IA pare de cometer esses pequenos erros de tempo, ela poderá ser uma assistente poderosíssima para engenheiros.

A Conclusão

Então, qual é a lição? A IA está ficando muito boa em nos ajudar a projetar chips de computador, mas ainda não está pronta para assumir o trabalho completamente. É como um estagiário brilhante que pode elaborar um ótimo design se você lhe der um plano claro e estruturado (como uma receita de código C), mas que ainda precisa de um supervisor humano para verificar os detalhes finais e garantir que a fábrica não sofra um colapso.

O estudo sugere que usar prompts baseados em código é uma maneira muito melhor de falar com esses modelos de IA do que apenas conversar em inglês comum. Embora a IA ainda cometa erros que exigem depuração humana, ela já está se provando uma ferramenta poderosa para acelerar o processo de design e ajudar pessoas que são novas na engenharia de hardware a começar. Não estamos no ponto em que a IA possa construir um chip do zero sem ajuda, mas estamos definitivamente indo na direção certa.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →