Introdução a Sistemas Digitais Meta-estabilidade MTBF Clock skew Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 1/ 28
O que é Meta-estabilidade estabilidade? Sempre quando há uma violação nos tempos de set-up e hold de algum flip-flop, este pode entrar em um estado onde a sua saída é imprevisivel. Este estado é conhecido como estado de metaestabilidade (quasi stable state). No final do estado de meta-estabilidade, o flip-flop atinge o valor 1 ou 0. Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 2/ 28
Meta-estabilidade estabilidade Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 3/ 28
Temporização Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 4/ 28
Temporização Resolution time Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 5/ 28
No estado de Meta-estabilidade estabilidade Quando o flip-flop encontra-se no estado de meta-estabilidade, a sua saída oscila entre 0 e 1. O tempo que demora para estabilizar em 1 ou 0 depende da tecnologia do flip-flop (tempo de resolução tr). Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 6/ 28
Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 7/ 28
Metastability Window 74xx74 Flip Flops Device t (set-up) ns t (hold) ns t (total) ns 74C74 100.0 0.0 100.0 74HC74 20.0 0.0 20.0 74HCT74 20.0 0.0 20.0 7474 20.0 5.0 25.0 74ALS74 15.0 10.0 25.0 74LS74 20.0 0.0 20.0 74S74 3.0 2.0 5.0 74LS74 4.5 0.0 4.5 74AC74 4.0 0.5 4.5 74ACT74 3.0 1.0 4.0 74ACTQ74 3.0 1.5 4.5 Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 8/ 28
Olhando mais de perto Se olharmos dentro do flip-flop, podemos ver que o quasi-stable state (meta-estabilidade) acontece quando os tempos de set-up e hold são violados. Assumindo um flip-flip do tipo D sensivel a borda de subida do relógio, quando a borda de subida do relogio acontece em um tempo em que a entrada D esta fazendo Meta-estabilidade que o latch mestre transicione. Assim este flip-flop tem boas chances de ir para o estado meta-estavel. A subida do relógico causa que o latch mestre tente capturar o valor corrente na entrada enquanto o latch escravo está aberto permitindo que a saida siga o valor do latch mestre. O mais perfeito estado de meta-estabilidade (topo da montanha) resulta no maior tempo requerido para o flipflop Logic 0 Logic 1 resolver entre um dos dois estados estáveis (0 ou 1). Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 9/ 28
Resumindo Casos em que pode acontecer a Meta-estabilidade: Quando a entrada é assincrona Quando o clock skew é muito grande e a diferença entre a subida e a descida é muito grande. Quando interfaciando dois dominios operando em duas diferentes frequencias ou na mesma frequencia mas em diferentes fases. Quando o atraso da lógica combinacional é tal que o a entrada do flip-flop muda bem na janela crítica. Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 10 / 28
Mean Time Between Failure (MTBF) Nos dá a informação de quanto frequente um elemento irá falhar, ou em outras palavras, informa o tempo médio entre duas falhas do elemento. Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 11 / 28
Solução para a Metaestabilidade Flip-flops rápidos reduzem o MTBF, ou seja, baixo tempo de set-up e de hold. Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 12 / 28
Example Quanto mais flip-flops colocarmos na interface, maior será o MTBF (confiabilidade) do circuito. Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 13 / 28
MTBF de 1000 anos é suficiente? Se MTBF = 1000 anos e você envia 52.000 copias do produto, então um sistemas por semana irá falhar. MTBFs reais devem ser muito mais altos. Como fazer MTBFs grandes? Usar flip-flops muito rápidos Porem não esqueça que a frequencia aumenta tambem Conseguir tratar um tempo de resolução da meta-estabilidade maior (tr), ou seja, esperar um pouco mais na interface, normalmente não reduz desempenho, ao menos que esta sendo usado round-trip handshake. Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 14 / 28
Sincronização com muitos clocks Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 15 / 28
Deskewed multiple-cycle synchronizer Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 16 / 28
Determine FPGA System Clock speed Limiting factor is the 10MHZ input new data can come every 100 ns Data is asynchronous need a metastability filter No other connection to these points Asynchronous Input D SET Q D SET Q Clock CLR Q CLR Q Edge detection can be placed at this point Reset from clock tree Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 17 / 28
Clock Skew O clock pode não alcançar todos os flip-flops ao mesmo tempo. Razões para o atraso: (a) Atraso dos fios (b) capacitancia (c) Projeto incorreto Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 18 / 28
Do not send both the Clock and Envelope Asynchronous Signal through a Metastability Filter Asynchronous clock Input D SET Q D SET Q Clock_d2 Clock CLR Q CLR Q Asynchronous Envelope Input D SET Q clock tree Reset from D SET Q Evn_d2 CLR Q clock tree Reset from CLR Q Watch Out!!!!!!! Data is captured at the rising edge of the clock detection but env_d2 is not valid Yet!!!! We will miss the first piece of DATA!!!!!!!!!!!!! Clock Input Clock_d2 Skew < 10 ns Rising edge detect Env Env_d2 Env_d2 not valid yet Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 19 / 28
Cálculo de Clk Skew t ffpd (min) + t comb(min) t hold t skew(max) > 0 First two terms are minimum time after clock edge that a D input changes Hold time is earliest time that the input may change Clock skew subtracts from the available hold-time margin Compensating for clock skew: Longer flip-flop propagation delay Explicit combinational delays Shorter (even negative) flip-flop hold times Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 20 / 28
Exemplo de uma mal distribuição do clk Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 21 / 28
Multiplos dominios de clk Many digital systems have more than one clock domains: Needs to synchronize the two clock domains using two basic building blocks: Phase-locked loop (PLL) Delay-locked loop (DLL) Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 22 / 28
O que é Delay locked loop (DLL)? Loop de primeira ordem: facil de estabilizar sintese da frequencia é dificil clock jitter da referencia passa para a saida não há acumulo de erro na fase do relógio (clk) Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 23 / 28
O que é Phase Locked Loop (PLL)? Loop de 2nd/3rd ordem: dificil de estabilizar multiplicação de frequencia é facil clock jitter reduzido ao usar filtro acumulo de erro na fase do relógio (clk) Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 24 / 28
Xilinx DLL Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 25 / 28
Xilinx DLL Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 26 / 28
Usando DLL para de-skew sinais de clk Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 27 / 28
Exercicio Pratico Simular 1 flip-flop mestre escravo com atraso no ISE ou no Quartus até chegar no ponto da meta-estabilidade. Disciplina: Sistemas Digitais Profa. Dra. Fernanda Gusmão de Lima Kastensmidt 28 / 28