No complexo mundo do design de silício, garantir a precisão e a confiabilidade de nossos projetos é fundamental. À medida que nossos chips se tornam mais sofisticados, o processo de busca de bugs – identificação e retificação de erros em nossos projetos – torna-se ainda mais crítico. A IA generativa tem o potencial de revolucionar a indústria de design de silício, aprimorando nossas capacidades de caça a bugs. Como? Vamos experimentar!
Experiência 4: Caça aos Insetos
Para demonstrar a eficácia da IA generativa no design de silício, conduzi um experimento com o GPT-4 da OpenAI. Fornecemos ao sistema uma especificação de projeto (fornecida por https://mathcircle.berkeley.edu/sites/default/files/archivedocs/2010_2011/contest/1011contestpdf/comp8.pdf) juntamente com uma implementação do design. O objetivo? Para ver se o GenAI conseguiu identificar algum bug.
Especificação de Projeto: Em um tabuleiro de xadrez 5 × 5, um rei se move de acordo com as seguintes regras: 1. Ele pode mover um quadrado de cada vez, horizontalmente, verticalmente ou diagonalmente. 2. Ele pode se mover em cada uma das oito direções permitidas no máximo três vezes em todo o seu percurso.
A seguir está a saída do modelo GenAI:
1. Bug: Substituindo cur_x_pos por cur_y_pos caso contrário, comece cur_x_pos <= nxt_y_pos; cur_y_pos <= nxt_y_pos; fim Esta seção fará com que a posição x atual do rei (cur_x_pos) sempre assuma o valor de nxt_y_pos, o que é incorreto. Contra-exemplo: Cenário de entrada: Suponha que o rei esteja na posição (2,2) e o move_request seja fornecido com direção = 3'b010 (Para cima). Transição de Design: Esperado: cur_x_pos permanece 2 e cur_y_pos torna-se 3. Real: Cur_x_pos e cur_y_pos tornam-se 3. Resultado: Resultado Esperado: King move-se para (2,3). Resultado real: King move-se para (3,3).
2. Bug: inicialização de cur_moves_count[] para zero se (redefinir) cur_moves_count[dir] <= 3'd0; As contagens de movimentos de todas as direções são inicializadas em zero após a reinicialização. No entanto, a condição para verificar o máximo de movimentos usa <3'd3, o que significa que o rei pode se mover 4 vezes em cada direção antes que um erro seja levantado. Contra-exemplo: Cenário de entrada: Suponha que o rei esteja na posição (0,0) e quatro move_requests consecutivos sejam fornecidos com direção = 3'b000 (direita). Transição de Design: Esperado: Após 3 movimentos para a direita, o 4º movimento deve desencadear um erro. Real: King se move quatro vezes para a direita sem provocar um erro. Resultado: Resultado Esperado: Rei move-se para (3,0) e então o erro é acionado. Resultado real: King move-se para (4,0) sem erro.
3. Bug: Falta de Verificação de Limites Embora o código contenha verificações de limites para o movimento do rei no tabuleiro de xadrez, ele não leva em conta a possibilidade de que adicionar ou subtrair valores de 3 bits possa resultar em erros de roll-over. Por exemplo, se cur_x_pos for 3'd7 (o que não deveria acontecer com base no design atual, mas pode ser devido a influências externas ou outros problemas de design), subtrair 1 pode resultar em 0 em vez de um 6 esperado devido ao roll-over de bits . Contra-exemplo: Este pode ser um erro teórico, pois o design atual não permite que tal cenário aconteça. No entanto, é essencial considerar isso para um design robusto. Recomendação: As verificações de limite podem ser melhoradas e verificações adicionais de sanidade podem ser adicionadas para garantir que a posição do rei nunca saia do intervalo válido.
Observações intrigantes
- Identificação de erros: O modelo GenAI identificou uma discrepância específica entre a especificação do design e sua implementação com um contraexemplo adequado, incluindo o cenário, as transições e a análise dos resultados reais versus esperados. Este era realmente um bug genuíno que precisava ser corrigido.
- Falso negativo: Como qualquer ferramenta, a IA Generativa não é infalível. Ele destacou um problema que, após uma inspeção mais detalhada, revelou não ser um bug. Isto serve como um lembrete de que, embora a IA possa ser um assistente valioso, a experiência e o julgamento humanos continuam a ser cruciais no processo de validação.
- Problema de aprimoramento: Além de apenas caçar bugs, o modelo GenAI também propôs um aprimoramento – uma sugestão para melhorar o design que não era necessariamente corrigir um bug, mas sim otimizar ainda mais o design. Este benefício inesperado demonstra como a IA pode não só ajudar a encontrar erros, mas também a sugerir inovações.
O cenário de amanhã – Editores/analisadores de código HDL com tecnologia GenAI!
As implicações desta experiência são profundas. Ao integrar ferramentas de IA generativa em nosso fluxo de desenvolvimento de código HDL, podemos:
- Acelere o processo de caça aos bugs: Automatizar os estágios iniciais de detecção de bugs pode reduzir as horas de trabalho gastas na depuração de longas formas de onda de simulação.
- Reduza o custo de verificação: Com menos bugs restantes para as ferramentas/engenheiros de verificação encontrarem, o encerramento da verificação pode ser alcançado mais cedo, levando à economia de custos no longo prazo.
Conclusão
À medida que a indústria de semicondutores continua a evoluir, o aproveitamento de ferramentas como a IA generativa pode nos dar uma vantagem, garantindo que nossos projetos não apenas estejam livres de erros, mas também expandam os limites do que é possível. É apenas uma questão de tempo até que copilotos e plug-ins ganhem ampla adoção em todo o setor.
Leia também:
IA generativa para design de silício – Artigo 3 (Simular meu design)
IA generativa para design de silício – Artigo 2 (Depurar minha forma de onda)
IA generativa para design de silício – Artigo 1 (Code My FSM)
Compartilhe esta postagem via:
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- PlatoData.Network Gerativa Vertical Ai. Capacite-se. Acesse aqui.
- PlatoAiStream. Inteligência Web3. Conhecimento Amplificado. Acesse aqui.
- PlatãoESG. Carbono Tecnologia Limpa, Energia, Ambiente, Solar, Gestão de resíduos. Acesse aqui.
- PlatoHealth. Inteligência em Biotecnologia e Ensaios Clínicos. Acesse aqui.
- Fonte: https://semiwiki.com/eda/338432-generative-ai-for-silicon-design-article-4-hunt-for-bugs/
- :tem
- :é
- :não
- $UP
- 1
- sec 4
- 7
- 8
- a
- Segundo
- Conta
- precisão
- alcançado
- em
- real
- adicionado
- acrescentando
- Adicional
- Adoção
- Depois de
- AI
- Todos os Produtos
- permitir
- ao lado de
- tb
- Apesar
- sempre
- an
- análise
- e
- qualquer
- SOMOS
- Ordem
- artigo
- AS
- Assistente
- assumir
- At
- automatizando
- baseado
- BE
- tornam-se
- torna-se
- antes
- começar
- beneficiar
- Berkeley
- entre
- Pós
- Pouco
- ambos
- limites
- Bug
- caça aos insetos
- erros
- mas a
- by
- CAN
- capacidades
- casas
- Causar
- verificar
- Cheques
- xadrez
- Chips
- mais próximo
- encerramento
- código
- comparação
- integrações
- condição
- conduzido
- consecutivo
- Considerar
- contém
- continua
- Custo
- economia de custos
- poderia
- crio
- crítico
- crucial
- Atual
- definir
- demonstrar
- demonstra
- Design
- projetos
- detalhado
- Detecção
- Desenvolvimento
- DID
- direção
- instruções
- discrepância
- parece
- down
- dois
- cada
- borda
- eficácia
- outro
- final
- aprimorando
- garantir
- assegurando
- Todo
- erro
- erros
- essencial
- Éter (ETH)
- Mesmo
- evolui
- excede
- esperado
- experimentar
- experiência
- externo
- menos
- Encontre
- descoberta
- fluxo
- seguinte
- Escolha
- quatro
- da
- funcional
- mais distante
- Ganho
- generativo
- IA generativa
- genuíno
- OFERTE
- meta
- vai
- acontecer
- ajudar
- Destaques
- segurar
- Como funciona o dobrador de carta de canal
- Contudo
- HTTPS
- humano
- caça
- Caça
- i
- identificação
- identificar
- if
- implementação
- implicações
- melhorado
- melhorar
- in
- Incluindo
- indicam
- indústria
- do estado inicial,
- e inovações
- entrada
- instância
- Integração
- para dentro
- emitem
- questões
- IT
- ESTÁ
- apenas por
- Rei
- Falta
- paisagem
- principal
- esquerda
- deixar
- aproveitando
- como
- LIMITE
- longo
- Importância
- max-width
- máximo
- significado
- poder
- erros
- modelo
- módulo
- mais
- a maioria
- mover
- movimento
- movimentos
- my
- necessariamente
- necessário
- negativo
- nunca
- of
- on
- ONE
- só
- otimizando
- or
- Outros
- A Nossa
- Fora
- Resultado
- saída
- lado de fora
- Supremo
- para
- platão
- Inteligência de Dados Platão
- PlatãoData
- posição
- possibilidade
- possível
- Publique
- potencial
- alimentado
- presente
- processo
- profundo
- adequado
- proposto
- fornecido
- Empurrando
- angariado
- alcance
- em vez
- Leia
- Recomendação
- reduzir
- Reg
- confiabilidade
- permanecem
- permanece
- lembrete
- solicitar
- resultar
- revolucionar
- certo
- uma conta de despesas robusta
- Rota
- regras
- Execute
- s
- Poupança
- cenário
- Seção
- Vejo
- Semicondutor
- serve
- rede de apoio social
- Silício
- simulação
- sofisticado
- de origem
- específico
- especificação
- gasto
- quadrado
- Estágio
- tal
- .
- T
- Tire
- do que
- que
- A
- então
- teórico
- isto
- três
- tempo
- vezes
- para
- ferramenta
- ferramentas
- transição
- transições
- desencadear
- desencadeado
- desencadeando
- Virado
- Inesperado
- sobre
- vertical
- us
- usos
- válido
- validação
- Valioso
- valor
- Valores
- Verificação
- Contra
- verticalmente
- via
- vs
- foi
- we
- quando
- qual
- enquanto
- Largo
- precisarão
- de
- sem
- mundo
- X
- zefirnet
- zero