A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Renato Abreu Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

Apresentações semelhantes


Apresentação em tema: "Renato Abreu Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades."— Transcrição da apresentação:

1 Renato Abreu Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades Temporais em Filtros Digitais de Ponto-Fixo usando Teorias do Módulo da Satisfatibilidade 1

2 Verificação de Sistemas Aplicado a hardware e software que em que a falha é inaceitável Métodos utilizados: –Simulações e testes –Métodos formais 2 - inserir entradas e observar saídas - não cobre todas as possíveis combinações - descreve o sistema usando lógica matemática - garante corretude para todas as possíveis entradas e saídas Typecast overflow!

3 Filtros Digitais Encontrados em: –carros –aeronaves –sistemas de comunicação –produtos eletrônicos –equipamentos médicos, etc Utilizados para: –remoção de ruídos –equalização de canal de comunicação –análise espectral de sinais, etc Frequentemente implementados em: –DSPs –FPGAs –Processadores de ponto fixo 3

4 Implementação em Ponto Fixo 4 VantagensDesvantagens Menor custo de hardware Melhor desempenho (velocidade e consumo de energia) Efeitos de quantização Menor intervalo dinâmico overflow Ciclo limite Com quantização (10 bits) Referência Overflow Referência Wrap-around Filtro estável: anulando a entrada a saída deve ir pra zero Porém, em ponto fixo...

5 Aspectos da Implementação de Filtros Projeto de filtros feito em ponto flutuante, mas a implementação é feita em ponto fixo Simulações e testes extensivos são insuficientes para detectar todos os possíveis problemas (Cox et al., 2012) Determinar o comprimento da palavra (bits para parte inteira e parte fracionária) considerando: –Precisão –Desempenho –Custo 5

6 Objetivos Detectar problemas em filtros digitais em ponto fixo utilizando um verificador BMC baseado em SMT –Verificação de overflow, ciclo limite, restrições temporais e nível de ruídos através de um BMC de prateleira –Verificação de filtros de diversos tipos e com diferentes formatos de ponto fixo –Aprimorar implementação para diminuir tempo de verificação –Verificação de benchmarks e comparação dos resultados 6

7 Implementação de Filtros 7 Forma Direta I float iirFilterI() { float yn = 0; for (int k = 0; k < M; k++) { yn += *b++ * *x--; } for (int k = 1; k < N; k++) { yn -= *a++ * *y--; } return yn; }

8 2 -l-1 2 -l Q(x) 2 k l -2 k-1 Complemento de dois, k bits inteiros, l bits de precisão Modelo Realista com Quantização 8 Quantização da entrada Quantização dos coeficientes Quantização nas operações intermediárias Máximo Mínimo Arredondamento: -2 -l-1 e(x) 2 -l-1 DSPs modernos possuem acumuladores para armazenar os resultados com maior precisão

9 Lógica Proposicional A sintaxe das fórmulas em lógica proposicional por: Um solucionador SAT é um algoritmo que toma como entrada uma fórmula ϕ na forma normal conjuntiva e decide se ela é satisfatível ou insatisfatível –Ex. 1: –Ex. 2: 9

10 Teoria da Satisfatibilidade Um solucionador SMT decide sobre a satisfatibilidade de uma fórmula de primeira ordem usando diferentes teorias de suporte e então generaliza a satisfatibilidade proposicional 10 TeoriaExemplo Igualdade Vetor de bits Aritmetica linear Arrays Teorias combinadas Verificar overflow

11 BMC baseado em SMT Tem sido aplicado para verificação de softwares sequenciais Verifica a negação de uma determinada propriedade a uma determinada profundidade Sistema de transição de estados M desdobrado k vezes –Estado: contador de programa e variáveis do programa –Desdobramento a partir do fluxo de controle (loops, trocas de contexto) Traduzido em uma condição de verificação ψ tal que –ψ é satisfatível se e somente se ϕ tem um contraexemplo em uma profundidade de no máximo k 11

12 BMC usando o ESBMC 12 Código C/C++ Programa em GOTO Fluxo de controle Contexto Lógico Forma SSA Solver SMT Conversão de restrições e propriedades OK Contra- exemplo

13 Verificação de Filtros Digitais Projetar o filtro usando o método e ferramenta de preferência Estimar intervalo de saída para uma dada faixa de entrada –Definir o comprimento da palavra, levando em conta o custo, problemas de quantização e desempenho Entrar com parâmetros do filtro no modelo de estrutura em C Realizar análise do pior caso de tempo de execução (WCET) Configurar assertivas no modelo em C –Overflow –Ciclo limite –Restrições temporais –Outras propriedades (propriedades de projeto, SNR, etc) Executar verificação e caso falhe, obter contraexemplo 13

14 Exemplo1: Verificação de Overflow Filtro IIR com as seguintes especificações –Butterworth corta-faixa de 2ª ordem –Frequências de corte: 7 e 10 kHz –Frequência de amostragem: 48 kHz –Atenuação nas frequências de corte: 3dB 14 -0, ,5 0,75 -0, ,75 x(n) y(n)

15 Exemplo1: Verificação de Overflow 15

16 Exemplo1: Verificação de Overflow 16 -0, ,5 0,75 -0, ,75 -2, O filtro também falha se implementado na Forma Direta II, mas não falha na Forma Transposta II devido a ordem de execução das operações

17 Exemplo 2: Verificação de Ciclo Limite Filtro IIR de um pólo com 2 bits para inteiros e 4 bits de precisão 17 Wrap around

18 Verificação de Ciclo Limite Utilizamos uma entrada nula e valores não determinísticos para as saídas anteriores Uma assertiva detecta uma falha caso o conjunto de estados anteriores das saídas se repetir n y 0,125-0,06250,0625-0,06250, ,06250, ,0625 = 0 = -0,0625= 0,0625= -0,0625= 0,0625y(0)y(1) y(2)y(3) Repetição com entrada nula. Ciclo Limite!

