Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Implicantes primos, Notas de estudo de Engenharia de Telecomunicações

contextualização implicantes primos.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 08/10/2009

teo-pires-marques-5
teo-pires-marques-5 🇧🇷

4.2

(5)

20 documentos

1 / 7

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
UNIVERSIDADE ESTÁCIO DE SÁ
FACULDADE DE ENGENHARIA
CURSO DE ENGENHARIA ELÉTRICA
CAMPUS PRAÇA XI
Sistemas Digitais
Implicantes Primos
09 de Outubro de 2009
Disciplina: sistemas Digitais,
Curso: Engenharia Elétrica da UNESA,
Orientação do Docente Jadson.
Aluno: Teo Pires Marques Matrícula: 200602116859
Aluno: Bruno T. M. Sampaio Matrícula: 200501146541
Aluno: Erivaldo G. de Oliveira Matrícula: 200301218599
ÍNDICE
1.Introdução 3
2.Teorema de expansão de Shannon 4
2.1. Algoritmo para geração de implicantes primos............................5
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Implicantes primos e outras Notas de estudo em PDF para Engenharia de Telecomunicações, somente na Docsity!

UNIVERSIDADE ESTÁCIO DE SÁ

FACULDADE DE ENGENHARIA

CURSO DE ENGENHARIA ELÉTRICA

CAMPUS PRAÇA XI

Sistemas Digitais

Implicantes Primos

09 de Outubro de 2009

Disciplina: sistemas Digitais,

Curso: Engenharia Elétrica da UNESA,

Orientação do Docente Jadson.

Aluno: Teo Pires Marques Matrícula: 200602116859

Aluno: Bruno T. M. Sampaio Matrícula: 200501146541

Aluno: Erivaldo G. de Oliveira Matrícula: 200301218599

ÍNDICE

1.Introdução 3

2.Teorema de expansão de Shannon 4

2.1. Algoritmo para geração de implicantes primos............................

3.Método de Quine-MacCluskey 8

4.Bibliografia 9

1- INTRODUÇÃO

A simplificação de funções booleanas é parte essencial na redução dos custos da realização de circuitos lógicos e aritméticos binários. Muitos dos algoritmos de minimização foram baseados nas idéias de Quine e McCluskey

Na primeira restrição tem-se a soma dos implicantes primos que cobrem o mintermo 0. Na segunda restrição a soma dos implicantes primos que cobrem o mintermo 1 e na terceira restrição os que cobrem o mintermo 5. Pode-se verificar que todos os mintermos estão contidos na cobertura da função e correspondem às restrições no problema de cobertura. A solução desse problema matemático é dado por F1(ABC) = 0X0 + X01, cujo custo é igual a 6.

2- Teorema de Expansão de Shannon

A geração de implicantes primos pelo Método de Expansão de Shannon é uma técnica iterativa, que permite obter implicantes primos de uma dada função booleana através de simples operações sobre o conjunto de mintermos e/ou estados irrelevantes que descreve a função. Tal método pode ser empregado em funções com um grande número de variáveis. Todos, ou quase todos os implicantes primos que não estariam no conjunto solução são eliminados, simplificando, desse modo, a busca pela solução mínima. O teorema diz que qualquer função booleana f(x1,x2, ... ,xn) pode ser expressa por: f(x1,x2, ... ,xn) = x1. f(1,x2, ... ,xn) + x’1. f(0,x2, ... ,xn). Este teorema pode ser provado por indução perfeita, ou seja, fazendo x1 assumir o valor “1” tem-se, consequentemente, x’1 assumindo valor lógico “0”. Dessa forma, tem-se a expressão: f(x1,x2, ... ,xn) = 1. f(1,x2, ... ,xn). De modo similar, substituindo-se x1 = “0” e x’1 = “1” a equação também será reduzida a uma identidade, provando, desse modo, o teorema. Se o teorema for novamente aplicado em relação à variável x2, em cada um dos dois termos obtidos em relação à variável x1, obtém-se a seguinte expressão: f(x1,x2, ... ,xn) = x1x2. f(1,1,x3, ... ,xn) + x1x’2. f(1,0,x3, ... ,xn) + x’1x2. f(0,1,x3, ... ,xn) + x’1x’2. f(0,0,x3, ... ,xn). A expressão da função f(x1,x2, ... ,xn) sobre o restante das variáveis produz uma forma normal disjuntiva (soma de produto). De maneira similar, a aplicação repetida do dual do Teorema de Expansão sobre as mesmas variáveis produz a forma normal conjuntiva (produto de soma). Em termos práticos, a maneira mais rápida e simples para se obter a forma soma de produto canônica de uma função booleana é resumida a seguir:

  • Examine cada termo. Se é um mintermo, mantenha-o, e continue a examinar os outros termos;
  • Em cada termo produto que não é um mintermo, verifique qual a variável que está faltando. Para cada xi que está faltando multiplique o produto por (xi + xi’);
  • Multiplique todos os produtos e elimine os termos redundantes. Do exposto pode-se concluir que a forma soma de produto canônica de qualquer função booleana é única. Essa afirmação pode ser provada assumindo que existem duas diferentes formas de soma de produto que representam uma função booleana F. Desde que se assume que as formas são diferentes, elas devem diferir em pelo menos um dos mintermos, isto é, deve existir no mínimo um conjunto de valores para as variáveis x1,x2, ... ,xn, de modo que uma das formas canônicas resulta em f(x1,x2, ... ,xn) = 0 , enquanto a outra forma produz f(x1,x2, ... ,xn) = 1, resultado este que contradiz a suposição de que ambas as formas canônicas representam a mesma função.

