verificaÇÃo formal de blocos complexos daniel vidal ra 099049 [email protected] enos a. v. f. de...

19
VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 [email protected] om Enos A. V. F. de Lima RA 032455 vacilotolima@gmail .com

Upload: internet

Post on 16-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS

Daniel VidalRA [email protected]

Enos A. V. F. de LimaRA [email protected]

Page 2: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

Conteúdo

Introdução Métodos Dificuldades e problemas Considerações e conclusões

2

Verificação formal de sistemas complexos

Page 3: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 4: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 5: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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.

Page 6: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 7: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 8: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 9: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 10: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 11: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

Verificação de Modelo

Verificação formal de sistemas complexos

11

Page 12: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 13: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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.

Page 14: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 15: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 16: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 17: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 18: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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

Page 19: VERIFICAÇÃO FORMAL DE BLOCOS COMPLEXOS Daniel Vidal RA 099049 dnlvidal@gmail.com Enos A. V. F. de Lima RA 032455 vacilotolima@gmail.com

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!