Synthesizing multiple boolean functions using interpolation on a single proof

Georg Hofferek, Ashutosh Gupta, Bettina Könighofer, J. H. Jiang, R. Bloem
{"title":"Synthesizing multiple boolean functions using interpolation on a single proof","authors":"Georg Hofferek, Ashutosh Gupta, Bettina Könighofer, J. H. Jiang, R. Bloem","doi":"10.1109/FMCAD.2013.6679394","DOIUrl":null,"url":null,"abstract":"It is often difficult to correctly implement a Boolean controller for a complex system, especially when concurrency is involved. Yet, it may be easy to formally specify a controller. For instance, for a pipelined processor it suffices to state that the visible behavior of the pipelined system should be identical to a non-pipelined reference system (Burch-Dill paradigm). We present a novel procedure to efficiently synthesize multiple Boolean control signals from a specification given as a quantified first-order formula (with a specific quantifier structure). Our approach uses uninterpreted functions to abstract details of the design. We construct an unsatisfiable SMT formula from the given specification. Then, from just one proof of unsatisfiability, we use a variant of Craig interpolation to compute multiple coordinated interpolants that implement the Boolean control signals. Our method avoids iterative learning and back-substitution of the control functions. We applied our approach to synthesize a controller for a simple two-stage pipelined processor, and present first experimental results.","PeriodicalId":346097,"journal":{"name":"2013 Formal Methods in Computer-Aided Design","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-08-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"15","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 Formal Methods in Computer-Aided Design","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/FMCAD.2013.6679394","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 15

Abstract

It is often difficult to correctly implement a Boolean controller for a complex system, especially when concurrency is involved. Yet, it may be easy to formally specify a controller. For instance, for a pipelined processor it suffices to state that the visible behavior of the pipelined system should be identical to a non-pipelined reference system (Burch-Dill paradigm). We present a novel procedure to efficiently synthesize multiple Boolean control signals from a specification given as a quantified first-order formula (with a specific quantifier structure). Our approach uses uninterpreted functions to abstract details of the design. We construct an unsatisfiable SMT formula from the given specification. Then, from just one proof of unsatisfiability, we use a variant of Craig interpolation to compute multiple coordinated interpolants that implement the Boolean control signals. Our method avoids iterative learning and back-substitution of the control functions. We applied our approach to synthesize a controller for a simple two-stage pipelined processor, and present first experimental results.
在单一证明上使用插值合成多个布尔函数
对于一个复杂的系统,正确地实现布尔控制器通常是很困难的,特别是当涉及到并发时。然而,正式指定一个控制器可能很容易。例如,对于一个流水线化的处理器,只要声明流水线化系统的可见行为应该与非流水线化的参考系统(Burch-Dill范式)相同就足够了。我们提出了一种新的方法,可以有效地从一个量化的一阶公式(具有特定的量词结构)中合成多个布尔控制信号。我们的方法使用未解释的函数来抽象设计的细节。我们根据给定的规范构造了一个不满足的SMT公式。然后,从一个不满足性证明出发,我们使用克雷格插值的一种变体来计算实现布尔控制信号的多个协调插值。我们的方法避免了控制函数的迭代学习和反代换。我们应用我们的方法合成了一个简单的两级流水线处理器的控制器,并给出了第一个实验结果。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信