Towards Completely Automatic Decoder Synthesis Hsiou-Yuan Liu, Yen-Cheng Chou, Chen- Hsuan Lin, and Jie-Hong Roland Jiang ALCom Lab EE Dept/ Grad. Inst.

Slides:



Advertisements
Similar presentations
The Synthesis of Cyclic Circuits with SAT and Interpolation By John Backes and Marc Riedel ECE University of Minnesota.
Advertisements

Jose-Luis Blanco, Javier González, Juan-Antonio Fernández-Madrigal University of Málaga (Spain) Dpt. of System Engineering and Automation May Pasadena,
A Graph-Partitioning-Based Approach for Multi-Layer Constrained Via Minimization Yih-Chih Chou and Youn-Long Lin Department of Computer Science, Tsing.
Cook’s Theorem The Foundation of NP-Completeness.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
The Analysis of Cyclic Circuits with Boolean Satisfiability John Backes, Brian Fett, and Marc Riedel Electrical Engineering, University of Minnesota.
Reduction of Interpolants for Logic Synthesis John Backes Marc Riedel University of Minnesota Dept.
An Optimal Algorithm of Adjustable Delay Buffer Insertion for Solving Clock Skew Variation Problem Juyeon Kim, Deokjin Joo, Taehan Kim DAC’13.
Using Statically Computed Invariants Inside the Predicate Abstraction and Refinement Loop Himanshu Jain Franjo Ivančić Aarti Gupta Ilya Shlyakhter Chao.
Convertibility Verification and Converter Synthesis: Two Faces of the Same Coin Jie-Hong Jiang EE249 Discussion 11/21/2002 Passerone et al., ICCAD ’ 02.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
CS 302: Discrete Math II A Review. An alphabet Σ is a finite set (e.g., Σ = {0,1}) A string over Σ is a finite-length sequence of elements of Σ For x.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Solving Partial Order Constraints for LPO termination.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Bounded Model Checking EECS 290A Sequential Logic Synthesis and Verification.
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Formal Verification Group © Copyright IBM Corporation 2008 IBM Haifa Labs SAT-based unbounded model checking using interpolation Based on a paper “Interpolation.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
Model Checking Lecture 5. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Formal Verification of SpecC Programs using Predicate Abstraction Himanshu Jain Daniel Kroening Edmund Clarke Carnegie Mellon University.
AUTOMATIC CONCOLIC TEST GENERATION WITH VIRTUAL PROTOTYPES FOR POST-SILICON VALIDATION Reviewer: Shin-Yann Ho Instructor: Jie-Hong Jiang.
Functional Timing Analysis Made Fast and General Presenter: Yi-Ting Chung Advisor: Jie-Hong Roland Jiang 03/09/2012 Graduate Institute of Electronics Engineering,
June 10, Functionally Linear Decomposition and Synthesis of Logic Circuits for FPGAs Tomasz S. Czajkowski and Stephen D. Brown University of Toronto.
Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
Can Cloud Computing be Used for Planning? An Initial Study Authors: Qiang Lu*, You Xu†, Ruoyun Huang†, Yixin Chen† and Guoliang Chen* from *University.
Mining High Utility Itemset in Big Data
The Fast Optimal Voltage Partitioning Algorithm For Peak Power Density Minimization Jia Wang, Shiyan Hu Department of Electrical and Computer Engineering.
Combinational and Sequential Mapping with Priority Cuts Alan Mishchenko Sungmin Cho Satrajit Chatterjee Robert Brayton UC Berkeley.
1. Placement of Digital Microfluidic Biochips Using the T-tree Formulation Ping-Hung Yuh 1, Chia-Lin Yang 1, and Yao-Wen Chang 2 1 Dept. of Computer Science.
1 Efficient Obstacle-Avoiding Rectilinear Steiner Tree Construction Chung-Wei Lin, Szu-Yu Chen, Chi-Feng Li, Yao-Wen Chang, Chia-Lin Yang National Taiwan.
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
Zhuo Peng, Chaokun Wang, Lu Han, Jingchao Hao and Yiyuan Ba Proceedings of the Third International Conference on Emerging Databases, Incheon, Korea (August.
The Scientific Method. The Basic Steps l State the problem l Form a hypothesis l Test the hypothesis l Draw conclusions.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Non-stitch Triple Patterning- Aware Routing Based on Conflict Graph Pre-coloring Po-Ya Hsu Yao-Wen Chang.
Mihir Choudhury, Kartik Mohanram (ICCAD’10 best paper nominee) Presentor: ABert Liu.
Planning as Satisfiability (SAT-Plan). SAT-Plan Translate the planning problem into a satisfiability problem for length n of Plan garb 0 (proposition)present.
Properties Incompleteness Evaluation by Functional Verification IEEE TRANSACTIONS ON COMPUTERS, VOL. 56, NO. 4, APRIL
Preprocessing in Incremental SAT Alexander Nadel 1, Vadim Ryvchin 1,2, and Ofer Strichman 2 1 – Intel, Haifa, Israel 2 – Technion, Haifa, Israel SAT’12,
SAT-Based Model Checking Without Unrolling Aaron R. Bradley.
1 On the Channel Capacity of Wireless Fading Channels C. D. Charalambous and S. Z. Denic School of Information Technology and Engineering, University of.
Generalized Point Based Value Iteration for Interactive POMDPs Prashant Doshi Dept. of Computer Science and AI Institute University of Georgia
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
SAT Encodings for Sudoku Bug Catching in 2006 Fall Sep. 26, 2006 Gi-Hwon Kwon.
TU/e Algorithms (2IL15) – Lecture 9 1 NP-Completeness NOT AND OR AND NOT AND.
1 Alan Mishchenko Research Update June-September 2008.
Incremental Reduced Support Vector Machines Yuh-Jye Lee, Hung-Yi Lo and Su-Yun Huang National Taiwan University of Science and Technology and Institute.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
Solving Weakened Cryptanalysis Problems for the Bivium Keystream Generator in the Volunteer Computing Project Oleg Zaikin, Alexander Semenov,
Variable-Time-Frame Gate-Level Abstraction Alan Mishchenko Niklas Een Robert Brayton Alan Mishchenko Niklas Een Robert Brayton UC Berkeley UC Berkeley.
Designing a framework For Recommender system Based on Interactive Evolutionary Computation Date : Mar 20 Sat, 2011 Project Number :
Global Delay Optimization using Structural Choices Alan Mishchenko Robert Brayton UC Berkeley Stephen Jang Xilinx Inc.
Ruei-Rung Lee, J.-H. Roland Jiang, and Wei-Lun Hung
Synthesis for Verification
Interpolating Functions from Large Boolean Relations
Simple Circuit-Based SAT Solver
To SAT or Not to SAT: Ashenhurst Decomposition in a Large Scale
Property Directed Reachability with Word-Level Abstraction
Scalable and Scalably-Verifiable Sequential Synthesis
Improvements to Combinational Equivalence Checking
SAT-based Methods for Scalable Synthesis and Verification
GLA: Gate-Level Abstraction Revisited
Integrating an AIG Package, Simulator, and SAT Solver
Recording Synthesis History for Sequential Verification
To SAT or Not to SAT: Ashenhurst Decomposition in a Large Scale
SAT-based Methods: Logic Synthesis and Technology Mapping
Integrating AIG Package, Simulator, and SAT Solver
Presentation transcript:

Towards Completely Automatic Decoder Synthesis Hsiou-Yuan Liu, Yen-Cheng Chou, Chen- Hsuan Lin, and Jie-Hong Roland Jiang ALCom Lab EE Dept/ Grad. Inst. of Electronics Eng. National Taiwan University

2011/11/8ICCAD Outline  Introduction  Decoder existence checking  Decoder synthesis  Experimental results  Conclusions

2011/11/8ICCAD Introduction Encoder 0,1,1,0,0,… 1,0,1,0,1,… Decoder

2011/11/8ICCAD Introduction  Decoding process under a bounded observation window …, o k, o k+1, o k+2, o k+3, o k+4, o k+5, … EncoderDecoder … ijij i j+1 i j+2 …

2011/11/8ICCAD Introduction  Example OutputInput or 11… 01…01… or 10… 10…00… or 11… 11…01… or 10… 1/1 0/00/1 1/0 q0q0 q1q1 1/1 0/01/0 0/1 q0q0 q1q1 OutputInput 00...?0… 01…?1… 10…?1… 11…?0…

2011/11/8ICCAD Introduction  Encoding/decoding scheme plays key roles in various applications, including Communication, Signal processing, Cryptography, …  Designing a decoder can be more difficult than designing an encoder  Automatic decoder synthesis helps a designer effectively and correctly implement his/her system

2011/11/8ICCAD Introduction  Basic assumptions: Encoder can be sequential  Combinational encoder is a special case  Can be decoded with observation window of size 1  Steady state behavior is of main concern  Initial transient behavior is neglected Decoder has finite memory  Bounded observation window

2011/11/8ICCAD Prior Work  Decoder synthesis [Shen et al. ICCAD09] Bounded decoder existence checking Decoder generation using ALLSAT  Halting algorithm [Shen et al. FMCAD10] Unbounded decoder existence checking (with flaw)

2011/11/8ICCAD Contributions  Theoretically, guaranteed decoder existence/inexistence checking with simplified formulation  Practically, fast computation Simplified CNF encoding Interpolation for decoder synthesis

2011/11/8ICCAD Decoder Existence Checking  Notation T xy s s's' inputoutput current state next state transition relation

2011/11/8ICCAD Decoder Existence Checking  Decoder exists under window (-n,p) iff is UNSAT T0T0 T –1 T1T1 TpTp T –n ……   T* 0 T* –1 T* 1 T* p T* –n …… 

2011/11/8ICCAD Decoder Existence Checking  Decoder does not exist iff is SAT for some n and p, where

2011/11/8ICCAD Decoder Existence Checking  Decoder does not exist iff is SAT for some n and p, where

2011/11/8ICCAD Decoder Existence Checking T0T0 T –1 T1T1 TpTp T –n ……   T* 0 T* –1 T* 1 T* p T* –n ……        LL LL        LL

2011/11/8ICCAD Decoder Existence Checking encoder solve M(n,p) SAT? yes no decoder exists return (n, p) solve M(n,p)  (L   (L   L  )) SAT? yes no decoder return counterexample no n := n +1 p := p +1 n := 0 p := 0

2011/11/8ICCAD Decoder Existence Checking  Incremental timeframe expansion Expand from outside T0T0 T –1   T* 0 T* –1 T –2  T* –2    … … T –3  T* –3    

2011/11/8ICCAD Decoder Existence Checking  Incremental timeframe expansion Expand from inside T0T0  T* 0 … … T –1  T* –1   T –1  T* –1 T –2  T* –2    T –2  T* –2 T –3  T* –3   

2011/11/8ICCAD Decoder Existence Checking  Disjunctive conditions Not good for CNF encoding

2011/11/8ICCAD Decoder Existence Checking  CNF encoding of disjunctive conditions E.g., Let  =  1 + 2 + 3 = (C 1 C 2 C 3 )+(C 4 C 5 )+(C 6 C 7 ) Let  = (C 1 + 1 ) (C 2 + 1 ) (C 3 + 1 ) (C 4 + 2 ) (C 5 + 2 ) (C 6 + 3 ) (C 7 + 3 ) ( 1 + 2 + 3 )  and  are equisatisfiable

2011/11/8ICCAD Decoder Existence Checking  Incremental CNF encoding of disjunctive conditions E.g., Let  =  1 + 2 + 3 = (C 1 C 2 C 3 )+(C 4 C 5 )+(C 6 C 7 ) Suppose  i are appended incrementally Let  = (C 1 + 1 ) (C 2 + 1 ) (C 3 + 1 ) ( 0 + 1 + 1 ) (C 4 + 2 ) (C 5 + 2 ) ( 1 + 2 + 2 ) (C 6 + 3 ) (C 7 + 3 ) ( 2 + 3 + 3 )  and ( 0  3 ) are equisatisfiable

2011/11/8ICCAD Decoder Existence Checking encoder solve M(n,p) SAT? yes no decoder exists return (n, p) solve M(n,p)  (L   (L   L  )) SAT? yes no decoder return counterexample no n := n +1 p := p +1 n := 0 p := 0

2011/11/8ICCAD Decoder Synthesis  Craig interpolation theorem: For (A  B) UNSAT, there exists an interpolant I such that 1. A  I 2. B  I UNSAT 3. I refers only to the common variables of A and B B A I

2011/11/8ICCAD Decoder Synthesis  The interpolant corresponds to the desired decoder T0T0 T –1 T1T1 TpTp T –n ……   T* 0 T* –1 T* 1 T* p T* –n ……  1 0 A B

2011/11/8ICCAD Experimental Results  Our decoding system “ Decosy ” implemented in ABC using C language  Experiments conducted on Linux machine with Xeon 2.53 GHz CPU and 48GB RAM  Final circuits mapped into mcnc.genlib library

2011/11/8ICCAD Experimental Results  Comparison on decoder generation time circuit [14]*Decosy area ratio delay ratio area/delaytimearea/delaytime XGXS269/ / XFI5697/ / Scrambler736/ / PCIE171/ / T2Ethernet299/ / HM(7,4)255§/7.3§ / HM(15,11) 4232§/13.8 § / *Prior work [14] implemented in OCaml.

2011/11/8ICCAD Experimental Results  Comparison on decoder existence checking and decoder generation circuit [15]*Decosy area ratio delay Ratio area/delaytimearea/delaytime XGXS293/ / XFI5697/ / Scrambler736/ / PCIE163/ / T2Ethernet269/ / HM(7,4)255§/7.3§0.12§255/ HM(15,11)4232§/13.8§56.92§3279/ *Prior work [14] implemented in OCaml.

2011/11/8ICCAD Experimental Results  Comparison on decoder inexistence checking circuit (w/o decoder) [15]* time (s) Decosy time (s) XGXS_err XFI_err Scrambler_err PCIE_err T2Ethernet_err HM(7,4)_err HM(15,11)_err AD> *Prior work [14] implemented in OCaml.

2011/11/8ICCAD Conclusions  We presented a sound and complete approach to decoder synthesis  An effective incremental SAT solving solution was proposed for decoder existence checking  Craig interpolation was used for effective decoder generation  Experiments showed robust and fast computation (with synthesis quality comparable to prior work)

2011/11/8ICCAD Thank You for Your Attention  Questions?