O documento apresenta um método de fatoração booleana utilizando composição funcional. Primeiro, contextualiza a síntese lógica e introduz a composição funcional. Em seguida, descreve o algoritmo baseline de enumeração completa e suas limitações de tempo e memória. Por fim, propõe uma heurística que realiza combinações de forma rápida através de concatenação de strings e operações bitwise para superar tais limitações.
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
FC-Boolean-factoring
1. Síntese Lógica
Composição Funcional
Referências
Fatoração Booleana Utilizando
Composição Funcional
Jody Maick A. de Matos1
Prof. André I. Reis1
1Universidade Federal do Rio Grande do Sul
Instituto de Informática
Programa de Pós-graduação em Microeletrônica
jody.matos@inf.ufrgs.br
Porto Alegre, 2013
J. M. A. Matos Fatoração Booleana com Composição Funcional 1 / 25
3. Síntese Lógica
Composição Funcional
Referências
Créditos
Todo o material utilizado nessa apresentação, bem como o
algoritmo apresentado, têm como base os artigos científicos (e
suas respectivas apresentações em conferências) listados nas
referências: [Reis et al. 2009, Figueiro, Ribas e Reis 2010,
Martins et al. 2010, Martins et al. 2012,
Martins, Ribas e Reis 2012].
J. M. A. Matos Fatoração Booleana com Composição Funcional 3 / 25
5. Síntese Lógica
Composição Funcional
Referências
Contextualização
Síntese Lógica
Usualmente realizada em dois passos
Síntese independente de tecnologia
Síntese dependente de tecnologia
Síntese independente de tecnologia
Otimizações no nível lógico
Síntese dependente de tecnologia
Mapear uma abstração lógica para um abstração física
J. M. A. Matos Fatoração Booleana com Composição Funcional 5 / 25
6. Síntese Lógica
Composição Funcional
Referências
Contextualização
Síntese Lógica
Síntese dependente de tecnologia
Fatoração:
Eq# Equação L
(1) f = b · (d + c) + (a + d + c) · (a + b · c) 9
(2) f = c · (b + a) + c · (a · d + (d + b) · (b + a)) 10
(3) f = (c + b + a) · (c + a · d + (d + b) · (b + a)) 10
(4) f = b · (d + c + a) + b · (c + a) · (a + d + c) 10
J. M. A. Matos Fatoração Booleana com Composição Funcional 6 / 25
7. Síntese Lógica
Composição Funcional
Referências
Contextualização
Síntese Lógica
Síntese dependente de tecnologia
E se quisermos inserir outros custos?
Eq# Equação L S P
(1) f = b · (d + c) + (a + d + c) · (a + b · c) 9 3 5
(2) f = c · (b + a) + c · (a · d + (d + b) · (b + a)) 10 3 5
(3) f = (c + b + a) · (c + a · d + (d + b) · (b + a)) 10 3 4
(4) f = b · (d + c + a) + b · (c + a) · (a + d + c) 10 3 6
J. M. A. Matos Fatoração Booleana com Composição Funcional 7 / 25
8. Síntese Lógica
Composição Funcional
Referências
Contextualização
Síntese Lógica
Síntese dependente de tecnologia
E se quisermos inserir outros custos?
Eq# Equação L S P
(1) f = b · (d + c) + (a + d + c) · (a + b · c) 9 3 5
(2) f = c · (b + a) + c · (a · d + (d + b) · (b + a)) 10 3 5
(3) f = (c + b + a) · (c + a · d + (d + b) · (b + a)) 10 3 4
(4) f = b · (d + c + a) + b · (c + a) · (a + d + c) 10 3 6
Menor número de literais: Eq 1
Menor associação de transistores em paralelo: Eq 3
J. M. A. Matos Fatoração Booleana com Composição Funcional 7 / 25
12. Síntese Lógica
Composição Funcional
Referências
Baseline
Heurística
Composição Funcional
Baseline
Enumerar todas as funções com 1 literal: a, a, b, b, c, c, ...
Combinar as funções de 1 literal para obter as de 2 literais
Continuar combinando até que a função objetivo seja
encontrada
J. M. A. Matos Fatoração Booleana com Composição Funcional 11 / 25
13. Síntese Lógica
Composição Funcional
Referências
Baseline
Heurística
Composição Funcional
Baseline
Enumerar todas as funções com 1 literal: a, a, b, b, c, c, ...
Combinar as funções de 1 literal para obter as de 2 literais
Continuar combinando até que a função objetivo seja
encontrada
J. M. A. Matos Fatoração Booleana com Composição Funcional 12 / 25
14. Síntese Lógica
Composição Funcional
Referências
Baseline
Heurística
Composição Funcional
Baseline
Enumerar todas as funções com 1 literal: a, a, b, b, c, c, ...
Combinar as funções de 1 literal para obter as de 2 literais
Continuar combinando até que a função objetivo seja
encontrada
J. M. A. Matos Fatoração Booleana com Composição Funcional 13 / 25
15. Síntese Lógica
Composição Funcional
Referências
Baseline
Heurística
Composição Funcional
Baseline
Enumerar todas as funções com 1 literal: a, a, b, b, c, c, ...
Combinar as funções de 1 literal para obter as de 2 literais
Continuar combinando até que a função objetivo seja
encontrada
J. M. A. Matos Fatoração Booleana com Composição Funcional 14 / 25
16. Síntese Lógica
Composição Funcional
Referências
Baseline
Heurística
Composição Funcional
Baseline
Enumerar todas as funções com 1 literal: a, a, b, b, c, c, ...
Combinar as funções de 1 literal para obter as de 2 literais
Continuar combinando até que a função objetivo seja
encontrada
J. M. A. Matos Fatoração Booleana com Composição Funcional 15 / 25
20. Síntese Lógica
Composição Funcional
Referências
Baseline
Heurística
Composição Funcional
Heurística
Realizar as combinações de forma rápida
Concatenação de strings
Operações bitwise
Estrutura bonded-pairs
<função/implementação>
<bit bector/string>
J. M. A. Matos Fatoração Booleana com Composição Funcional 17 / 25
21. Síntese Lógica
Composição Funcional
Referências
Baseline
Heurística
Composição Funcional
Funções Permitidas
Função alvo: f = (a + b) · (c + a · d)
Co-fatores Cubo co-fatores
f|a=1| = c f|a=0,b=1| = c + d
f|a=0| = b(c + d) f|a=0,c=1| = b
f|b=1| = c + ad f|a=0,c=0| = bd
f|b=0| = ac f|a=0,d=0| = bc
f|c=1| = a + b f|b=1,c=0| = ad
f|c=0| = abd f|b=0,c=1| = a
f|d=1| = (a + b)(c + a) f|c=0,d=1| = ab
f|d=0| = c(a + b) f|a=0,b=1,c=0| = d
—— f|b=1,c=1,d=1| = a
—— f|b=1,d=1| = c + a
J. M. A. Matos Fatoração Booleana com Composição Funcional 18 / 25
28. Síntese Lógica
Composição Funcional
Referências
FIGUEIRO, T.; RIBAS, R.; REIS, A. Functional composition
applied to aig constructive optimization. In: South Brazil
Simposium on Microelectronics. [S.l.: s.n.], 2010.
MARTINS, M. et al. Functional composition paradigm and
applications. In: Proceedings of the International Workshop on
Logic and Synthesis 2012. Berkeley, CA, USA: [s.n.], 2012.
(IWLS ’12). Acesso em: 04 Jul. de 2012.
MARTINS, M.; RIBAS, R.; REIS, A. Functional composition: A
new paradigm for performing logic synthesis. In: Quality
Electronic Design (ISQED), 2012 13th International Symposium
on. [S.l.: s.n.], 2012. p. 236–242. ISSN 1948-3287.
MARTINS, M. et al. Boolean factoring with multi-objective
goals. In: Computer Design (ICCD), 2010 IEEE International
Conference on. [S.l.: s.n.], 2010. p. 229–234. ISSN 1063-6404.
J. M. A. Matos Fatoração Booleana com Composição Funcional 24 / 25
29. Síntese Lógica
Composição Funcional
Referências
REIS, A. et al. Fast boolean factoring with multi-objective
goals. In: Proceedings of the International Workshop on Logic
and Synthesis 2009. Berkeley, CA, USA: [s.n.], 2009. (IWLS
’09). Disponível em:
<http://inf.ufrgs.br/logics/docman/conf_2009_iwls_andre.pdf>.
Acesso em: 04 Jul. de 2012.
J. M. A. Matos Fatoração Booleana com Composição Funcional 25 / 25