Síntese LógicaComposição Funcional
Referências
Fatoração Booleana UtilizandoComposição Funcional
Jody Maick A. de Matos1
Prof. André I. Reis1
1Universidade Federal do Rio Grande do SulInstituto de Informática
Programa de Pós-graduação em Microeletrô[email protected]
Porto Alegre, 2013
J. M. A. Matos Fatoração Booleana com Composição Funcional 1 / 25
Síntese LógicaComposição Funcional
Referências
Roteiro
1 Síntese LógicaContextualização
2 Composição FuncionalBaselineHeurística
3 Referências
J. M. A. Matos Fatoração Booleana com Composição Funcional 2 / 25
Síntese LógicaComposição Funcional
Referências
Créditos
Todo o material utilizado nessa apresentação, bem como oalgoritmo apresentado, têm como base os artigos científicos (esuas respectivas apresentações em conferências) listados nasreferê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
Síntese LógicaComposição Funcional
ReferênciasContextualização
Roteiro
1 Síntese LógicaContextualização
2 Composição FuncionalBaselineHeurística
3 Referências
J. M. A. Matos Fatoração Booleana com Composição Funcional 4 / 25
Síntese LógicaComposição Funcional
ReferênciasContextualização
Síntese Lógica
Usualmente realizada em dois passosSíntese independente de tecnologiaSíntese dependente de tecnologia
Síntese independente de tecnologiaOtimizações no nível lógico
Síntese dependente de tecnologiaMapear uma abstração lógica para um abstração física
J. M. A. Matos Fatoração Booleana com Composição Funcional 5 / 25
Síntese LógicaComposição Funcional
ReferênciasContextualização
Síntese LógicaSí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
Síntese LógicaComposição Funcional
ReferênciasContextualização
Síntese LógicaSí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 1Menor associação de transistores em paralelo: Eq 3
J. M. A. Matos Fatoração Booleana com Composição Funcional 7 / 25
Síntese LógicaComposição Funcional
ReferênciasContextualização
Síntese LógicaSí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 1Menor associação de transistores em paralelo: Eq 3
J. M. A. Matos Fatoração Booleana com Composição Funcional 7 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Roteiro
1 Síntese LógicaContextualização
2 Composição FuncionalBaselineHeurística
3 Referências
J. M. A. Matos Fatoração Booleana com Composição Funcional 8 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalBaseline
Enumerar todas as funções com 1 literal: a, a, b, b, c, c, ...
J. M. A. Matos Fatoração Booleana com Composição Funcional 9 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalBaseline
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
J. M. A. Matos Fatoração Booleana com Composição Funcional 10 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalBaseline
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 literaisContinuar combinando até que a função objetivo sejaencontrada
J. M. A. Matos Fatoração Booleana com Composição Funcional 11 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalBaseline
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 literaisContinuar combinando até que a função objetivo sejaencontrada
J. M. A. Matos Fatoração Booleana com Composição Funcional 12 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalBaseline
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 literaisContinuar combinando até que a função objetivo sejaencontrada
J. M. A. Matos Fatoração Booleana com Composição Funcional 13 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalBaseline
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 literaisContinuar combinando até que a função objetivo sejaencontrada
J. M. A. Matos Fatoração Booleana com Composição Funcional 14 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalBaseline
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 literaisContinuar combinando até que a função objetivo sejaencontrada
J. M. A. Matos Fatoração Booleana com Composição Funcional 15 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalBaseline
Qual(is) o(s) problema(s)com esse algoritmo?
Estoura no tempo...Estoura em memória... (no funções = 22n)
J. M. A. Matos Fatoração Booleana com Composição Funcional 16 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalBaseline
Qual(is) o(s) problema(s)com esse algoritmo?
Estoura no tempo...
Estoura em memória... (no funções = 22n)
J. M. A. Matos Fatoração Booleana com Composição Funcional 16 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalBaseline
Qual(is) o(s) problema(s)com esse algoritmo?
Estoura no tempo...Estoura em memória... (no funções = 22n)
J. M. A. Matos Fatoração Booleana com Composição Funcional 16 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalHeurística
Realizar as combinações de forma rápidaConcatenação de stringsOperaçõ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
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalFunções Permitidas
Função alvo: f = (a + b) · (c + a · d)
Co-fatores Cubo co-fatoresf|a=1| = c f|a=0,b=1| = c + d
f|a=0| = b(c + d) f|a=0,c=1| = bf|b=1| = c + ad f|a=0,c=0| = bd
f|b=0| = ac f|a=0,d=0| = bcf|c=1| = a + b f|b=1,c=0| = adf|c=0| = abd f|b=0,c=1| = a
f|d=1| = (a + b)(c + a) f|c=0,d=1| = abf|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
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalExemplo
J. M. A. Matos Fatoração Booleana com Composição Funcional 19 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalExemplo
J. M. A. Matos Fatoração Booleana com Composição Funcional 20 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalExemplo
J. M. A. Matos Fatoração Booleana com Composição Funcional 21 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalExemplo
J. M. A. Matos Fatoração Booleana com Composição Funcional 22 / 25
Síntese LógicaComposição Funcional
ReferênciasBaselineHeurística
Composição FuncionalExemplo
J. M. A. Matos Fatoração Booleana com Composição Funcional 23 / 25
Síntese LógicaComposição Funcional
Referências
Roteiro
1 Síntese LógicaContextualização
2 Composição FuncionalBaselineHeurística
3 Referências
J. M. A. Matos Fatoração Booleana com Composição Funcional 24 / 25
Síntese LógicaComposição Funcional
Referências
FIGUEIRO, T.; RIBAS, R.; REIS, A. Functional compositionapplied to aig constructive optimization. In: South BrazilSimposium on Microelectronics. [S.l.: s.n.], 2010.
MARTINS, M. et al. Functional composition paradigm andapplications. In: Proceedings of the International Workshop onLogic 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: Anew paradigm for performing logic synthesis. In: QualityElectronic Design (ISQED), 2012 13th International Symposiumon. [S.l.: s.n.], 2012. p. 236–242. ISSN 1948-3287.
MARTINS, M. et al. Boolean factoring with multi-objectivegoals. In: Computer Design (ICCD), 2010 IEEE InternationalConference 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
Síntese LógicaComposição Funcional
Referências
REIS, A. et al. Fast boolean factoring with multi-objectivegoals. In: Proceedings of the International Workshop on Logicand 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
Síntese LógicaComposição Funcional
Referências
Obrigado!Mais um pouco sobre o assunto:inf.ufrgs.br/~jmamatos/doku.php/downloads:mic63Baixe essa apresentação: slideshare.net/JodyMatos
J. M. A. Matos Fatoração Booleana com Composição Funcional 25 / 25
Top Related