Satisfiability-Based Methods for Digital Circuit Design, Debug, and Optimization
Satisfiability-Based Methods for Digital Circuit Design, Debug, and Optimization
复制标题
基于可满足性的数字电路设计、调试和优化方法
DOI:
10.5075/epfl-thesis-8850
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
Andrew Becker
中科院分区:
文献类型:
--
作者:
Andrew Becker
Designing digital circuits well is notoriously difficult. This difficulty stems in part from the very many degrees of freedom inherent in circuit design, typically coupled with the need to satisfy various constraints. In this thesis, we demonstrate how formulations of satisfiability problems can be used automatically to complete a design, or to find a specific design architecture that satisfies certain constraints; how these can be used to create, debug, and optimize designs; and introduce a domain-specific language particularly well-suited for satisfiability-assisted design, debug, and optimization. In the first application, we show how explicit uncertainties called “holes” can both be natural to use and conducive to the creation of formal satisfiability problems useful for designing circuits. We further develop a Scala-hosted Domain Specific Language (DSL) with appropriate syntactic sugar to make design with holes easy and effective. We then show how, utilizing the same kind of satisfiability formulation, we can automatically instrument a given buggy design to replace suspicious syntax fragments with potentiallycorrect alternatives. The satisfiability solver then determines if there is any possible set of alternative fragments which fix the bug. We also demonstrate that this approach is reasonably scalable, in part because there is less need for a fully-precise specification in the formulation of the satisfiability problem. We then advance beyond mere hole-filling and show how a tight integration of design elaboration with satisfiability solvers allows totally new approaches. To point, we use this tight integration to create the first known methods to optimize Gate-Level Information Flow Tracking (GLIFT) model circuits and to make principled trade-offs in their precision. Finally, integrating all the previous work, we propose a more powerful DSL specifically designed to address the shortcomings of the first “hole-filling” language. This language, which we call Nasadiya, affords more general integrations of satisfiability into circuit design and optimization, and provides built-in modeling functionality useful for optimizing extra-functional properties like critical path delay and circuit area. We demonstrate the utility of these features by implementing an automatic power optimizer for a popular type of parallel prefix adders.
DOI:
10.1016/j.istr.2009.06.001
发表时间:
2009-05
期刊:
Inf. Secur. Tech. Rep.
影响因子:
--
作者:
K. Markantonakis;Michael Tunstall;G. Hancke;Ioannis G. Askoxylakis;K. Mayes
通讯作者:
K. Markantonakis;Michael Tunstall;G. Hancke;Ioannis G. Askoxylakis;K. Mayes