470 likes | 760 Views
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)
E N D
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) • Gráfica (diagrama lógico ou mapa de Karnaugh) • Nível da representação: • Comportamental • Funcional • Estrutural
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
Equações algébricas • Forma canónica da soma de produtos: • Forma canónica do produto de somas: • Forma canónica abreviada:
Mapas de Karnaugh • Os mapas de Karnaugh são usados mais como formalismo de simplificação do que como alternativa para a representação
Simplificação de funções por mapas de Karnaugh • Teorema subjacente: X*Y + X*/Y = X • No caso considerado:
/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)
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?)
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
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?
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
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
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...
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
O multiplexador 74ALS151 Y I0 I1 /Y I2 I3 I4 I5 I6 I7
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
74x253 – Adicionador completo de 1 bit • Construir um adicionador completo de 1 bit
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
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)
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
74HCT85 – Detector de janela [2,11[ X 2 X < 11
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
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
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
O conceito de controlabilidade • Trata-se de uma medida da facilidade com que conseguimos impor num nó um determinado valor lógico
O conceito de observabilidade • Trata-se de uma medida da facilidade com que podemos observar o valor lógico presente num nó
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
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
Redundância e testabilidade • A presença de termos redundantes implica normalmente problemas de testabilidade
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
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