1 / 47

Circuitos combinatórios

Circuitos combinatórios. Organização: Formas básicas de representação Síntese por mapas de Karnaugh Projectos com blocos SSI / MSI Análise e teste. A representação de sistemas digitais. Formas básicas de representação: Tabular (tabela de verdade) Algébrica (por extenso ou abreviada)

emlyn
Download Presentation

Circuitos combinatórios

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Circuitos combinatórios • Organização: • Formas básicas de representação • Síntese por mapas de Karnaugh • Projectos com blocos SSI / MSI • Análise e teste

  2. A representação de sistemas digitais • Formas básicas de representação: • Tabular (tabela de verdade) • Algébrica (por extenso ou abreviada) • Gráfica (diagrama lógico ou mapa de Karnaugh) • Nível da representação: • Comportamental • Funcional • Estrutural

  3. Tabelas de verdade • Apresentam o valor da(s) saída(s) para todas as combinações possíveis nas entradas • Só é viável em casos com reduzida complexidade

  4. Equações algébricas • Forma canónica da soma de produtos: • Forma canónica do produto de somas: • Forma canónica abreviada:

  5. Diagrama lógico

  6. Mapas de Karnaugh • Os mapas de Karnaugh são usados mais como formalismo de simplificação do que como alternativa para a representação

  7. Simplificação de funções por mapas de Karnaugh • Teorema subjacente: X*Y + X*/Y = X • No caso considerado:

  8. /A* C /A*/B* C* D + /A*/B* C*/D = /A*/B* C /A*/B*/C + /A* B*/C = /A*/C /A* B* C* D + /A* B* C*/D = /A* B* C Simplificação de funções por mapas de Karnaugh (2)

  9. Um adicionador de quatro bits • A síntese do circuito completo pelo processo descrito é inviabilizada pelo número de entradas (mapas de Karnaugh com quantas células?)

  10. A adição bit-a-bit • A alternativa mais prática consiste em recorrer à síntese por mapa de Karnaugh para um adicionador de um bit, construindo o somador pretendido por concatenação destes módulos elementares

  11. O somador de um bit

  12. O somador de um bit (2)

  13. O adicionador de quatro bits • Concatenando quatro módulos adicionadores de um bit, teremos o somador pretendido: • Qual o tempo de adição para a implementação modular?

  14. Um comparador de quatro bits • As mesmas razões já invocadas para o adicionador de quatro bits inviabilizam a síntese directa do comparador de quatro bits

  15. A comparação bit-a-bit • Começando pelo bit mais significativo: • Sendo A[i] = B[i] o resultado é inconclusivo e temos que passar ao bit seguinte ([i-1], à direita deste) • Sendo A[i] > B[i] e assumindo que a comparação foi inconclusiva para todos os bits anteriores, então resulta A<B falso, quaisquer que sejam os restantes bits • Sendo A[i] < B[i] e assumindo que a comparação foi inconclusiva para todos os bits anteriores, então resulta A<B verdadeiro, quaisquer que sejam os restantes bits

  16. O comparador de um bit

  17. O comparador de um bit (2)

  18. O comparador de quatro bits • Uma vez mais, concatenando os quatro módulos elementares, teremos o comparador de quatro bits: • Também para este caso teremos um tempo de propagação superior à implementação não modular...

  19. O projecto com blocos SSI / MSI • Principais blocos SSI / MSI: • Portas lógicas elementares (incluindo os buffers) • Codificadores e descodificadores • Multiplexadores e desmultiplexadores • Comparadores e circuitos de paridade • Adicionadores, subtractores e multiplicadores • Unidades lógicas e aritméticas

  20. O buffer 74ALS241

  21. O codificador 74HCT147

  22. O descodificador 74ALS138

  23. O multiplexador 74ALS151 Y I0 I1 /Y I2 I3 I4 I5 I6 I7

  24. Implementação de uma função com um mux • Qualquer função com N entradas pode ser implementada por um mux de 2(N-1) para 1

  25. 74x253 – Adicionador completo de 1 bit • Construir um adicionador completo de 1 bit

  26. X Y Cin S Cout +5V 0 0 0 0 0 X Y Cin /Cin 0 0 1 1 0 6 7 S 1C0 1Y 5 1C1 4 1C2 0 1 0 1 0 3 1C3 10 9 Cout 2C0 2Y 0 1 1 0 1 11 2C1 12 2C2 13 2C3 1 0 0 1 0 14 A 2 B 1 0 1 0 1 1 1G 15 2G 1 1 0 0 1 74LS253 1 1 1 1 1 74x253 – Adicionador completo de 1 bit

  27. 74x157 – Votador com três entradas • Construir um circuito votador com três entradas e uma saída (que deve assumir o valor que for comum à maioria das entradas)

  28. A B C F 0 0 0 0 0 0 1 0 2 4 2 4 1A 1Y 1A 1Y 3 3 1B 1B 0 1 0 0 5 7 5 7 F 2A 2Y 2A 2Y C 6 6 2B 2B 11 9 11 9 3A 3Y 3A 3Y 0 1 1 1 +5V 10 10 3B 3B 14 12 14 12 4A 4Y 4A 4Y 13 13 4B 4B 1 0 0 0 1 1 A/B A/B 15 15 G G 1 0 1 1 B A 74LS157 74LS157 1 1 0 1 1 1 1 1 74x157 – Votador com três entradas Sugestão: Altere o circuito de forma a proporcionar também uma saída de erro

  29. O desmultiplexador 74ALS155

  30. O comparador 74HCT85

  31. 74HCT85 – Um comparador de 12 bits

  32. 74HCT85 – Detector de janela [2,11[ X  2 X < 11

  33. O adicionador 74HCT283

  34. Unid. lógicas e aritméticas

  35. Análise e teste • A análise permite-nos passar de uma implementação para uma especificação, sendo necessária em tarefas como, por exemplo, a manutenção ou a modificação de funcionalidade • Também para o teste, e nomeadamente para a geração de vectores de teste, a análise desempenha um papel fundamental

  36. O modelo de faltas ss@ • Um modelo de faltas proporciona-nos uma representação alternativa para os factores que podem impedir o bom funcionamento de um circuito • No modelo ss@ (single stuck-at) considera-se que: • Só um nó de cada vez pode ter uma falta presente (por isso se diz single) • A falta presente no nó pode ser de um de dois tipos: Ou permanentemente a VCC ou permanentemente à massa

  37. Vantagens do modelo ss@ • As vantagens deste modelo de faltas são as seguintes: • É suficientemente simples para permitir na prática a geração de vectores de teste (a complexidade da análise cresce linearmente com a dimensão do circuito) • É suficientemente abrangente para cobrir uma larga variedade de defeitos físicos, dando-nos confiança que a percentagem de componentes com defeito que passam este teste é suficientemente reduzida

  38. O conceito de controlabilidade • Trata-se de uma medida da facilidade com que conseguimos impor num nó um determinado valor lógico

  39. O conceito de observabilidade • Trata-se de uma medida da facilidade com que podemos observar o valor lógico presente num nó

  40. O algoritmo D para a geração de vectores de teste • O algoritmo D recorre a uma notação que considera valores compostos para representar o efeito da presença de faltas nos nós

  41. Procedimento principal do algoritmo D • Por cada nó e por cada falta (s@0 e s@1): • Forçar no nó o valor oposto ao da falta (activar a falta) • Propagar para jusante o sinal de erro (D ou /D), até uma saída primária • Justificar para montante os valores lógicos que permitiram a propagação, até se chegar às entradas primárias

  42. Exemplo: Detecção de uma falta s@0

  43. Exemplo: Uma falta não detectável

  44. Backtracking na geração do vector

  45. Redundância e testabilidade • A presença de termos redundantes implica normalmente problemas de testabilidade

  46. Redundância para corrigir a resposta temporal • A presença de redundância, no entanto, pode impedir a ocorrência de impulsos extemporâneos nas saídas

  47. Conclusão • Objectivo principal do capítulo: Introduzir o projecto de sistemas digitais (restrito, neste caso, aos circuitos combinatórios) • Pistas para a continuação do estudo: • Outros algoritmos de simplificação de funções lógicas • Implementação multi-nível • Aprofundar as questões associadas ao funcionamento em regime dinâmico

More Related