1 / 11

Project Characterization

FPGA Based SAT Solver. Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM. Project Characterization. Started at: Winter 2012 Duration: Semester. What is sat. Boolean Satisfiability Problem

ull
Download Presentation

Project Characterization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FPGA Based SAT Solver Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM Project Characterization Started at: Winter 2012 Duration: Semester

  2. What is sat • Boolean Satisfiability Problem • Given a Boolean propositional formula, does there exist assignment of values such that the formula becomes true? • e.g., given the formula f=(x1 ˅x2 ˅-x4) ˄ (x4) ˄ (x2 ˅ -x3) are there values of x1,x2,x3,x4 that produce f=‘1’

  3. cnf • Conjunctive Normal Form • In Boolean Logic, a formula is in CNF if it presented as a conjunction of clauses. • e.g., DIMACS CNF format: c Example CNF format file c p cnf 4 3 1 3 -4 0 4 0 2 -3 0

  4. Description • Hardware based SAT Solver • Implementing DIMACS cnf instances into FPGA

  5. Project Goals

  6. CNF to vhdl example Example.vhdl Example.cnf c Example CNF format filec p cnf 4 31 3 -4 04 02 -3 0 entity SAT is port( x1,x2,x3,x4: in std_logic; F: out std_logic ); end OR_ent; architecture SAT_arc of SAT is begin F <= (x1 or x3 or (not x4) and (x4) and (x2 or (not x3)); end SAT_arc;

  7. Software Environment

  8. Technology • LUT Logic Elements • LUT is a function generator that can implement any function of four variables. • Each clause will be implemented on one LUT therefor we 4000 clauses occupy 8000 LUTs (=LEs) • Random Generator (32 Bit output) • Seed * Constant + Constant • Each variable will receive a random bit, therefor 500 variables 64 x 16 = 1024 LUTs (=LEs)

  9. Technical Overview

  10. Flow diagram Programmable File Circuit Description as VHDL CNF Instances Synthesis Conversion Device Programmer FPGA Running SAT Solver PC DE2 Analysis and Timing Report

  11. Gantt chart

More Related