verificaÇÃo formal de blocos complexos daniel vidal ra 099049 [email protected] enos a. v. f. de...
TRANSCRIPT
VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS
Daniel VidalRA [email protected]
Enos A. V. F. de LimaRA [email protected]
Conteúdo
Introdução Métodos Dificuldades e problemas Considerações e conclusões
2
Verificação formal de sistemas complexos
Introdução - Funcionalidade
Verificação formal de sistemas complexos
3
Verificaçao de funcionalidade: implementação X especificação
Cada vez mais funcionalidades são integradas nos circuitos integrados
Verificação mais complexa que a funcionalidade em si
Introdução - Funcionalidade
Verificação formal de sistemas complexos
4
Tradicionalmente verificado por simulação onde deve-se observar: Controlabilidade – estimular o circuito Obersvabilidade – observar o circuito Exaustividade – verificar todos os cenários
Simulações de sistemas complexos são bem comportadas em níveis altos de abstração.
Para níveis baixos de abstração as simulações são complexas e demoradas
Introdução – Verificação formal
Verificação formal de sistemas complexos
5
Processo sistemático baseado em provas matemáticas para verificar a correspondência entre espeficação e implementação.
Processo estático – diferente da tradicional simulação Não depende da qualidade/quantidade de vetores
de entrada
Comparativamente mais rápido que simulação.
Verificação de equivalência
Modelo referência X Modelo verificado
Circuitos integrados sofrem diversas modificações de nível de abstração até o circuito em silício
O sistema também sofre modificações estruturais (circuito para testes, árvore de clock, etc.)
Simular o circuito em todos os níveis de abstração e após cada modificação demanda muito tempo e recursos computacionais.
6
Verificação formal de sistemas complexos
Verificação de equivalência
Utilizando a verificação de equivalência:
O modelo de mais alto nível é verificado quanto a funcionalidade e dado como correto.
O sistema em implementação é comparado com o modelo correto a cada transformação estrutural ou de nível de abstração
Mais rápido e usa menos recursos que a simulação
Há várias ferramentas comerciais e é muito usado pelos projetistas
7
Verificação formal de sistemas complexos
Verificação de equivalência8
Verificação formal de sistemas complexos
clk
d q
Q
QSET
CLR
D
Equivalencechecking
Equivalencechecking
RTL
Céllulas lógicas
Transistores
Verificação de Modelo
Verificação formal de sistemas complexos
9
Modelo do sistema X Especificação
A especificação é descrita por meio de propriedades bem precisas
O modelo é expandido para todos os possíveis estados
Todos os estados do modelo devem satisfazer as propriedades especificadas
Verificação de Modelo
Verificação formal de sistemas complexos
10
Se todos o modelo satisfaz as propriedades para todos os estados ele é correto
Se não, pode-se corrigir o modelo com a ajuda de um contra-exemplo onde uma dada propriedade falha
Relativamente novo para os projetistas
Verificação de Modelo
Verificação formal de sistemas complexos
11
Dificuldades e problemas
Verificação formal de sistemas complexos
12
Tamanho da lógica Complexidade cresce exponencialmente
com o espaço de estados e numero de entradas.
Complexidade Inerente da lógica Mesmo com um número pequeno de
estados a lógica envolvida pode ser muito complexa.
Complexidade de interface e protocolos
Dificuldades e problemas
Verificação formal de sistemas complexos
13
Lógica difusa Não ligada às funcionalidades primárias Presente em todo o projeto
Recursos A complexidade tem impacto direto nos
recursos computacionais necessários.
Mitigação dos problemas
Verificação formal de sistemas complexos
14
Drivers VF Limitar o espaço entradas eliminando as
entradas irreais. Aplicação serial de propriedades
Dividir o conjunto de propriedades em máis de uma análise
Divisão do espaço de entradas Dividir o espaço de entradas em sub-
espaços e aplicar a verificação a cada um dos sub-espaços
Mitigação dos problemas
Verificação formal de sistemas complexos
15
Redução de lógica não influente Para um conjunto de propriedades a lógica que
não as influecia pode ser eliminada da verificação reduzindo o numero de estados.
Localização Substituição de lógica interna por aleatoriedade Extrapolação de condições. Eficiência algoritmica
Combinação de algoritmos Aproveitar as vantagens de cada um dos
algoritmos Otimizar cobertura x recursos necessários
Considerações e conclusões
Verificação formal de sistemas complexos
16
Verificação formal não garante que o circuito é 100% correto
Verificação formal não substitui totalmente a simulação
Pode ser usado em projetos grandes e complexos
Considerações e conclusões
Verificação formal de sistemas complexos
17
A verificação formal pode ser usada por qualquer projetista
A verificação formal diminui o tempo do projeto
Verificação formal de modelos não é uma tarefa trivial
Considerações e conclusões
Verificação formal de sistemas complexos
18
A verificação formal pode ser usada por qualquer projetista
A verificação formal diminui o tempo do projeto
Verificação formal de modelos não é uma tarefa trivial
Considerações e conclusões
Verificação formal de sistemas complexos
19
A verificação formal pode complementar a verificação tradicional Aproveitar as vantagens Contornar limitações
Pode aumentar e otimizar o alcance da verificação!