Daniel Vidal
RA 099049
[email protected]
Enos A. V. F. de Lima
RA 032455
[email protected]
VERIFICAÇÃO FORMAL DE
BLOCOS COMPLEXOS
Conteúdo
2




Introdução
Métodos
Dificuldades e problemas
Considerações e conclusões
Verificação formal de sistemas complexos
Introdução - Funcionalidade
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
Verificação formal de sistemas complexos
Introdução - Funcionalidade
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
Verificação formal de sistemas complexos
Introdução – Verificação formal
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 formal de sistemas complexos
Verificação de equivalência
6
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.
Verificação formal de sistemas complexos
Verificação de equivalência
7

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
Verificação formal de sistemas complexos
Verificação de equivalência
8
RTL
Equivalence
checking
d
Céllulas
lógicas
D
SET
Q
q
clk
CLR
Q
Equivalence
checking
Transistores
Verificação formal de sistemas complexos
Verificação de Modelo
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 formal de sistemas complexos
Verificação de Modelo
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 formal de sistemas complexos
Verificação de Modelo
11
Verificação formal de sistemas complexos
Dificuldades e problemas
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
Verificação formal de sistemas complexos
Dificuldades e problemas
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.
Verificação formal de sistemas complexos
Mitigação dos problemas
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
Verificação formal de sistemas complexos
Mitigação dos problemas
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

Verificação formal de sistemas complexos
Considerações e conclusões
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
Verificação formal de sistemas complexos
Considerações e conclusões
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
Verificação formal de sistemas complexos
Considerações e conclusões
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
Verificação formal de sistemas complexos
Considerações e conclusões
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!
Verificação formal de sistemas complexos
Download

Verificação formal em sistemas complexos