2.1- ALGORITMO PARA GERAÇÃO DE IMPLICANTES PRIMOS ATRAVÉS DO MÉTODO DE

EXPANSÃO DE SHANNON

O Algoritmo para a obtenção dos implicantes primos de uma função booleana utilizando- se do Teorema de Expansão de Shannon foi inicialmente estudado por Scheinman [6]. Trata-se de um método manual e iterativo e de difícil entendimento. A partir dos estudos de Scheinman deu-se ao método uma abordagem através da mais avançada técnica de programação estruturada, e nas estruturas de dados utilizadas empregou-se somente apontadores e alocação dinâmica de memória.

A estrutura de dados obtida é de extrema complexidade e de difícil programação, porém, o algoritmo desenvolvido utiliza somente duas operações aritméticas, a subtração e a potenciação, e uma operação lógica, a igualdade. O algoritmo implementado será ilustrado, para maior clareza, utilizando-se como exemplo a função de 4 variáveis, F2(ABCD) = Σm(1,5,6,8,11,12,15) + d(0,3). Os passos do algoritmo são os seguintes:

Passo 1: Ordene em um coluna, de forma crescente, as representações decimais dos mintermos e dos estados irrelevantes. O estados irrelevantes devem conter uma marca e são utilizados para obter implicantes primos de dimensões maiores. Considera-se dimensão de um implicante a quantidade de variáveis irrelevantes que eles possuem. Quanto menor a quantidade de varáveis (literais), na forma negada ou não, que um implicante possuir, maior será a sua dimensão. Essa primeira coluna é considerada, no algoritmo proposto, como sendo o nó raiz. A Figura 2 apresenta o nó raiz para a função F2.

PRIMEIRO PASSO DO ALGORITMO.

Note que os estados irrelevantes contêm uma marca.

Passo 2: Divida o conjunto de termos formado no passo anterior em dois outros grupos de colunas, um rotulado com uma literal ( A, por exemplo) e o outro com a mesma literal na forma negada (A’, por exemplo). Considerou-se as variáveis ordenadas como ABCD, sendo que os pesos são respectivamente 23, 22, 21 e 20. Dessa forma, a variável A é a de maior peso (peso 8). A coluna A’ contém os termos (mintermos e irrelevantes) da função original, cuja representação decimal é menor do que 8 (peso da variável A). A coluna A contém os termos da função original, cuja representação decimal é maior ou igual a 8, sendo que de cada um desses números é subtraído o valor 8, valor correspondente à variável A que está sendo expandida. A Figura 3 apresenta o nó raiz subdividido em duas outras colunas.

SEGUNDO PASSO DO ALGORITMO.

Passo 3: Crie uma terceira coluna com o rótulo X. Essa coluna indicará a redundância entre A e A’. Nesta coluna, têm-se as representações decimais que são comuns tanto da coluna A como da coluna A’. Esses decimais comuns às colunas A e A’ devem ser marcados nas respectivas colunas para indicar que são termos redundantes em relação à variável A. Se algum decimal contido na coluna X foi anteriormente marcado em ambas as colunas, A e A’, eles também devem ser marcados na coluna X. A Figura 4 apresenta o diagrama de decisão contendo a terceira coluna, as dos termos irrelevantes para a variável sob expansão.

FIGURA. 4

TERCEIRO PASSO DO ALGORITMO.

com os obtidos com o tradicional Método de Quine-Mc Cluskey. Escolheu-se o Método de Quine-McCluskey pois na primeira fase do método, a geração de implicantes, todos os implicantes primos são gerados. Os parâmetros utilizados para a comparação foram a quantidade de memória utilizada, o tempo de execução e a quantidade de implicantes primos gerados. A Figura 6 apresenta a quantidade de memória utilizada pelo Expander subtraída da quantidade de memória utilizada pelo Quine-McCluskey. O Sinal (-) foi utilizado somente para indicar que na grande maioria dos casos o Expander utilizou menos memória.

Passo 4: Examine cada uma das colunas geradas. Se alguma coluna contém somente decimais marcados, toda a coluna deve ser eliminada, pois todos os seus termos estão contidos nas outras colunas; Passo 5: Cada uma das colunas criadas no passo 3 devem ser novamente expandidas em relação à variável B, e repete-se os passos 2, 3 e 4. Se um decimal da coluna B for

4- Bibiografia

[1] Shannon, C. E. “The synthesis of two-terminal switching circuits”, Bell Sys. Tech. J., 1948.

[2] Quine, W., “The Problem of Simplifying Truth Functions”, American Mathematical Monthly, Vol. 59, pp. 521-531, 1952.

[3] Mccluskey, E., “Minimization of Boolean Function”, The Bell System Technical Journal, Vol. 35, pp. 1417-1444, November, 1956.

[4] McCluskey E. J., Logic Design Principles, Prentice Hall, N.J., 1986.

[5] Silva, A.C.R., Contribuição à Síntese de Circuitos Digitais Utilizando Programação Linear Inteira 0 e 1, Tese de Doutorado, UNICAMP, 1993. 2004 WCETE March 14 - 17, 2004, São Paulo, BRAZIL World Congress on Engineering and Technology Education.