Uma metodologia para identificação de módulos de circuitos integrados propensos a erros

AUTOR(ES)
DATA DE PUBLICAÇÃO

2011

RESUMO

O processo de verificação de circuitos integrados industriais se torna mais desafiador a cada dia. As metodologias de verificação atuais não são capazes de garantir que todos os erros de um circuito integrado sejam identificados e corrigidos antes da fabricação. Como não é possível checar todos os estados de circuitos integrados complexos, a equipe de verificação deve definir níveis de cobertura para cada módulo do circuito integrado. Se a cobertura de módulos mais propensos a erros é priorizada, consegue-se identificar um maior número de erros mais rapidamente. A principal contribuição deste trabalho é propor uma metodologia para construir modelos que indiquem quais módulos de um circuito integrado são propensos a conter erros não identificados. O modelo é construído utilizando métricas de complexidade e de histórico de desenvolvimento, extraídas de sistemas de controle de versão e de sistemas de rastreamento de erros. A metodologia proposta permite definir, para um projeto específico, quais métricas têm correlação com o número de erros. Assim, a alocação de recursos de verificação é realizada mais eficientemente e pode-se definir módulos que devem ser submetidos a um processo de verificação mais rigoroso. A metodologia proposta foi validada a partir de um ambiente experimental composto por métricas, dados e ferramentas. As métricas estudadas são extraídas por ferramentas comerciais e de código aberto. Os dados utilizados são repositórios de projetos de processadores descritos em linguagem de descrição de hardware. Foram desenvolvidas duas ferramentas para automatizar a extração de métricas de complexidade e de histórico de desenvolvimento. A primeira, o BugReporter, é uma ferramenta que auxilia os usuários a relatar erros identificados no projeto, utilizando palavras reservadas definidas pela Bug Language. A segunda, EyesOn, automatiza o processo de extração, armazenamento e visualização das métricas de complexidade e de histórico de desenvolvimento. São apresentados resultados de utilização da metodologia proposta em dois processadores: MIPS e OpenSPARC. Para cada um dos processadores são construídos modelos lineares, de Poisson, binomiais negativos e de regressão logística. Para o processador MIPS, o modelo que apresenta o melhor desempenho é o linear. Já no OpenSPARC, o melhor desempenho é alcançado pelo modelo binomial negativo. Em ambos os casos os modelos que apresentam o melhor desempenho utilizam cinco métricas. Finalmente, os resultados de utilização de métricas de desenvolvimento no processador MIPS são discutidos. É proposto um algoritmo que utiliza o número de alterações para construir, dinamicamente, uma lista de módulos propensos a erros. Ao longo do desenvolvimento dos módulos, a lista contém, em 80% das vezes, os módulos relatados com erros. Assim, os resultados alcançados pela metodologia proposta abrem caminho para que novos estudos sejam realizados com outros conjuntos de dados e métricas.

ASSUNTO(S)

computação teses. circuitos integrados teses. circuitos integrados integração em escala muito ampla teses.

Documentos Relacionados