500 likes | 864 Views
Capítulo 5: Flip-flops e Registradores. Circuitos Sequenciais Circuitos simples com realimentação Latches Flip-flops Edge-triggered (disparados pela borda) Metodologias de Temporização Flip-flops em cascata Clock skew (deformação) Entradas Assíncronas Metaestabilidade e sincronização
E N D
Capítulo 5: Flip-flops e Registradores • Circuitos Sequenciais • Circuitos simples com realimentação • Latches • Flip-flops Edge-triggered (disparados pela borda) • Metodologias de Temporização • Flip-flops em cascata • Clock skew (deformação) • Entradas Assíncronas • Metaestabilidade e sincronização • Registradores Básicos • Registradores de Deslocamento Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 1
Circuitos Sequenciais • Circuitos com realimentação • Saídas = f(entradas, entradas passadas, saídas passadas) • Base para a introdução de “memória” em circuitos lógicos • Exemplo: tranca digital com combinação • Estado é memória • Estado é uma “saída" e uma “entrada" para a lógica combinacional • Elementos de armazenamento da combinação são tb. memória new equal reset value C1 C2 C3 mux control comb. logic multiplexer clock state comparator equal open/closed Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 2
Circuitos com Realimentação • Como controlar a realimentação? • O que interrompe valores de circularem indefinidamente? X1X2•••Xn Z1Z2•••Zn switchingnetwork Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 3
"1" "stored value" "0" “lembre" “carregue" “valor armazenado" "data" Circuito mais simples com Realimentação • Dois inversores formam célula estática de memória • Valor é mantido enquanto a alimentação for mantida • Como inserir um novo valor na célula de memória? • Interromper seletivamente o caminho de realimentação • Carregar novo valor na célula Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 4
Q R S R Q Q' S Q S' S' R' Q Q' R' Memórias com Portas com Acoplamento Cruzado • Memória com portas NOR “Cross-coupled” • Similar ao par inversor, com capacidade de forçar a saída para 0 (reset=1) ou 1 (set=1) • Memória com portas NAND “Cross-coupled” • Similar ao par inversor, com capacidade de forçar a saída para 0 (reset=0) ou 1 (set=0) Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 5
R Q Q' S Comportamento no Tempo Hold Race Reset Set Reset Set 100 R S Q \Q Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 6
S R Q0 0 hold0 1 01 0 11 1 unstable Q Q'0 1 Q Q'1 0 Q Q'0 0 Q Q'1 1 Comportamento de Estados do latch R-S • Tabela verdade do comportamento do latch RS Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 7
SR=10 SR=00 SR=01 SR=00 SR=10 SR=01 Q Q'0 1 Q Q'1 0 SR=01 SR=10 SR=11 Q Q'0 0 SR=11 SR=11 SR=00 SR=11 SR=00 SR=01 SR=10 Possível oscilação entre osestados 00 e 11 Q Q'1 1 Comportamento Teórico do Latch RS • Diagrama de Estados • Estados: possíveis valores • Transições: mudanças baseadas nas entradas Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 8
SR=10 SR=00 SR=01 SR=00 SR=10 SR=01 SR=01 SR=10 SR=11 Q Q'0 1 Q Q'1 0 SR=11 SR=11 Q Q'0 0 SR=00 SR=00 Comportamento Observado do Latch RS • Muito difícil se observar a saída do estado 1-1 • Normalmente ou R ou S muda primeiro • Retorno ambíguo ao estado 0-1 ou 1-0 • Transição não-determinística Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 9
R Q Q' S S R Q(t) Q(t+)0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 11 0 1 11 1 0 X1 1 1 X Mantém estado reset S 0 0 1 0 X 1 X 1 set Q(t) Não permitida R Análise do Latch RS • Desfazer o caminho de realimentação Q(t) Q(t+) S R Equação característica Q(t+) = S + R’ Q(t) Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 10
R R' Q enable' Q' S' S Reset Set 100 S' R' enable' Q Q' Latch RS com Entrada de Sincronismo • “enable” controla quando as entradas R and S são apresenta- das ao latch • Variações em R e S enquanto “enable” = 0 podem alterar as saídas Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 11
Clock (Relógio) • Utilizado para sincronismo • Esperar o suficiente para que as entradas (R' e S') se estabilizem • Então permitir que elas atuem no valor armazenado • Um “clock” é um sinal periódico normal • Período (tempo entre “ticks”) • Duty-cycle (tempo em que o clock = ‘1’ - expresso em % do período) duty cycle (in this case, 50%) period Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 12
R R' Q clock' Q' S' S stable changing stable changing stable R' and S' clock Clock (continuação) • Controlando um latch R-S através de um clock • Não se deve permitir que R ou S se alterem enquanto o clock está ativo (permitindo que R ou S atuem nas saídas) • Sinais R’ e S’ precisam estar estáveis enquanto o clock está ativo Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 13
R R Q' R Q' S S Q S Q clock Latches em Cascata • Conecte a saída de um latch à entrada de outro • Como impedir a condição “race” de acontecer? • Necessidade de controlar o fluxo de dados de um latch para o próximo • Avançar de um latch por período de clock • Preocupação com lógica entre latches (arrows) que seja muito rápida Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 14
Estágio escravo Estágio mestre R Q' R Q' P' R S Q S Q S P CLK Estrutura Master-Slave • Quebra o fluxo alternando clocks • Usa clock positivo para armazenar as entradas em um latch • Usa clock negativo para mudar as saídas de outro latch R-S • O par deve ser visto como uma unidade básica • Flip-flop master-slave (mestre-escravo) • Saídas mudam uns poucos retardos de porta depois do “falling edge” (borda de descida) do clock Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 15
1s catch Set Reset Estágio escravo Estágio mestre R Q' R Q' S R CLK P P' Q Q' P' R S Q S Q Saídas doMestre S P Saídas do Escravo CLK O Problema da ‘captura de 1s’ • No primeiro estágio R-S do FF master-slave • Um “glitch” (transição rápida) 0-1-0 em R ou S enquanto o clock está em ‘1’ é ‘capturado’ pelo estágio mestre • Implica em restrições na lógica em ser “hazard-free” Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 16
O Flip-Flop JK • Elimina a condição instável (R=1; S=1) do flip-flop RS K Q(t+1) Clock J X X 0 Q(t) 0 0 1 Q(t) 1 0 1 0 0 1 1 1 Equação característica: 1 1 1 Q(t)’ Q(t+1) = K’.Q(t) + J.Q(t)’ “Toggle” Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 17
O flip-flop JK (continuação) Largura de pulso deve permitir apenas uma mudança na saída! Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 18
slave stage master stage P' Q' R Q' R Q' Q D S Q S Q P CLK O Flip-Flop D • S e R são o complemento um do outro • Elimina o problema da captura de 1s • Não pode simplemente manter o valor anterior (necessita ter o novo valor pronto a cada período de clock) • Valor de D imediatamente antes do clock ir para ‘0’ é armazenado no flip-flop • Se pode construir um flip-flop R-S adicionando lógica para fazer D = S + R' Q 10 gates Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 19
D’ D 0 R Q Clk=1 Q’ S 0 D’ D Flip-flops Edge-Triggered (Disparados pela Borda) • Solução mais eficiente: somente 6 portas • Sensível à entrada somente próximo à borda do clock mantem D' quando O clock vai a ‘0’ Flip-flop D, negative edge-triggered (disparado pela borda negativa) 4-5 retardos de portas Precisa obedecer às restriçõesdos tempos de “set-up” e “ hold”para capturar mantem D quando o clock vai a ‘0’ Equação característica:Q(t+1) = D(t) Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 20
D’ D’ D D D’ D’ R R Q Q Clk=0 Clk=0 S S D D D’ D’ D novo D Flip-flops Edge-Triggered (continuação) • Análise Passo-a-passo novo D antigo D Quando o clock vai de ‘1’ para ‘0’ O dado é armazenado Quando o clock = ‘0’ O dado é mantido Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 21
Flip-Flops Edge-triggered (continuação) • Positive edge-triggered • Entradas amostradas na borda de subida; saídas mudam após a borda de subida (do clock) • Negative edge-triggered flip-flops • Entradas amostradas na borda de descida; saídas mudam após a borda de descida 100 D CLK Qpos Qpos' Qneg Qneg' positive edge-triggered FF negative edge-triggered FF Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 22
D mantem D’ quando o clock vai a ‘1’ D’ 1 S’ 0 1 R’ D’ mantém D quando o clock vai a ‘1’ Flip-flops Edge-triggered (continuação) • D-type positive edge-triggered flip-flop Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 23
D ’ D’ D’ S’ 1 D R’ D’ Flip-flops Edge-triggered (continuação) Após a subida do clock: Símbolo Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 24
Metodologias de Temporização • Regras para interconexão de componentes e clocks • Garantem operação adequada do sistema quando observadas • Abordagem depende dos blocos básicos utilizados para os elementos de memória • Foco em sistemas com flip-flops edge-triggered • Encontrados em dispositivos lógicos programáveis • Muitos CI’s contém latches sensíveis a nível • Regras básicas para uma temporização correta: • (1) Entradas corretas, com relação ao tempo, devem ser fornecidas aos flip-flops • (2) Não mais de uma mudança de estado de flip-flop por “clocking event” Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 25
D D Q Q Tsu Th entrada clock Metodologias de Temporização (cont.) • Definição de termos • clock: evento periódico que provoca a mudança de estado do elemento de memória; (rising/falling edge, high/low level) • setup time: tempo mínimo antes do “clocking event” que a entrada precisa estar estável (Tsu) • hold time: tempo mínimo depois do “clocking event” até o qual a entrada precisa continuar estável (Th) entrada clock Existe uma “janela” de tempo em torno do “clocking event” durante a qual a entrada precisa permanecer estável e inalterada para que seja reconhecida estável alterando entrada clock Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 26
D Q D Q G Comparação entre Latches e Flip-Flops D CLK Qedge Qlatch CLK positiveedge-triggeredflip-flop CLK Latch transparente(level-sensitive) Comportamento é o mesmo a não ser que a entrada mude enquanto o clock = ‘1’ Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 27
Comparação entre Latches e Flip-Flops (continuação) TipoEntradas são amostradasSaída é válida unclocked sempre retardo a partir da mudança na entradalatch level-sensitive clock = ‘1’ retardo a partir da mudança na entradalatch (Tsu/Th em torno do ou borda do clock (o que ocorrer por falling edge do clock) último) master-slave clock = ‘1’ retardo a partir da transição negativaflip-flop (Tsu/Th em torno do do clock falling edge do clock) negative Transição de ‘1’ para ‘0’ retardo a partir da transição negativaedge-triggered no clock (Tsu/Th em tor- do clockflip-flop no do falling edge) Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 28
Tsu20ns Th5ns D Tsu20ns Th5ns CLK Tw 25ns Tplh25ns13ns Tphl40ns25ns Q Especificações de Tempo Típicas • Positive edge-triggered D flip-flop • Tempos de Setup e hold times • Largura de clock mínima • Retardos de propagação (0 para 1, 1 para 0, máximo e típico) Todas as medidas são feitas a partir do “clocking event”, isto é, a partir da borda de subida do clock Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 29
Q0 Q1 D D Q Q IN OUT CLK Flip-flops Edge-triggered em Cascata • Shift register (Registrador de deslocamento) • Novo valor entra no primeiro estágio • Valor anterior do primeiro estágio entra no segundo estágio • Consider setup/hold/retardo (retardo precisa ser > hold) 100 IN Q0 Q1 CLK Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 30
Flip-flops Edge-triggered em Cascata (continuação) • Porque isto funciona? • Retardo de propagação excede os tempos de “hold” • Largura do clock excede o tempo de “setup” • Isto garante que o próximo estágio armazenará valor atual antes que ele mude para o novo valor In Q0 Q1 CLK Tsu 4ns Tsu 4ns as restrições de temporização garantem a operação adequada dos componentes em cascata Tp 3ns Tp 3ns assume distribuiçãoinstantânea do clock Th 2ns Th 2ns Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 31
Clock Skew • O problema • Comportamento correto assume que o próximo estado de todos os elementos de armazenamento é determinado por todos os elementos de armazenamento ao mesmo tempo • Isto é difícil de ser obtido em sistemas de alta performance, já que o tempo para o clock chegar no flip-flop é comparável aos retardos através da lógica • Efeito do “skew” em flip-flops em cascata: 100 In Q0 Q1 CLK0 CLK1 CLK1 é uma versão atrasada do CLK0 estado original: IN = 0, Q0 = 1, Q1 = 1 devido ao “skew”, o próximo estado se torna: Q0 = 0, Q1 = 0, e não Q0 = 0, Q1 = 1 Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 32
Sumário de Latches e Flip-Flops • Desenvolvimento do flip-flop D • Level-sensitive utilizado em circuitos integrados sob medida • pode ser feito com 4 chaves • Edge-triggered utilizado em dispositivos lógicos programáveis • Boa escolha para registradores de armazenamento de dados • Historicamente o flip-flop J-K foi mais popular do que atualmente • Similar ao R-S mas com 1-1 sendo usado para alterar (“toggle”) a saída (complementar o estado) • Função de entrada mais complexa: D = JQ' + K'Q • Não é uma boa escolha para PALs/PLAs, já que necessita de 2 entradas • Pode sempre ser implementado utilizando flip-flop D • Entradas de Preset e clear são altamente desejáveis em flip-flops • Utilizadas como inicialização de um sistema em um estado conhecido Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 33
Metaestabilidade e Entradas Assíncronas • Circuitos síncronos com clock • Entradas e estado amostrados, e saídas que se alteram, com relaçãoa um sinal de referência comum (chamado de clock) • Ex: master/slave, edge-triggered • Circuitos assíncronos • Entradas, estado, e saídas amostrados ou que se alteram independentemente de um sinal de referência comum (glitches/hazards são uma preocupação central) • Ex: latch RS • Entradas assíncronas de circuito síncronos • Entradas podem mudar a qq momento (tempos de setup/hold podem não ser atendidos) • Entradas síncronas são preferíveis • Não podem ser evitadas em certas circunstâncias (ex: sinal de reset, “memory wait”, entrada do usuário) Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 34
Falha de Sincronização • Ocorre quando a entrada do Flip-flop muda próximo à borda do clock • FF pode entrar num estado metaestável – nem 0 nem 1 • FF pode permanecer neste estado indefinidamente logic 1 logic 0 logic 0 logic 1 gráficos no osciloscópio demonstrando falha de sincronização e eventual decaimento ao estado permanente probabilidade baixa, mas não nula, de que a saída do FF fique presa em um estágio intermediário Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 35
Lidando com a Falha de Sincronização • Probabilidade da falha não pode ser reduzida a 0, mas pode ser reduzida • (1) desacelerar o clock do sistema: isto dá ao sincronizador mais tempo para entrar em um estado permanente; falha de sincronizacão se torna um grande problema para sistemas de alta velocidade • (2) usar no sincronizador a tecnologia lógica mais rápida possível • (3) cascatear dois sincronizadores: isto efetivamente sincroniza duplamente Q entrada assíncrona entrada sincronizada D Q D Clk Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 36 sistema síncrono
D Q D Q D Q D Q D Q Lidando com Entradas Assíncronas • Nunca permita que entradas assíncronas sejam conectadas a mais de um flip-flop • Sincronize assim que possível e então trate a saída do sincronizador como sendo o sinal assíncrono Sincronizadorr Sistema síncrono Entrada Entrada Q0 Q0 assíncrona assíncrona Clock Clock Q1 Q1 Clock Clock Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 37
Lidando com Entradas Assíncronas (continuação) • O que pode dar errado? • Entrada muda muito perto da borda do clock (violando a restrição do tempo de setup) Entrada Q0 Q1 CLK Entrada é assíncrona e está conectada a D0 e D1um FF captura o sinal, e o outro não estado inconsistente pode ser atingido! Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 38
Características de Flip-Flops • Reset (estabelece o estado em 0) – R • Síncrono: Dnew = R' • Dold (quando a próxima borda do clock chegar) • Assíncrono: não espera pelo clock; rápido porém perigoso • Preset ou set (estebelece o estado em 1) – S (or sometimes P) • Síncrono: Dnew = Dold + S (quando a próxima borda do clock chegar) • Assíncrono: não espera pelo clock; rápido porém perigoso • Reset e Preset • Dnew = R' • Dold + S (set-dominant) • Dnew = R' • Dold + R'S (reset-dominant) • Capacidade Seletiva de entrada (input enable/load) – LD or EN • Multiplexer na entrada: Dnew = LD' • Q + LD • Dold • Load pode ou não se sobrepor ao reset/set (normalmente R/S tem prioridade) • Saídas complementares – Q e Q' Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 39
OUT1 OUT2 OUT3 OUT4 "0" R S R S R S R S D Q D Q D Q D Q CLK IN1 IN2 IN3 IN4 Registradores • Coleção de flip-flops com controles e lógica similares • Valores armazenados estão relacionados de alguma forma (ex: formam um valor binário) • Compartilham linhas de clock, reset, e set • Lógica similar em cada estágio • Exemplos • Shift registers (registradores de deslocamento) • Contadores Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 40
OUT1 OUT2 OUT3 OUT4 D Q D Q D Q D Q IN CLK Registrador de Deslocamento • Armazenam amostras da entrada • ex: registrador de deslocamento de 4 bits • armazenam os ultimos 4 valores em sequência Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 41
output left_in right_out left_out right_in clear s0 clock s1 input Registrador de Deslocamento Universal • Armazena 4 valores • Entradas seriais ou paralelas • Saídas seriais ou paralelas • Permite o deslocamento à esquerda ou à direita • Desloca novos valores à esquerda ou à direita clear estabelece o conteúdo do registradore da saída em 0s1 e s0 determinam o tipo de deslocamento s0 s1 function 0 0 mantém estado 0 1 deslocamento à direita 1 0 deslocamento à esquerda 1 1 carregue nova entrada Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 42
0 1 2 3 Projeto do Registrador de Deslocamento Universal • Considere um dos quatro flip-flops • Próximo valor no próximo ciclo de clock: Nth célula p/ N-1th célula para N+1th célula Q D CLK CLEAR clear s0 s1 new value 1 – – 0 0 0 0 output 0 0 1 output value of FF to left (shift right) 0 1 0 output value of FF to right (shift left) 0 1 1 input s0 e s1control mux Q[N-1](left) Q[N+1](right) Input[N] Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 43
Aplicação de Registradores de Deslocamento • Conversão paralelo-serial para transmissão serial saídas paralelas entradas paralelas Transmissão serial Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 44
OUT OUT1 OUT2 OUT3 OUT4 D Q D Q D Q D Q IN CLK Reconhecedor de Padrões • Função combinacional de amostras da entrada • ex: reconhecendo o padrão 1001 em um único sinal de entrada Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 45
OUT1 OUT2 OUT3 OUT4 D Q D Q D Q D Q IN CLK OUT1 OUT2 OUT3 OUT4 D Q D Q D Q D Q IN CLK Contadores • Sequencias através de um conjunto fixo de padrões • Neste caso: 1000, 0100, 0010, 0001 • Um dos padrões é o estado inicial (usar load ou set/reset) • Contador Mobius (ou Johnson) • In this case, 1000, 1100, 1110, 1111, 0111, 0011, 0001, 0000 Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 46
OUT1 OUT2 OUT3 OUT4 D Q D Q D Q D Q CLK "1" Contador Binário • Lógica entre os registradores (não somente um multiplexer) • XOR decide quando um determinado bit deve ser “toggled” • Sempre para o bit de mais baixa ordem; somente quando o primeiro bit é verdade para o segundo bit, e assim por diante Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 47
ENDCBA LOAD CLK CLR RCO QDQCQBQA Contador Binário Ascendente Síncrono de 4-bits • Componente padrão em muitas aplicações • FF positive edge-triggered com entradas de load e clear • Dado carregado das entradas paralelas D, C, B, A • Entradas de Enable: precisam estar em 1 para contagem • RCO: saída de ripple-carry utilizada para cascateamento • ‘1’ quando o contador está em seu estado mais alto (1111) • implementado usando uma porta AND (2) RCO vai para 1 (3) High 4-bits são incrementados (1) Low 4-bits = 1111 Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 48
Contador de offset inicial - uso do load síncrono ex: 0110, 0111, 1000, 1001, 1010, 1011, 1100, 1101, 1111, 0110, . . . Contador de offset final - comparador para o valor final ex: 0000, 0001, 0010, ..., 1100, 1101, 0000 Combinações dos contadores acima (valores iniciais e finais) "1" "0""1""1""0" EN DCBA LOAD CLK CLR RCO QDQCQBQA "0" "1" "0""0""0""0" EN DCBA LOAD CLK CLR RCO QDQCQBQA Contadores de Offset Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 49
Sumário – Lógica Sequencial • Blocos fundamentais de circuitos com estado • Latch e flip-flop • Latch R-S; flip-flops R-S master/slave, D master/slave, D edge-triggered • Metodologias de Temporização • Utilização de clocks • Flip-flops em cascata funcionam porque o tempo de propagação excede o tempo de hold • Cuidade com o clock skew • Entradas assíncronas e seus Perigos • Falha no sincronizador: o que é e como minimizar seu impacto • Registradores Básicos • Registradores de Deslocamento • Detetores de Padrões • Contadores Circuitos Digitais – 02/02 – Prof. Márcio Brandão – Slide 50