Instrumentação de validação pós-silício. Inovação na Verificação

Nó Fonte: 994044

Instrumentar a validação pós-silício não é uma ideia nova, mas aqui está uma reviravolta. Usando emulação (pré-silício) para escolher estruturas de observação de depuração para instrumentar no silício. Paul Cunningham (GM, Verification at Cadence), Raúl Camposano (Silicon Catalyst, empresário, ex-CTO da Synopsys) e eu continuamos nossa série sobre ideias de pesquisa. Como sempre, feedback é bem-vindo.

Instrumentação de validação pós-silício

A Inovação

A escolha deste mês é Infraestrutura de emulação para avaliação de asserções de hardware para validação pós-silício. O artigo foi apresentado no IEEE Transactions on VLSI de 2017. Os autores são da McMaster University, Hamilton, ON, Canadá

Os autores distinguem entre erros lógicos e elétricos pós-silício e dedicam sua atenção neste artigo aos erros elétricos, detectáveis ​​através de inversões de bits em flops. Sua abordagem é determinar um conjunto ideal de afirmações na análise pré-silício. Eles então os implementam em silício para dar suporte à depuração pós-silício. A análise do pré-silício é semelhante à falha nas análises de segurança, injetando falhas nos flops correspondentes a erros elétricos, como sugerem no artigo. Eles geram uma lista de asserções candidatas usando síntese de asserções; o núcleo de sua inovação é fornecer um método para classificar essas afirmações de acordo com a eficácia de cada uma na detecção de múltiplas falhas.

A geração de entradas é aleatória, analisando as falhas injetadas (tratadas como transitórias) em sequência. Eles permitem um número de ciclos especificado pelo usuário para detecção por falha. Numa fase subsequente, medem a eficácia utilizando duas técnicas de cobertura diferentes. Para cobertura de flip-flop, eles contam uma asserção se detectar um erro injetado em qualquer flop. Na cobertura bit-flip, eles pontuam o número de asserções de erros detectados em flops separados. Essas métricas, juntamente com estimativas de área, são usadas (alternadamente) para selecionar quais afirmações preferidas.

Visão de Paul

Este papel combina perfeitamente com o nosso Blog de agosto de 2020 sobre detecção rápida de erros (QED). QED acelera a detecção de bugs funcionais pós-silício, onde este blog se concentra na detecção de bugs elétricos pós-silício. O artigo é de fácil leitura, embora ajude a ler primeiro a referência [23].

Bugs elétricos são difíceis de detectar e, mesmo assim, são difíceis de replicar e encontrar a causa física subjacente. Os autores propõem um método, através de lógica embarcada, para detectar quando tais bugs fazem com que um flop mude para um valor incorreto (eles não vão mais fundo do que encontrar essas mudanças).

O cerne do artigo e sua referência complementar [23] é um método de várias etapas para criar e sintetizar essa lógica de detecção. Começa com a mineração de propriedades do projeto como afirmações temporais usando o Ferramenta Mina de Ouro. Eles classificam as asserções com base em uma estimativa de sua capacidade de detectar inversões de bits e em uma estimativa do custo de área/fiação para implementação em silício. A classificação depende da execução de muitas simulações de pré-silício com asserções candidatas, injetando erros de inversão de bits e contando inversões detectadas por asserções. No artigo original eles usaram simulação lógica, aqui eles aceleram essas simulações mapeando o projeto para uma placa Altera FPGA.

Gosto de como eles reúnem diversas inovações em um método coerente para detecção de inversão de bits pós-silício: mineração de asserções, síntese de asserções e uma função de classificação elegante para seleção de asserções. No entanto, a seção de resultados do artigo indica que a detecção de inversões de bits em n% dos flip-flops requer aproximadamente um aumento de n% na área de design. Isto parece um desafio para aplicação comercial, especialmente porque só ajuda a encontrar bugs elétricos. Seria possível alcançar um resultado semelhante clonando o cone lógico que aciona um flip-flop e, em seguida, comparar a saída dessa lógica clonada com a lógica original. Isso parece gerar uma sobrecarga de área semelhante ao método deles, no limite da clonagem de todo o projeto (ou seja, 100% de sobrecarga de área) para detectar inversões em 100% dos flops no projeto.

Visão de Raúl

O artigo é independente, com uma quantidade razoável de detalhes. Os autores realizaram experimentos para 3 circuitos sequenciais ISCAS (aproximadamente 12K portas, 2000 FF). Os experimentos de preparação injetam 256 erros por flip-flop e usando todas as asserções geradas pelo GoldMine. Devido à capacidade limitada do FPGA, os autores dividiram as execuções em 45 “sessões” para um circuito. Os resultados mostram, mesmo com 45 sessões, uma aceleração na análise em relação à simulação de 20 a 500 vezes (apenas até 8 injeções de erro porque a simulação fica muito lenta, 105h). A cobertura máxima alcançável do Flip-Flop é de 55%, 89% e 99% para os 3 circuitos. O número de asserções extraídas controla a cobertura.

A execução com asserções selecionadas (correspondendo a uma sobrecarga de área de 5 a 50%) e 1 a 256 injeções resulta em uma cobertura de bits de 2.2% a 34%. Na maioria das vezes, o minerador de asserção funcionou por 228h. Uma coisa que me confundiu são os dados de tempos de execução versus erros injetados. O aumento parece razoável (linear) na simulação. Mas na emulação salta enormemente, de 0.045h para 5.4h para um aumento de 2 a 8 injeções de erros. Gostaria de mais explicações sobre este ponto.

Este é um artigo metodológico. Gosto que praticamente todas as etapas possam ser substituídas por uma ferramenta comercial. Juntamente com o uso de uma grande placa FPGA (como emulador), a metodologia é dimensionada. É claro que as metodologias são muito difíceis de comercializar, mas são uma boa aplicação para a tecnologia existente!

Minha visão

O método de explorar uma técnica de análise de segurança para depuração pós-silício é intrigante. Uma ideia nova, embora conduza a um resultado pouco prático para aplicação comercial.

Compartilhe esta postagem via: Fonte: https://semiwiki.com/artificial-intelligence/301350-instrumenting-post-silicon-validation/

Carimbo de hora:

Mais de Semiwiki