Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Circuitos DigitaisCircuitos Digitais Capítulo 2 – Álgebra de Boole Parte b Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais Minitermos Para facilitar a escrita de funções lógicas, pode-se representar os termos produto padrão como minitermos (ou mintermos)minitermos (ou mintermos). Linha A B C Minitermo 0 0 0 0 CBAm ..0 = 1 0 0 1 CBAm ..1 = 2 0 1 0 CBAm2 = Variáveis Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 2 0 1 0 CBAm .2 3 0 1 1 BCAm .3 = 4 1 0 0 CBAm .4 = 5 1 0 1 CBAm .5 = 6 1 1 0 CABm =6 7 1 1 1 ABCm =7 2 Minitermos Note que o minitermo mi assume o valor “1” na linha i da tabela, e o valor “0” para todas as outras linhaslinhas Linha A B C m0 m1 m2 m3 m4 m5 m6 m7 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 2 0 1 0 0 0 1 0 0 0 0 0 Variáveis Minitermos Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 3 0 1 1 0 0 0 1 0 0 0 0 4 1 0 0 0 0 0 0 1 0 0 0 5 1 0 1 0 0 0 0 0 1 0 0 6 1 1 0 0 0 0 0 0 0 1 0 7 1 1 1 0 0 0 0 0 0 0 1 Minitermos Funções lógicas podem ser representadas como uma soma de minitermos. Variáveis Linha A B C f(A,B,C) 0 0 0 0 1 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 0 6 1 1 0 1 7 1 1 1 1 Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 7630),,( mmmmCBAf +++= ABCCABBCACBACBAf +++=),,( ∑= )7,6,3,0(),,( mCBAf 3 Minitermos A partir da representação soma padrão de produtos, a obtenção da representação na f d i i é i diforma soma de minitermos é imediata: 0000 ABCDDCBADBCADCBADCBAf +++=),,,( 0110 1010 1111Designação binária (minitermos) 0 6 10 15Designação decimal Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais ∏= )14,13,12,11,9,8,7,5,4,3,2,1(),,,( MDCBAf ∑= )15,10,6,0(),,,( mDCBAf Maxitermos Para facilitar a escrita de funções lógicas, pode-se representar termos soma padrão por maxitermos (ou maxtermos) quando se utilizar a forma produto padrãomaxtermos) quando se utilizar a forma produto padrão de somas Linha A B C Maxitermo 0 0 0 0 )(0 CBAM ++= 1 0 0 1 )(1 CBAM ++= 2 0 1 0 )(2 CBAM ++= Variáveis Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 3 0 1 1 )(3 CBAM ++= 4 1 0 0 ).(4 CBAM ++= 5 1 0 1 )(5 CBAM ++= 6 1 1 0 )(6 CBAM ++= 7 1 1 1 )(7 CBAM ++= 4 Maxitermos Note que um Maxitermo Mi assume o valor “0” na linha i da tabela, e o valor “1” para todas as outras linhaslinhas Linha A B C M0 M1 M2 M3 M4 M5 M6 M7 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 2 0 1 0 1 1 0 1 1 1 1 1 Variáveis Maxitermos Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 3 0 1 1 1 1 1 0 1 1 1 1 4 1 0 0 1 1 1 1 0 1 1 1 5 1 0 1 1 1 1 1 1 0 1 1 6 1 1 0 1 1 1 1 1 1 0 1 7 1 1 1 1 1 1 1 1 1 1 0 Maxitermos Funções lógicas podem ser representadas como um produto de maxitermos. Variáveis Linha A B C f(A,B,C) 0 0 0 0 1 1 0 0 1 0 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 0 6 1 1 0 1 7 1 1 1 1 Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 5421),,( MMMMCBAf = ))()()((),,( CBACBACBACBACBAf ++++++++= ∏= )5,4,2,1(),,( MCBAf 5 Maxitermos A partir da representação produto padrão de somas, a obtenção do produto de maxitermos é i diimediata: 0000 ))()()((),,,( DCBADCBADCBADCBADCBAf ++++++++++++= 0100 1011 1111Designação binária (maxitermos) 0 4 11 15Designação decimal Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais ∑= )14,13,12,10,9,8,7,6,5,3,2,1(),,,( mDCBAf ∏= )15,11,4,0(),,,( MDCBAf Maxitermos A partir da representação soma de minitermos, a obtenção do produto de maxitermos é i diimediata: 0000 ABCDDCBADBCADCBADCBAf +++=),,,( 0110 1010 1111Designação binária (minitermos) 0 6 10 15Designação decimal Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 0 6 10 15g ç ∏= )14,13,12,11,9,8,7,5,4,3,2,1(),,,( MDCBAf ∑= )15,10,6,0(),,,( mDCBAf 6 Mapa de Karnaugh Como numa tabela verdade, um mapa de Karnaugh (ou k-map) possibilita a ã d f õ ló irepresentação de funções lógicas. Um mapa de Karnaugh para uma função booleana de n variáveis apresenta 2n posições organizadas em 2 ou 3 dimensões, indexada pelos valores das variáveis. Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais pelos valores das variáveis. A organização dos índices é feita segundo o código de Gray, o que faz com que índices adjacentes difiram em apenas uma variável Mapa de Karnaugh de 2 variáveis Equivalência entre os compartimentos de mapa de Karnaugh e as linhas da tabela d dverdade: Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 7 Mapa de Karnaugh de 2 variáveis BABABAf ⊕=≡= )(),( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais Mapa de Karnaugh de 2 variáveis BABAf ⊕=),( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 8 Mapa de Karnaugh de 2 variáveis BABAf ⊕=),( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais Mapa de Karnaugh de 3 variáveis Um minitermo preenche com “1” a menor área possível de um mapa de Karnaugh: 7),,( mABCCBAf == Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 9 Mapa de Karnaugh de 3 variáveis Um maxitermo preenche com “1” a maior área possível (que não seja a totalidade) de um mapa de Karnaugh: 0),,( MCBACBAf =++= mapa de Karnaugh: Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais Mapa de Karnaugh de 3 variáveis )( MCBACBAf Operações lógicas podem ser feitas entre mapas de Karnaugh: 0),,( MCBACBAf =++= Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 10 Teoremas de DeMorgan no k-mapa Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais Mapa de Karnaugh de 4 variáveis A versão da direita enfatiza as regiões nas quais as variáveis assumem o valor “1” Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 11 Mapa de Karnaugh de 4 variáveis Podemos ser redundantes: Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais Mapa de Karnaugh de 4 variáveis Com a variável mais significativa numerando as linhas: Variável mais significativa Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 12 Mapa de Karnaugh – adjacências As adjacências horizontais e as adjacências verticais correspondem a termos padrão com l ã iá lalteração em apenas uma variável DCBAm = DCABm = DCBAm =4 Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais DCBAm =5 DCABm =13 BCDAm =7 DCBAm =1 Mapa de Karnaugh – adjacências As adjacências também ocorrem nas extremidades do mapa de Karnaugh: DCBAm =8 DCBAm = DCBAm = Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais DCBAm =9 DCABm =13 CDBAm =11 DCBAm =1 13 Mapa de Karnaugh – adjacências As adjacências também ocorrem nas extremidades do mapa de Karnaugh: DBCAm =6 DCABm =DCBAm = Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais DCABm =12 DCBAm =5 DCBAm =0 DCBAm =4 Pares de minitermos adjacentes Por Álgebra de Boole: ∑ )1298()( DCBAf DCABDCBADCBADCBAf ++=),,,( DCABDDCBADCBAf ++= )(),,,( DCABCBADCBAf +=),,,( ∑= )12,9,8(),,,( mDCBAf Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais )(),,,( DBBCADCBAf += )(),,,( DBCADCBAf+= DCACBADCBAf +=),,,( 14 Pares de minitermos adjacentes Por álgebra de boole (outra versão) : ∑ )1298()( DCBAf DCABDCBADCBADCBAf ++=),,,( ∑= )12,9,8(),,,( mDCBAf DCABDCBADCBADCBADCBAf +++=),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais )()(),,,( BBDCADDCBADCBAf +++= DCACBADCBAf +=),,,( Pares de minitermos adjacentes Um par de minitermos adjacentes (horizontalmente ou verticalmente) no mapa d K h d dde Karnaugh pode ser representado por um termo produto contendo um literal a menos que um minitermo. DCACBADCBAf +=),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais DCACBADCBAf +),,,( 15 Pares de minitermos adjacentes Equivalência de um agrupamento de par de minitermos com a simplificação por álgebra de B lBoole )(),,,( BBDCADCBAf += DCABDCBADCBAf +=),,,( DCADCBAf =),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais Pares de minitermos adjacentes Equivalência de um agrupamento de par de minitermos com a simplificação por álgebra de B lBoole )(),,,( DDCBADCBAf += CBADCBAf =),,,( DCBADCBADCBAf +=),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 16 Pares de minitermos adjacentes Qualquer par de minitermos de n variáveis que sejam adjacentes (horizontalmente ou verticalmente) no mapa de Karnaugh pode ser combinado em um único termo produto contendo (n 1) literais Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais contendo (n-1) literais 2k minitermos adjacentes Qualquer conjunto de 2k minitermos de n variáveis que sejam adjacentes no mapa de Karnaugh pode ser combinado em um único termo produto contendo (n-k) literais Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 17 2k minitermos adjacentes Simplificação por álgebra de boole ∑ )10820()( DCBAf DCBADCBADCBADCBADCBAf +++=),,,( ∑= )10,8,2,0(),,,( mDCBAf )()(),,,( CCDBACCDBADCBAf +++= DBADBADCBAf +=),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais )(),,,( AADBDCBAf += DBDCBAf =),,,( 2k minitermos adjacentes Simplificação no mapa de Karnaugh ∑ )10820()( DCBAf ∑= )10,8,2,0(),,,( mDCBAf DBDCBAf =),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 18 2k minitermos adjacentes Simplificação por álgebra de boole ∑ )7531()( DCBAf BCDADCBACDBADCBADCBAf +++=),,,( ∑= )7,5,3,1(),,,( mDCBAf )()(),,,( CCBDACCDBADCBAf +++= BDADBADCBAf +=),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais )(),,,( BBDADCBAf += DADCBAf =),,,( 2k minitermos adjacentes Simplificação no mapa de Karnaugh ∑= )7,5,3,1(),,,( mDCBAf DADCBAf =),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 19 2k minitermos adjacentes Simplificação por álgebra de Boole ∑ )12840()( DCBAf DCABDCBADCBADCBADCBAf +++=),,,( ∑= )12,8,4,0(),,,( mDCBAf )()(),,,( BBDCABBDCADCBAf +++= DCADCADCBAf +=),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais )(),,,( AADCDCBAf += DCDCBAf =),,,( 2k minitermos adjacentes Simplificação no mapa de Karnaugh ∑= )12,8,4,0(),,,( mDCBAf DCDCBAf =),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 20 Simplificação de funções Definição Uma expressão soma de produtos de segunda ordem é MÍNIMA se não existe: nenhuma expressão equivalente envolvendo menos produtos; Nenhuma expressão equivalente envolvendo o mesmo ú d d t ú d lit i Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais número de produtos mas um número menor de literais Simplificação de funções Uma expressão soma de produtos de segunda ordem corresponde a um circuito lógico de d i í idois níveis: O primeiro nível com portas AND O segundo nível com uma porta OR DCACBADCBAf +=),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 21 Simplificação de funções Regra na utilização de mapas de Karnaugh Começar agrupando termos para os quais só existe ibilid d d bi ãuma possibilidade de combinação No exemplo abaixo o agrupamento pontilhado não faz parte da expressão mínima! ∑= )14,12,11,10,2,0(),,,( mDCBAf Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais CBADABDBADCBAf ++=),,,( Simplificação de funções Os minitermos que constituem o agrupamento pontilhado (m10 e m14) já fazem parte de i iagrupamentos essenciais Portanto o agrupamento pontilhado não deve ser considerado. Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais CBADABDBADCBAf ++=),,,( 22 Simplificação de funções O circuito lógico de dois níveis associado à expressão mínima de segunda ordem, está d b iapresentado abaixo: CBADABDBADCBAf ++=),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais Simplificação de funções Não devem ser considerados agrupamentos em que todos os seus minitermos já façam parte de i iagrupamentos essenciais: ∑= )15,13,12,11,7,6,5,1(),,,( mDCBAf ACDCABBCADCADCBAf +++=),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 23 Simplificação de funções Não devem ser considerados agrupamentos em que todos os seus minitermos já façam parte de i iagrupamentos essenciais: ∑= )15,14,13,12,7,6,5,1(),,,( mDCBAf Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais ABDADCBAf +=),,,( Simplificação x Circuito A expressão soma de produtos de segunda ordem mínima não está necessariamente i d i iassociada a um circuito que apresente o menor número de portas lógicas Exemplo ∑= )14,13,10,9,6,5(),,,( mDCBAf Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais DCBDBCDCADACDCBAf +++=),,,( 24 Simplificação x Circuito Circuito mínimo de segunda ordem na forma soma-de-produtos É É o circuito associado à expressão soma-de- produtos mínima de segunda ordem DCBDBCDCADACDCBAf +++=),,,( Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais Simplificação x Circuito ∑= )14,13,10,9,6,5(),,,( mDCBAf DCBDBCDCADACDCBAf +++=),,,( Outras alternativas (obtidas por simplificação booleana a partir da expressão acima) que não atendem à definição da expressão soma-de- produtos mínima de segunda ordem: Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais DCBADCBADCBAf )()(),,,( +++= ))((),,,( DCDCBADCBAf ++= 25 Simplificação x Circuito A expressão obtida pela simplificação booleana não está nem no formato soma-de- d !produtos! O circuito lógico equivalente tem menos portas lógicas que o circuito mínimo, mas apresenta três níveis de portas lógicas DCBADCBADCBAf )()(),,,( +++= Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais três níveis de portas lógicas Simplificação x Circuito Outra expressão obtida: ))((),,,( DCDCBADCBAf ++= O circuito lógico equivalente tem menos portas lógicas que o circuito mínimo e apresenta dois níveis de portas lógicas. No entanto, como o 1º nível apresenta portas OR e XOR, os retardos na saída serão diferenciados Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais na saída serão diferenciados. 26 Simplificação x Circuito A adoção de uma das soluções alternativas pode ser feita quando atrasos no sinal na saída maiores do que aqueles existentes no circuito mínimo de segunda ordem na forma soma-de-produtos são tolerados A exigência de um circuito contendo o menor número possível de portas for preponderante sobre i ê id i i d Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais a exigência de um circuito com tempo de resposta mínimo Decomposição de K-mapas A decomposição de mapas de Karnaugh exige uma visualização geométrica de sub-mapas e õ b l á i bas operações booleanas necessárias sobre os mesmos, de tal forma a produzir uma função lógica específica. Essa técnica pode eventualmente ser utilizada para se tentar obter circuitos com menos portas Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais para se tentar obter circuitos com menos portas do que os circuitos mínimos de segunda ordem na forma soma-de-produtos 27 Decomposição de K-mapas O último resultado do exemplo anterior poderia ser obtido por essa técnica: Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais ),,,( DCBAf = )( BA+ • )( DCDC + Mapa de Karnaugh de 5 variáveis ∑= )31,30,26,25,23,22,18,17,15,7(),,,,( mEDCBAf Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 28 Mapa de Karnaugh de 5 variáveis ∑= )31,30,26,25,23,22,18,17,15,7(),,,,( mEDCBAf Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais CDEEADEDCADCBAf ++=),,,( Mapa de Karnaugh de 6 variáveis CD CD B = 0 B = 1 ∑= )61,58,53,50,45,42,37,34,26,24,18,10,8,2(),,,,,( mFEDCBAf EF 01 11 1000 00 01 11 10 EF 01 11 1000 00 01 11 10 CD CD A = 0 Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais CD EF 01 11 1000 00 01 11 10 CD EF 01 11 1000 00 01 11 10 A = 1 29 Mapa de Karnaugh de 6 variáveis CD CD B = 0 B = 1 ∑= )61,58,53,50,45,42,37,34,26,24,18,10,8,2(),,,,,( mFEDCBAf 1 1 1 EF 01 11 1000 00 01 11 10 1 1 1 EF 01 11 1000 00 01 11 10 CD CD A = 0 Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 1 1 1 1 CD EF 01 11 1000 00 01 11 10 1 1 1 1 CD EF 01 11 1000 00 01 11 10 A = 1 Mapa de Karnaugh de 6 variáveis CD CD B = 0 B = 1 FDCAFEADFEDFEDCBAf ++=),,,,,( 1 1 1 EF 01 11 1000 00 01 11 10 1 1 1 EF 01 11 1000 00 01 11 10 CD CD A = 0 Capítulo 2 – Álgebra de BooleMárcio Brandão – CIC/UnB – Circuitos Digitais 1 1 1 1 CD EF 01 11 1000 00 01 11 10 1 1 1 1 CD EF 01 11 1000 00 01 11 10 A = 1
Compartilhar