19 Verificação de Restrições Temporais 19 sum += *b++ * *x--; cycles cycles SUB.W#4,r105 cycles MOV.W4(r10),r143 cycles MOV.W6(r10),r153 cycles CALL#__fs_mpy 5 cycles MOV.Wr7,r141 cycle MOV.Wr8,r151 cycle CALL#__fs_add5 cycles MOV.Wr12,r71 cycle MOV.Wr13,r81 cycle float iirFilterI() { float yn = 0; for (int k = 0; k < M; k++){ yn += *b++ * *x--; } for (int k = 1; k < N; k++){ yn -= *a++ * *y--; } return yn; } Número de ciclos Duração do ciclo Deadline Quantidade de instruções dependerá da ordem do filtro. Duração das operações dependerá da plataforma e do tamanho da palavra

20 Avaliação Experimental 20 Ambiente: –Intel Core i7-2600, 3.40 GHz com 24 GB de RAM, Fedora 64-bits –ESBMC v1.21 –SMT solver Z3 v3.2, usando aritmética de vetor de bits –Timeout: 3600 segundos Filtros verificados –obtidos da literatura ou projetados no Matlab –F s = 48KHz (típica em áudio) –restrição temporal baseada em F s de 48 KHz e clock de 16 MHz (MSP430) Benchmarks disponíveis em

21 Resultados #FiltroNaNb|h k |EntradaBitsx size Falhas Tempo de verificação (s) OFLCTC 1LP-IIR212[-1,1] 6OF, LC394<1 2LP-Butterworth-IIR331.2[-1.6,1.6] 6OF579634<1 3LP-IIR314[-1,1] 6OF, LC21029<1 4LP-IIR311.56[-1,1] <1 5LP-FIR [-1,1] 31TCTO981 6HP-ChebyshevI-IIR331.33[-1,1] <1 7BP-Elliptic-IIR331.24[-1.0,1.0] 6LC546474<1 8BS-Butterworth-IIR331.81[-1.0,1.0] 6OF <1 9BP-Elliptic-IIR550.91[-1.1,1.1] 10OF, LC720<1 10HP-Butterworth-IIR551.58[-1.27, 1.27] 10LC <1 11BP-ChebyshevI-IIR551.51[-1.33, 1.33] 10-TO <1 12HP-Elliptic-IIR775.39[-1,1] 14TC73TO<1 21 Tipo de filtro Número de coeficientes de realimentação Número de coeficientes diretos Soma do módulo da resposta ao impulso Intervalo de entrada para aplicação Bits para parte inteira e fracionária Tamanho da entrada aplicada Tipo de falha obtida OF - Overflow, LC - Ciclo limite, TC - restrição temporal, TO - Time out Alto tempo de verificação de filtros mais complexos Falha de restrição temporal para filtros de maior ordem Rápida verificação de restrição temporal. Código sequencial. Verificados diferentes tipos de filtros de diversas ordens Overflow detectado mesmo para estimativa conservadora Rápida verificação de filtros de baixa ordem e com pequeno tamanho de palavra

22 Conclusões Conclusões gerais –Foi proposta uma abordagem para verificação de filtros digitais utilizando um verificador BMC baseado em SMT –Permite encontrar problemas relacionados a representação em ponto fixo –É possível detectar problemas que seriam difíceis de identificar através de testes e simulações Contribuições –Exploramos as vantagens do verificador de prateleira ESBMC em cima de um modelo em C –Estendemos a abordagem com a verificação de restrições temporais baseadas em WCET em conjunto com o BMC Observações –Alto tempo de verificação para filtros mais complexos 22

23 Trabalhos Futuros Aplicação do método para outras formas de filtros –Forma Direta II, Forma Transposta, em Cascata, em Paralelo, etc Aumentar eficiência do sistema de verificação –Implementação de uma biblioteca de ponto fixo Adicionar mais propriedades para verificação –Especificações da resposta em frequência –Nível de ruído (SNR) Outras aplicações em processamento digital de sinais –Verificação de sistema OFDM 23

24 OBRIGADO! 24

25

26 Metodologia de Desenvolvimento Tabela - Cronograma de atividades 26

27 Implementação de Filtros 27 Forma Direta I Forma Direta II Forma Transposta II Forma em Cascata Forma em Paralelo

28 Representação em Ponto Fixo 28

29 Fórmulas Lógicas 29

30 Referências Verificação de modelos –L. de Moura et al., Z3: An efficient SMT solver, TACAS, 2008 –L. Cordeiro et al. SMT-based bounded model checking for embedded ANSI-C software, IEEE Transactions on Software Engineering, 2012 –E. Clarke et al., A tool for checking ANSI-C programs, TACAS, 2004 Verificação de restrições temporais –S. Kim et al., Using a model checker to determine worstcase execution time, Columbia University Reports, 2009 –R. Barreto et al., Verifying Embedded C Software with Timing Constraints Using an Untimed Bounded Model Checker, SBESC, 2011 Verificação de filtros digitais –D.A. Bailey and A.A. Beex, Simulation of filter structures for fixedpoint implementation, Proceedings of the 28th Southeastern Symposium on System Theory, 1996 –Behzad Akbarpour and Sofiène Tahar, Error analysis of digital filters using HOL theorem proving, Journal of Applied Logic, 2007 –C.F. Fang et al., Fast, accurate static analysis for fixed-point finite-precision effects in DSP designs, ICCAD, 2003 –A. Cox et al., A bit too precise? Bounded verification of quantized digital filters, TACAS,


Carregar ppt "Renato Abreu Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades."

Apresentações semelhantes


Anúncios Google