The automated synthesis of correct-by-construction Boolean functions from logical specifications is known as the Boolean Functional Synthesis (BFS) problem. BFS has many application areas that range from software engineering to circuit design. In this paper, we introduce a tool BNSynth, that is the first to solve the BFS problem under a given bound on the solution space. Bounding the solution space induces the synthesis of smaller functions that benefit resource constrained areas such as circuit design. BNSynth uses a counter-example guided, neural approach to solve the bounded BFS problem. Initial results show promise in synthesizing smaller solutions; we observe at least \textbf{3.2X} (and up to \textbf{24X}) improvement in the reduction of solution size on average, as compared to state of the art tools on our benchmarks. BNSynth is available on GitHub under an open source license.
翻译:逻辑规格中正确构建布林函数的自动合成被称为布尔功能合成(BFS)问题。 BFS有许多应用领域,从软件工程到电路设计。 在本文中,我们引入了一个工具 BNSynth, 这是第一个在解决方案空间的给定约束下解决 BFS 问题的工具。 利用解决方案空间将小功能合成, 使电路设计等资源受限地区受益。 BNSynth 使用反示例制导神经方法解决受约束的布林功能合成问题。 初步结果显示, 整合较小的解决方案很有希望; 我们观察到至少\ textbf{3.2X} (以及到\ textbf{24X}) 与我们基准中的艺术工具状况相比, 平均在解决方案规模的缩小方面有所改进。 BNSynth 可以在 GitHub 上使用开放源许可证 。