Renato Abreu [email protected] Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G...

30
Renato Abreu [email protected] Universidade Federal do Amazonas PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA Verificação de Propriedades Temporais em Filtros Digitais de Ponto-Fixo usando Teorias do Módulo da Satisfatibilidade 1

Transcript of Renato Abreu [email protected] Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G...

Page 1: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

Renato Abreu [email protected]

Universidade Federal do AmazonasPROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Verificação de Propriedades Temporais em Filtros Digitais de Ponto-Fixo usando Teorias do Módulo da Satisfatibilidade

1

Page 2: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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!

Page 3: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

Page 4: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

Implementação em Ponto Fixo

4

Vantagens Desvantagens

• 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ênciaOverflow

Referência

Wrap-around

Filtro estável: anulando a entrada a saída deve ir pra zero Porém, em

ponto fixo...

Page 5: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

Page 6: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

Page 7: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

Sistema linear invariante no tempo

Implementação de Filtros

𝑦 (𝑛)=−∑𝑘=1

𝑁

𝑎𝑘 y (n−k )+∑𝑘=0

𝑀

𝑏𝑘 x (n−k )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;

}

Page 8: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

2-l-1

2-l

Q(x)

2k-1-2-l

-2k-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

Page 9: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

(𝑥1∨𝑥2)⋀ (𝑥3∨𝑥 4)

(𝑥1∨𝑥2)⋀ (¬𝑥1∨¬𝑥2)

É satisfatível pois a fórmula é verdadeira, por exemplo para:

É insatisfatível pois a fórmula é falsa para qualquer valor e

Page 10: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

Teoria Exemplo

Igualdade

Vetor de bits

Aritmetica linear

Arrays

Teorias combinadas

Verificar overflow

Page 11: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

Page 12: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

Page 13: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

Page 14: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

-0,703125

-0,50,75

-0,703125

0,75x(n) y(n)

Page 15: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

Exemplo1: Verificação de Overflow

• Estimando o intervalo para a saída:– Para um sistema estável, – No Matlab a função impz calcula a resposta ao impulso

15

• = 1,8178

• Para x entre [-1,1],

• Representando em

- Intervalo [-2, 1,984375]

- Erro ±0,0078125

Page 16: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

16

Exemplo1: Verificação de Overflow

• O verificador aplica entradas não-determinísticas dentro do intervalo [-1,1] em busca da negação de:

• Aqui a verificação retorna a seguinte entrada como contraexemplo:– x = { 0.0f, 0.015625f, 0.0f, -0.890625f, 0.96875f, -0.890625f }– xaux = { -0.890625f, 0.96875f, -0.890625f }– yaux = { 0f, -0.671875f, 0.890625f }

-0,703125

-0,50,75

-0,703125

0,75 -2,03125-0,890625 0,75 = -0,6718750

+

+

+-0,890625 0,75 = -0,671875

0,968750 -0,703125 = -0,6875

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

Page 17: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

𝑦 (𝑛)=−0,5 y (n−1 )+x (n )

−0,5 Q

Wrap around

Page 18: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

18

−𝟎 ,𝟓-1 0 1 2 3

n

y

0,125-0,06250,0625-0,06250,0625 -0,06250,0625-0,0625

= 0 = -0,0625= 0,0625= -0,0625= 0,0625y(0)y(1)y(2)y(3)

Repetição com entrada nula.Ciclo Limite!

Page 19: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

Verificação de Restrições Temporais

• Baseada na análise de tempo de execução do pior caso (WCET)• Exemplo de operação em um trecho de código para MSP430:

• O verificador aplica uma entrada qualquer em busca da negação de

19

sum += *b++ * *x--;

MOV.W @r9+,r12 5 cyclesMOV.W @r9+,r13 5 cyclesSUB.W #4,r10 5 cyclesMOV.W 4(r10),r14 3 cyclesMOV.W 6(r10),r15 3 cyclesCALL #__fs_mpy 5 cyclesMOV.W r7,r14 1 cycleMOV.W r8,r15 1 cycleCALL #__fs_add 5 cyclesMOV.W r12,r7 1 cycleMOV.W r13,r8 1 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

Page 20: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

– Fs = 48KHz (típica em áudio)

– restrição temporal baseada em Fs de 48 KHz e clock de 16 MHz (MSP430)

• Benchmarks disponíveis em www.esbmc.org

Page 21: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

Resultados

# Filtro Na Nb ∑|hk| Entrada Bits xsize FalhasTempo de

verificação (s)OF LC TC

1 LP-IIR 2 1 2 [-1,1] <2,4> 6 OF, LC 39 4 <1

2 LP-Butterworth-IIR 3 3 1.2 [-1.6,1.6] <2,5> 6 OF 579 634 <1

3 LP-IIR 3 1 4 [-1,1] <3,4> 6 OF, LC 210 29 <1

4 LP-IIR 3 1 1.56 [-1,1] <2,4> 6 - 110 51 <1

5 LP-FIR 1 31 1.93 [-1,1] <2,6> 31 TC TO 98 1

6 HP-ChebyshevI-IIR 3 3 1.33 [-1,1] <2,10> 6 - 853 2058 <1

7 BP-Elliptic-IIR 3 3 1.24 [-1.0,1.0] <2,10> 6 LC 546 474 <1

8 BS-Butterworth-IIR 3 3 1.81 [-1.0,1.0] <2,8> 6 OF 106 1299 <1

9 BP-Elliptic-IIR 5 5 0.91 [-1.1,1.1] <1,8> 10 OF, LC 7 20 <1

10 HP-Butterworth-IIR 5 5 1.58 [-1.27, 1.27] <2,6> 10 LC 2468 1508 <1

11 BP-ChebyshevI-IIR 5 5 1.51 [-1.33, 1.33] <2,6> 10 - TO TO <1

12 HP-Elliptic-IIR 7 7 5.39 [-1,1] <3,13> 14 TC 73 TO <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

conservadoraRápida verificação de filtros de baixa ordem e com pequeno

tamanho de palavra

Page 22: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

Page 23: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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

Page 24: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

OBRIGADO!

24

Page 25: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.
Page 26: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

Metodologia de Desenvolvimento

Tabela - Cronograma de atividades

26

Page 27: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

Implementação de Filtros

𝑦 (𝑛)=−∑𝑘=1

𝑁

𝑎𝑘 y (n−k )+∑𝑘=0

𝑀

𝑏𝑘 x (n−k )27

Forma Direta IForma Direta IIForma Transposta II

Forma em Cascata

Forma em Paralelo

Sistema linear invariante no tempo

Page 28: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

Representação em Ponto Fixo

• Representação em complemento de dois

• ⟨k, l sendo ⟩ k bits para parte inteira e l bits para fracionária

• Um bit de sinal

• (bk−1 bk−2 ... b1 b0 · b−1 b−2 ... b−l)

• Valor máximo

• Valor mínimo

28

Page 29: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

29

Fórmulas Lógicas

Page 30: Renato Abreu renatoabreu@ufam.edu.br Universidade Federal do Amazonas P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA Verificação de Propriedades.

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, 2012

30