Synthesis for Unbounded Bit-Vector Arithmetic
We propose to describe computations using QFPAbit, a language of quantifier-free linear arithmetic on unbounded integers with bitvector operations. We describe an algorithm that, given a QFPAbit formula with input and output variables denoting integers, generates an efficient function from a sequence of inputs to a sequence of outputs, whenever such function on integers exists. The starting point for our method is a polynomial-time translation mapping a QFPAbit formula into the sequential circuit that checks the correctness of the input/output relation. From such a circuit, our synthesis algorithm produces solved circuits from inputs to outputs that are no more than singly exponential in size of the original formula. In addition to the general synthesis algorithm, we present techniques that ensure that, for example, multiplication and division with large constants do not lead to an exponential blowup, addressing a practical problem with a previous approach that used the MONA tool to generate the specification automata.
KeywordsClock Cycle Clock Pulse Sequential Circuit Combinational Circuit Linear Arithmetic
Unable to display preview. Download preview PDF.
- 3.Gupta, A.: Inductive Boolean Function Manipulation: A Hardware Verification Methodology for Automatic Induction. PhD thesis, CMU (1994)Google Scholar
- 4.Hamza, J., Jobstmann, B., Kuncak, V.: Synthesis for regular specifications over unbounded domains. In: Formal Methods in Computer-Aided Design (FMCAD), pp. 101–109. IEEE (2010)Google Scholar
- 5.Jobstmann, B., Bloem, R.: Optimizations for LTL synthesis. In: FMCAD (2006)Google Scholar
- 7.Kuncak, V., Mayer, M., Piskac, R., Suter, P.: Complete functional synthesis. In: ACM SIGPLAN Conf. Programming Language Design and Implementation, PLDI (2010)Google Scholar
- 8.Rabin, M.: Automata on infinite objects and Church’s problem. Regional Conference Series in Mathematics, vol. 13. American Mathematical Society (1972)Google Scholar
- 10.Spielmann, A., Kuncak, V.: On synthesis for unbounded bit-vector arithmetic. Technical Report EPFL-REPORT-174801, EPFL (2012)Google Scholar
- 11.Srivastava, S., Gulwani, S., Foster, J.S.: From program verification to program synthesis. In: POPL (2010)Google Scholar