A New High Level Model Based on Integer Equations to Check CTL Properties in VHDL Environment
|
|
- Posy Lester
- 6 years ago
- Views:
Transcription
1 A New High Level Model Based on Integer Equations to Check CTL Properties in VHDL Environment BIJAN ALIZADEH, MOHAMMAD R. KAKOEE, ZAINALABEDIN NAVABI Electrical and Computer Engineering University of Tehran Building #2, North Kargar Ave, Faculty of Engineering IRAN Abstract: - This paper describes the use of integer equations for high level modeling of digital circuits for rule-based formal verification at this level. BDD operations are not applicable to a large datapath because of large CPU time and memory usage. In our method, a behavioral state machine is represented by a list of integer equations, and RT level properties are directly applied to this representation. Furthermore, this method is applied to circuits without having to separate their data and control sections. For this implementation, we use a canonical form of integer equations, which simplifies equations instead of solving them. This paper compares our results with those of the VIS verification tool that is a BDD based program. Key-Words: - Integer equation, Symbolic model checking, CTL, ILP solver Introduction As the size and functional complexity of digital designs increase, it has become important to verify the design at the early stages of design flow []. This means that the designer requires automated verification tools at higher levels of abstraction [2]. On the other hand, most of methods use BDDs to represent the set of states and the state transition functions [2, 3]. The BDD techniques may still suffer from the memory explosion problem when the application is a large datapath. Other high level data structures have been proposed to check equivalency of two circuits, but they have not been used to do property checking [4]. Biere et al. [5] proposed an alternative, symbolic model checking approach by using the Boolean satisfiability (SAT) techniques. Because of the low abstraction level BDDs, processing time of circuits represented as such becomes forbiddingly high for large circuits. Cheng et al. [6] propose a hybrid ATPG modular arithmetic constraint solving technique for assertion checking. However the arithmetic constraint solver is limited to linear constraints arising from adders, subtractors and multipliers with one constant input. Brinkmann et al. [7] have used Fallah s method [8] and proposed a method for transforming conjunctions of bitvector equalities and inequalities into equivalent conjunctions of equations and disequations in integer linear arithmetic. This method is just applied to datapath and there is necessary to use an ILP solver. Instead of using FSMs in low level, we present a high level model based on integer equations to model transition and output functions. The integer equations are extracted from the design and are at a higher level of abstraction than BDD based transition functions. Therefore we have to define some operations at a higher level than they were in BDD. For this work, we use VHDL to describe a design and CTL format to describe properties [3]. For evaluation of this work, we have developed a Visual C++ program that uses the CHIRE [9] intermediate format. The main advantages of our technique are as follows. First, our technique can be applied to behavioral level and therefore we do not have to
2 separate datapath and controller when the design becomes large. Second, our technique uses a high level model instead of an FSM, so we are able to check CTL based properties very efficiently in terms of CPU time and memory usage, as compared with the BDD based approaches. Third, our method not only does not need to solve Integer Equations explicitly but also does not have to do satisfiability as is done in [5, 6, 7]. This paper describes our work in five sections. Section 2 presents how we extract Data Flow Graph (DFG) as a model of the design and then in Section 3 we show how to extract integer equations as a canonical form. Section 4 presents algorithms to check some basic properties in our model. Section 5 gives experimental results of several examples. The last section presents a short conclusion of this work. 2 DFG Extraction The first task is the DFG extraction. We consider a design as an array of elements shown in Fig.. The first three fields are pointers to graphs as shown in Fig.2. These structures show list of graphs that model the design. In other words, we consider a design as a system D = (set of inputs, set of present states, set of next states, set of outputs, PF), where PF is a set of next state and output functions. Each DFG node includes BinaryOp, UnaryOp and Signal which indicate all required operators and operands. These structures show list of graphs that model the next state and output functions of the design. One of advantages of this model is its flexibility because it is possible to add other operators and statements to this model. A design is represented in terms of multiplexers, since it is more efficient to extract integer equations from this format. As an example of our DFG model, consider the Greatest Common Divisor (GCD) example that its algorithm is very simple: two arguments are mutually subtracted till they become equal each other. Fig.3 shows DFG nodes, which are extracted for the nxt and signals. As illustrated in this figure, the value field of nxt was constructed by a multiplexer based structure. Also the value field of shows a flip-flop node that is constructed by the nxt signal as input. NOT Target Value Condition Other Flags Fig.. General data structure DFG Node UnaryOperator DFG Signal BinaryOperator FlipFlop nxt Start AND OR ADD SUB MUL Equal Less LessEqual Fig.2. DFG Node structure Target Value Condition Other Flags Reset Equal b NULL IfFlip = NULL Less Flip Flop SUB Fig.3. DFG Structure of nxt and nxt 3 Integer Equations After DFG extraction, we are ready to translate it to integer equations. However, these equations must be viewed as a canonical form to enable us to handle arithmetic operations. In this phase PF in DFG model must be converted to a set of polynomial functions, which are related to the next state and output functions. In this manner next state and output functions will depend on present states and inputs, so any intermediate signals must be replaced by its value till next states and outputs just depend on present states and inputs. 3. Extracting Integer Equations One advantage of transforming all expressions to integer equations is that we will not have to work with two kinds of equations [7]. In this manner basic Boolean operators such as AND, OR and clk
3 NOT are converted to integer as illustrated in the following. Other binary operators, like OR, are converted to these basic operators [4]. a AND b; a, b : Boolean a * b; a, b : Integer a OR b; a, b : Boolean a + b a * b; a, b : Integer NOT a; a : Boolean - a; a : Integer Arithmetic operators will remain without changing, but relational operators are changed to Less Than and Equality operators. The nodes will be converted to integer equations based on Equation (). Notice that we will not convert a bit-vector if it is used as a condition, because some of bits may be used elsewhere. However, if a bit-vector is used on the right hand side of some expressions we convert it to an integer. MU( In, In, Sel) Sel* In + ( Sel)* In () For the GCD example, integer equations for the nxt signal are shown below. T_29 <= ( == ); T_35 <= ( < ); T_43 <= ( < ); T_47 <= ( ); T_48 <= T_43 * T_47 + ( - T_43) * ; T_49 <= T_35 * + ( - T_35) * T_48; T_52 <= T_29 * + ( - T_29) * T_49; T_25 <= Reset * b + ( - Reset) * T_52; Nxt <= Start * b + ( - Start) * T_25; 3.2 Canonical Form A general integer formula f is a sum of products P where each p P consists of nodes. At the top level of formula f we have Add and Sub nodes. All nodes consist of two terms Left-Child and Right-Child, on the left hand side and the right hand side respectively. In order to be able to manipulate integer formulas, we have to transform them into a canonical form. For this, we first transfer nodes to leaves of the tree and then convert Sub nodes to Add nodes and coefficients are shifted to the edges. On the other hand, we transform Add nodes to a unique form which only includes another Add node on it s Left-Child sub term, and there will be a or Constant node on it s Right-Child sub term. Also, for a default ordering of propositions, we order propositions in nodes and products P in Add nodes because of comparison. During this phase, some product terms which are equal, will be simplified. At the end, complement terms which are in nodes will be removed and constant values are shifted to the edge of that node. In other words, simplification procedure has been hidden in phase of canonical form translation. For example * and (-4)** will be located at the same position, so they will be simplified to (-3**). Also some simplifications are performed when Add nodes in Right-Child are moved to Left-Child and some simplifications will be done during removing complement terms or transforming constant values to edges in nodes. - Add Add Z Z Fig.4. Sum of products representation For example, Fig.4 indicates F= Z** + Z* *, where ordering of propositions is Z > >. First of all, Sub node is converted to Add node. After that, we consider terms which include highest order propositions in each step. Also nodes are ordered according to the number of propositions and order of their propositions. This view is canonical because we consider all sums and products as ordered. 4 CTL Property Checking in Design We consider a property as a general form of P => Q where assumption part (P) and commitment part (Q) are defined by the following rules: P::=(P) P P P P=P Variable Integer Value Q ::= P E(Q) EG(Q) The most advantage of this form of property is that there is not necessary to take into account the reachable state space while proving the existence of a path satisfying certain conditions. This is because the designer specifies some conditions as initial states in assumption part of property and
4 therefore each property will be checked from initial conditions which were specified explicitly. VHDL Code DFG Extraction of Next state and Output functions Boolean Equations To Integer Equations Convertion Add P to Equations as Constraints Call required Procedure in Figure 6, 7 or 8 CheckCombinational (Q). Convert Q to Integer Equations 2. Add them to other Equations 3. Do Replacement and Simplification 4. If there is an invalid Equation Verification Fail! 5. Else Verification O.K. CTL Property (P=>Q) Extract Parse Tree of Q Fig.5. Flowchart of the CTL property checking An overall view of our work is shown in Fig.5. First, we extract integer equations, i.e. PF, from a synthesized design and then, to these equations, we add the P part of properties the design is being checked for. On the other hand, we extract tree structure of the Q part to specify what verification procedures need to be called at each level of the tree. Three procedures, CheckCombinational, CheckE, and CheckEG perform the task of verification in this flowchart. Fig.6 shows the CheckCombinational procedure in the flowchart of Fig.5. We must convert the Q part to integer equations and add it to the other equations from set of polynomial equations related to output and intermediate signals. These equations are simplified when they are converted to canonical form, and at the end of the procedure, equations that indicate conditions needed to satisfy the property will be returned. It is clear that integer equations solving with integer solutions, is a Hard-Problem. So one of advantages of our method, compared to Brinkmann s method [7] and Cheng s method [6], is to simplify equations based on canonical form, instead of solving them (see Section 3.2). Fig.6. Combinational part Fig.7 shows the CheckE procedure in the flowchart of Fig.5. Correctness of the property is checked in two major steps. First, all present state variables in Q are replaced by next state equations which were extracted as a set of polynomial equations. For example if signal is in Q part then it will be replaced by nxt equation in Fig.. Second, computed equations are simplified during canonical form translation. At the end of the procedure, equations that show conditions for satisfying a property will be returned. For example E( = 3) is converted to nxt = 3 and polynomial equation of nxt, from PF set, replaces nxt in equation nxt = 3 and the result will be converted to canonical form to simplify it. CheckE(Q). Convert state variables to next state variables in Q 2. Convert them to Integer Equations 3. Add them to other Equations, i.e. PF 4. Simplify them, i.e. canonical form convertion 5. Return Computed Equations Fig.7. Next State() operator Fig.8 illustrates the CheckEG procedure in the flowchart of Fig.5. We should compute Equation (2). Zi + = Q E ( Zi ); Z = Q (2) In each iteration we will compute E( Z ) in i two major steps as previously described. Completion of the procedure is indicated by Z i = Z i+. When this happens, equations will be returned that indicate conditions needed to satisfy the property being verified. The Limitation parameter is number of states of the design. Important point in this algorithm is that new equations are computed by the product of Q and the computed equations. We can define the product of Q and the computed equations because they are both in terms of integer equations. If Q includes relational operators, it will be applied to equations computed in previous step as a constraint.
5 As mentioned in Section 3.2, all product and sum terms in Z i and Z have been ordered, so i + comparison of them just need to compare product terms in same positions. For example consider two equations F = * Z* + 4*Z* and F2 = 4*Z* Z* + *, where ordering is Z>>. After translating to canonical form, Z*, Z* and * product terms will have same positions in two canonical forms and can compare easily. As an example, EG( = 3) will be converted to Equation (3) which indicates first, second and third iterations. In second iteration, = 3 is applied to equation of nxt from PF set as a constraint and then Equality operator is considered to make Z 2 and the result will be converted to canonical form to simplify it. If Z equals to Z, then algorithm will finish. 2 Otherwise, in third iteration, = 3 is applied to equation of Z 2 as a constriant and Z 3 is made. This iterative algorithm continues until Z i = Z i+ or number of iterations exceeds from Limitation parameter. Z = ( = 3); Z = ( = 3) E( Z ) 3 CheckEG (Q, Limitation) Z = Q (i = ) For i= to i <Limitation. exzi = E( Z ) i 2. Z = exzi * Q i + 3. IF Z == i + Z i 4. Verification Fail! Z = ( = 3) E( 3= ); 2 2 RETURN Z i + Fig.8. All States (G) operator 5 Experimental Results (3) We will verify different properties on five examples including the Traffic Light Control (TLC), Greatest Common Divisor (GCD), Elevator (EL), 2-Client Arbiter (2CA) and a Special Counter (SC) which is a 3 bit counter with a feedback from state 5 to state 4 when input I is []. TLC Properties:. start = & yellow_expire = & farm_light = ELLOW => E(hwy_light = GREEN). This property means that if farm_light is yellow and the yellow timing has been expired, then a path exists where hwy_light will be green at the next state. 2. start = & farm_light = RED & hwy_light = GREEN & car_present = => EG(hwy_light = GREEN). This indicates that if farm_light is red, hwy_light is green and there is not any car on the farm road, then a path exists where hwy_light always stays green. GCD Properties:. Reset = & Start = & = => E(Reset = ). This property says that if Reset and Start are zero and equals to then a path exists where Reset will be in the next state. 2. Reset = & Start = & = 5 & = 5 => E 2 ( = ). This means that if Reset and Start are zero and = 3 then a path exists that will becomes equal to two states later. SC Properties:. I = & Count = 5 => E 2 (Count = 5). This property indicates that if Count is 5, a path exists where Count will be 5 two states later. 2. I= & Count=5 => E(Count = 4). This says that a path exists that Count will become 4 at the next state. EL Properties:. Start = & door = CLOSED => EG(door = CLOSED). This property means that if Start is not active and door is closed, then a path exists where door always stays closed. 2. Start = & door = CLOSED => EG(movement = MOVING). This indicates that if Start is not active and door is closed, then a path exists where movement always stays moving. 2CA Properties:. Start = & (req or req2 = ) => EG(clin = A). This property says that if Start is not active and client or client2 has a request, then a path exists where client is always selected. This property must be fail because client2 never takes token. 2. Start = & req = => EG(pass_token = ). This means that if Start is not active and client has a request, then a path exists where client2 is always active. This property must be failed because of liveness property. Table compares our results with those of the VIS verification tool as a BDD based model checking []. As shown in the table, we have achieved less memory usage and CPU time. In the TLC example, Property took 3 seconds in
6 compared with 95 seconds by VIS on a Pentium III system with 256MB RAM. Also memory usage in our method is 3.2MB that is less than.mb used by VIS. Notice that we have used Windows-based VIS and CPU time in VIS is just related to some parts of VIS that calls E or EG functions and is not CPU time of all parts of VIS. In order to compute these times, we have added appropriate VIS functions to VIS source codes to report execution time of E or EG function calls. Table. Comparison with VIS Circuit TLC GCD SC EL 2CA P HLM VIS P2 HLM VIS N HLM VIS M HLM VIS P-P2: Cpu Time Property-Property2 (second) N: Number of Nodes (DFG, BDD) M: Memory Usage (MegaByte) HLM: our High Level Method 6 Conclusions In order to overcome problems related to the use of BDDs and other representations [3, 4], we use a high level of representation. As a result, we are able to manipulate complex designs in much less time and memory than FSM models using BBDs. Unlike FSM models, our representation treats data and control units together and is not limited to controller circuits or datapath circuits individually [3, 4]. Also there is performed simplification during canonical form translation instead of solving integer equations explicitely [6, 7, ]. [3] K. McMillan, Symbolic Model Checking, Kluwer Academic Publishers, Boston, 993. [4] R. Drechsler, Formal Verification of Circuits, Kluwer Academic Publishers, 2. [5] A. Biere, A. Cimatti, E.M. Clarke, M. Fujita and. Zhu, Symbolic Model Checking Using SAT Procedures Instead of BDDs, In Proceedings DAC, June 999, pp [6] C.-. Huang and K.-T. Cheng, Assertion Checking by Combined Word-level ATPG and Modular Arithmetic Constraint-Solving Techniques, In Proceedings of DAC 2, pp [7] R. Brinkmann and R. Drechsler, RTL-Datapath Verification using Integer Linear Programming, In Proceedings of IEEE VLSI Design & Asia and South Pacific Design Automation Conference, Bangalore, 22, pp [8] F. Fallah, Coverage Directed Validation of Hardware Models, PhD thesis, MIT, 999. [9] M.H. Reshadi, A.M. Gharehbaghi and Z. Navabi, Intermediate Format Standardization: Ambiguities, Deficiencies, Portability issues, Documentation and Improvements, HDLCon2, March 2. [] Robert K. Brayton, A. Sangiovanni, A. Aziz and et al, VIS: A system for Verification and Synthesis, Proceedings of the Eighth International Conference on Computer Aided Verification, 996. [] James C. Corbett and George S. Avrunin, Using Integer Programming to Verify General Safety and Liveness Properties, Formal Methods in system Design, No. 6, Jan. 995, pp References: [] R.P. Kurshan, Formal Verification In a Commercial Setting, Design Automation Conference 997, pp [2] C. Kern and M.R. Greenstreet, Formal Verification In Hardware Design, ACM Transactions on Design Automation of Electronic Systems, Vol. 4, No. 2, April 999, pp. 23.
Using Integer Equations for High Level Formal Verification Property Checking
Using Integer Equations for High Level Formal Verification Property Checking Bijan Alizadeh Electrical and Computer Engineering University of Tehran 4399 Tehran, Iran bijan@cad.ece.ut.ac.ir Mohammad R.
More informationUse of Non-linear Solver to Check Assertions of Behavioral Descriptions
Use of Non-linear Solver to Check Assertions of Behavioral Descriptions I. Ugarte, P. Sanchez Microelectronics Engineering Group. TEISA Deparment. ETSIIT. University of Cantabria {ugarte, sanchez}@teisa.unican.es
More informationOptimizations in the Verification Technique of Automatic Assertion Checking with Non-linear Solver
Optimizations in the Verification Technique of Automatic Assertion Checking with Non-linear Solver AUTHORS AND AFFILATION DATA MUST NOT BE INCLUDED IN THE FIRST FULL PAPER VERSION FOR REVIEW Abstract This
More informationLeast Common Multiple (LCM)
Least Common Multiple (LCM) Task: Implement an LCM algorithm that is able to handle any combination of 8-bit (sign bit included) numbers. Use two's complement format to represent negative values. Provide
More informationRTL-Datapath Verification using Integer Linear Programming
RTL-Datapath Verification using Integer Linear Programming Raik Brinkmann Rolf Drechsler Siemens AG, Corporate Technology University of Bremen D-81370 Munich, Germany 28359 Bremen, Germany raik.brinkmann@mchp.siemens.de
More informationFinite State Machine with Datapath
Finite State Machine with Datapath Task: Implement a GCD algorithm that is able to handle any combination of -bit (sign bit included) numbers. Use two's complement format to represent negative values.
More informationBOOSTER: Speeding Up RTL Property Checking of Digital Designs by Word-Level Abstraction
BOOSTER: Speeding Up RTL Property Checking of Digital Designs by Word-Level Abstraction Peer Johannsen Siemens AG, Corporate Technology, Design Automation, CT SE 4 81730 Munich, Germany peer.johannsen@mchp.siemens.de
More informationResearch Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001
Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright
More informationWord-Level Equivalence Checking in Bit-Level Accuracy by Synthesizing Designs onto Identical Datapath
972 PAPER Special Section on Formal Approach Word-Level Equivalence Checking in Bit-Level Accuracy by Synthesizing Designs onto Identical Datapath Tasuku NISHIHARA a), Member, Takeshi MATSUMOTO, and Masahiro
More informationSymbolic Counter-Example Generation for Model Checking
Symbolic Counter-Example Generation for Model Checking Mahmoud Askari, Hamid Shojaei, Fataneh Faghani Computer Department, Islamic Azad University, Abstract- Because of the complexity of digital system
More informationFormal Verification using Probabilistic Techniques
Formal Verification using Probabilistic Techniques René Krenz Elena Dubrova Department of Microelectronic and Information Technology Royal Institute of Technology Stockholm, Sweden rene,elena @ele.kth.se
More informationRegister Transfer Level in Verilog: Part I
Source: M. Morris Mano and Michael D. Ciletti, Digital Design, 4rd Edition, 2007, Prentice Hall. Register Transfer Level in Verilog: Part I Lan-Da Van ( 范倫達 ), Ph. D. Department of Computer Science National
More informationTransistors NODES. Time (sec) No. of Nodes/Transistors
Binary Tree Structure for Formal Verication of Combinational ICs FATMA A. EL-LICY, and HODA S. ABDEL-ATY-ZOHDY Microelectronics System Design Laboratory Department of Electrical and Systems Engineering
More informationThe Need of Datapath or Register Transfer Logic. Number 1 Number 2 Number 3 Number 4. Numbers from 1 to million. Register
The Need of Datapath or Register Transfer Logic Number 1 Number 2 Number 3 Number 4 Numbers from 1 to million Register (a) (b) Circuits to add several numbers: (a) combinational circuit to add four numbers;
More informationMODELING AND FORMAL VERIFICATION OF COUNTING HEADS FOR RAILWAYS 1
MODELING AND FORMAL VERIFICATION OF COUNTING HEADS FOR RAILWAYS 1 Sebastian Kinder and Rolf Drechsler Universität Bremen Address: Bibliothekstraße 1, D-28359 Bremen, Germany Phone: +49-421-218-8259, Fax:
More informationControl and Datapath 8
Control and Datapath 8 Engineering attempts to develop design methods that break a problem up into separate steps to simplify the design and increase the likelihood of a correct solution. Digital system
More informationHECTOR: Formal System-Level to RTL Equivalence Checking
ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008
More informationHardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University
Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis
More informationRegister Transfer Methodology II
Register Transfer Methodology II Chapter 12 1 Outline 1. Design example: One shot pulse generator 2. Design Example: GCD 3. Design Example: UART 4. Design Example: SRAM Interface Controller 5. Square root
More informationOutline. Register Transfer Methodology II. 1. One shot pulse generator. Refined block diagram of FSMD
Outline Register Transfer Methodology II 1. Design example: One shot pulse generator 2. Design Example: GCD 3. Design Example: UART 4. Design Example: SRAM Interface Controller 5. Square root approximation
More informationModel Checking Revision: Model Checking for Infinite Systems Revision: Traffic Light Controller (TLC) Revision: 1.12
Model Checking mc Revision:.2 Model Checking for Infinite Systems mc 2 Revision:.2 check algorithmically temporal / sequential properties fixpoint algorithms with symbolic representations: systems are
More informationLecture 3: Modeling in VHDL. EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware
More informationSet Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis
Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Amit Goel Department of ECE, Carnegie Mellon University, PA. 15213. USA. agoel@ece.cmu.edu Randal E. Bryant Computer
More informationLazy Group Sifting for Efficient Symbolic State Traversal of FSMs
Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs Hiroyuki Higuchi Fabio Somenzi Fujitsu Laboratories Ltd. University of Colorado Kawasaki, Japan Boulder, CO Abstract This paper proposes
More informationEnhancing the Performance of Multi-Cycle Path Analysis in an Industrial Setting
Enhancing the Performance of Multi-Cycle Path Analysis in an Industrial Setting Hiroyuki Higuchi Fujitsu Laboratories Ltd. / Kyushu University e-mail: higuchi@labs.fujitsu.com Yusuke Matsunaga Kyushu University
More informationAn instruction set processor consist of two important units: Data Processing Unit (DataPath) Program Control Unit
DataPath Design An instruction set processor consist of two important units: Data Processing Unit (DataPath) Program Control Unit Add & subtract instructions for fixed binary numbers are found in the
More informationECEN 468 Advanced Logic Design
ECEN 468 Advanced Logic Design Lecture 26: Verilog Operators ECEN 468 Lecture 26 Operators Operator Number of Operands Result Arithmetic 2 Binary word Bitwise 2 Binary word Reduction 1 Bit Logical 2 Boolean
More informationDESIGN AND IMPLEMENTATION BY USING BIT LEVEL TRANSFORMATION OF ADDER TREES FOR MCMS USING VERILOG
DESIGN AND IMPLEMENTATION BY USING BIT LEVEL TRANSFORMATION OF ADDER TREES FOR MCMS USING VERILOG 1 S. M. Kiranbabu, PG Scholar in VLSI Design, 2 K. Manjunath, Asst. Professor, ECE Department, 1 babu.ece09@gmail.com,
More informationBit-Level Optimization of Adder-Trees for Multiple Constant Multiplications for Efficient FIR Filter Implementation
Bit-Level Optimization of Adder-Trees for Multiple Constant Multiplications for Efficient FIR Filter Implementation 1 S. SRUTHI, M.Tech, Vlsi System Design, 2 G. DEVENDAR M.Tech, Asst.Professor, ECE Department,
More informationLecture 2: Symbolic Model Checking With SAT
Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.
More informationBinary Decision Diagrams and Symbolic Model Checking
Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of
More informationAcceleration of SAT-based Iterative Property Checking
Acceleration of SAT-based Iterative Property Checking Daniel Große Rolf Drechsler Institute of Computer Science University of Bremen 28359 Bremen, Germany {grosse, drechsle}@informatik.uni-bremen.de Abstract
More informationECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control
ECE 4514 Digital Design II Lecture 15: FSM-based Control A Design Lecture Overview Finite State Machines Verilog Mapping: one, two, three always blocks State Encoding User-defined or tool-defined State
More informationHW/SW Co-Verification of a RISC CPU using Bounded Model Checking
HW/SW Co-Verification of a RISC CPU using Bounded Model Checking Daniel Große Ulrich Kühne Rolf Drechsler Institute of Computer Science University of Bremen 28359 Bremen, Germany {grosse, ulrichk, drechsle}@informatik.uni-bremen.de
More informationAutomatic Merge-point Detection for Sequential Equivalence Checking of System-level and RTL Descriptions
Automatic Merge-point Detection for Sequential Equivalence Checking of System-level and RTL Descriptions Bijan Alizadeh, and Masahiro Fujita VLSI Design and Education Center (VDEC), University of Tokyo,
More informationA Controller Testability Analysis and Enhancement Technique
A Controller Testability Analysis and Enhancement Technique Xinli Gu Erik Larsson, Krzysztof Kuchinski and Zebo Peng Synopsys, Inc. Dept. of Computer and Information Science 700 E. Middlefield Road Linköping
More informationDESIGN OF A COMPOSITE ARITHMETIC UNIT FOR RATIONAL NUMBERS
DESIGN OF A COMPOSITE ARITHMETIC UNIT FOR RATIONAL NUMBERS Tomasz Pinkiewicz, Neville Holmes, and Tariq Jamil School of Computing University of Tasmania Launceston, Tasmania 7250 AUSTRALIA Abstract: As
More informationSummary of Course Coverage
CS-227, Discrete Structures I Spring 2006 Semester Summary of Course Coverage 1) Propositional Calculus a) Negation (logical NOT) b) Conjunction (logical AND) c) Disjunction (logical inclusive-or) d) Inequalities
More informationEECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis
EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State
More informationMarrying Formal Methods With Simulation-Based Verification Function Verification Research at UCSB. Tim Cheng & Li-C. Wang UC-Santa Barbara
Marrying Formal Methods With Simulation-Based Verification Function Verification Research at UCSB Tim Cheng & Li-C. Wang UC-Santa Barbara 1 Outline Current Issues in Functional Verification Functional
More information3 Designing Digital Systems with Algorithmic State Machine Charts
3 Designing with Algorithmic State Machine Charts An ASM chart is a method of describing the sequential operations of a digital system which has to implement an algorithm. An algorithm is a well defined
More information6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )
6. Combinational Circuits George Boole (85 864) Claude Shannon (96 2) Digital signals Binary (or logical ) values: or, on or off, high or low voltage Wires. Propagate logical values from place to place.
More informationThe VHDL Hardware Description Language
The VHDL Hardware Description Language p. 1/? The VHDL Hardware Description Language CSEE W4840 Prof. Stephen A. Edwards Columbia University The VHDL Hardware Description Language p. 2/? Why HDLs? 1970s:
More informationHigh-Level Information Interface
High-Level Information Interface Deliverable Report: SRC task 1875.001 - Jan 31, 2011 Task Title: Exploiting Synergy of Synthesis and Verification Task Leaders: Robert K. Brayton and Alan Mishchenko Univ.
More informationEfficient Circuit to CNF Conversion
Efficient Circuit to CNF Conversion Panagiotis Manolios and Daron Vroon College of Computing, Georgia Institute of Technology, Atlanta, GA, 30332, USA http://www.cc.gatech.edu/home/{manolios,vroon} Abstract.
More informationTestability Analysis and Improvement from VHDL Behavioral Specifications
Testability Analysis and Improvement from VHDL Behavioral Specifications Xinli Gu, Krzysztof Kuchcinski, Zebo Peng Dept. of Computer and Information Science Linköping University S-581 83 Linköping, Sweden
More informationCOE 405 Design Methodology Based on VHDL
COE 405 Design Methodology Based on VHDL Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Elements of VHDL Top-Down Design Top-Down Design with
More informationUniversity of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010
University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2010 May 10, 2010 Final Exam Name: ID number: This is
More informationCpr E 281 FINAL PROJECT ELECTRICAL AND COMPUTER ENGINEERING IOWA STATE UNIVERSITY. FINAL Project. Objectives. Project Selection
Objectives The main objective of the final project is to teach you how to put together all of the class material that you have learned so far in order to program the Altera DE2 board to carry out an independent
More informationBreakup Algorithm for Switching Circuit Simplifications
, No.1, PP. 1-11, 2016 Received on: 22.10.2016 Revised on: 27.11.2016 Breakup Algorithm for Switching Circuit Simplifications Sahadev Roy Dept. of ECE, NIT Arunachal Pradesh, Yupia, 791112, India e-mail:sdr.ece@nitap.in
More informationDigitaalsüsteemide disain
IAY 6 Digitaalsüsteemide disain Register Transfer Level Design. FSM Synthesis. Alexander Sudnitson Tallinn University of Technology Register Transfer Level The Register Transfer Level (RTL) is characterized
More informationTutorial on Model Checking Modelling and Verification in Computer Science
Tutorial on Model Checking Modelling and Verification in Computer Science Armin Biere Institute for Formal Models and Verification Johannes Kepler University, Linz, Austria Abstract. This paper serves
More informationSequential Circuit Test Generation Using Decision Diagram Models
Sequential Circuit Test Generation Using Decision Diagram Models Jaan Raik, Raimund Ubar Department of Computer Engineering Tallinn Technical University, Estonia Abstract A novel approach to testing sequential
More informationEECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007
EECS 5 - Components and Design Techniques for Digital Systems Lec 2 RTL Design Optimization /6/27 Shauki Elassaad Electrical Engineering and Computer Sciences University of California, Berkeley Slides
More informationRegister Transfer Level
Register Transfer Level Something between the logic level and the architecture level A convenient way to describe synchronous sequential systems State diagrams for pros Hierarchy of Designs The design
More informationVHDL simulation and synthesis
VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis
More informationKeywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation.
ISSN 2319-8885 Vol.03,Issue.32 October-2014, Pages:6436-6440 www.ijsetr.com Design and Modeling of Arithmetic and Logical Unit with the Platform of VLSI N. AMRUTHA BINDU 1, M. SAILAJA 2 1 Dept of ECE,
More informationEfficient Hierarchical System Debugging for Property Checking
Efficient Hierarchical System Debugging for Property Checking Görschwin Fey Rolf Drechsler Institute of Computer Science, University of Bremen, 28359 Bremen, Germany {fey,drechsle}@informatik.uni-bremen.de
More informationApplication of Binary Decision Diagram in digital circuit analysis.
Application of Binary Decision Diagram in digital circuit analysis. Jyoti Kukreja University of Southern California For Dr. James Ellison Abstract: Binary Decision Diagrams (BDDs) are one of the biggest
More informationAdvanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay
Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance
More informationFinite State Machines (FSMs) and RAMs and CPUs. COS 116, Spring 2011 Sanjeev Arora
Finite State Machines (FSMs) and RAMs and CPUs COS 116, Spring 2011 Sanjeev Arora Recap Combinational logic circuits: no cycles, hence no memory Sequential circuits: cycles allowed; can have memory as
More informationA SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN
A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN Xiaoying Li 1 Fuming Sun 2 Enhua Wu 1, 3 1 University of Macau, Macao, China 2 University of Science and Technology Beijing, Beijing, China
More informationFormal Verification at Higher Levels of Abstraction
Formal Verification at Higher Levels of Abstraction Daniel Kroening Oxford University Computing Laboratory kroening@kroening.com Sanjit A. Seshia UC Berkeley sseshia@eecs.berkeley.edu Abstract Most formal
More informationCSC 220: Computer Organization Unit 10 Arithmetic-logic units
College of Computer and Information Sciences Department of Computer Science CSC 220: Computer Organization Unit 10 Arithmetic-logic units 1 Remember: 2 Arithmetic-logic units An arithmetic-logic unit,
More informationModel Checking. Automatic Verification Model Checking. Process A Process B. when not possible (not AI).
Sérgio Campos scampos@dcc.ufmg.br Why? Imagine the implementation of a complex hardware or software system: A 100K gate ASIC perhaps 100 concurrent modules; A flight control system dozens of concurrent
More informationUNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT
UNIT-III 1 KNREDDY UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT Register Transfer: Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Micro operations Logic
More informationWriting VHDL for RTL Synthesis
Writing VHDL for RTL Synthesis Stephen A. Edwards, Columbia University December 21, 2009 The name VHDL is representative of the language itself: it is a two-level acronym that stands for VHSIC Hardware
More informationUsing Synthesis Techniques in SAT Solvers
1. Introduction Using Synthesis Techniques in SAT Solvers Rolf Drechsler Institute of Computer Science University of Bremen 28359 Bremen, Germany drechsle@informatik.uni-bremen.de Abstract In many application
More informationArithmetic-logic units
Arithmetic-logic units An arithmetic-logic unit, or ALU, performs many different arithmetic and logic operations. The ALU is the heart of a processor you could say that everything else in the CPU is there
More informationModel Checking of the Fairisle ATM Switch Fabric using FormalCheck
GLS-VLSI96 Draft dated of.0.99 Model Checking of the Fairisle ATM Switch Fabric using FormalCheck Leila Barakatain and Sofiène Tahar Technical Report September 999 Concordia University, ECE Dept., Montreal,
More information6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )
6. Combinational Circuits George Boole (85 864) Claude Shannon (96 2) Signals and Wires Digital signals Binary (or logical ) values: or, on or off, high or low voltage Wires. Propagate digital signals
More informationEquivalence Checking of C Programs by Locally Performing Symbolic Simulation on Dependence Graphs
Equivalence Checking of C Programs by Locally Performing Symbolic Simulation on Dependence Graphs Takeshi Matsumoto, Hiroshi Saito, and Masahiro Fujita Dept. of Electronics Engineering, University of Tokyo
More informationSOFTWARE FOR THE MINIMIZATION OF THE COMBINATIONAL LOGIC FUNCTIONS
SOFTWARE FOR THE MINIMIZATION OF THE COMBINATIONAL LOGIC FUNCTIONS Rotar Dan Vasile Alecsandri University, Bacau, Romania Abstract An important component of the command and control circuit for the mechatronic
More informationHenry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012
Henry Lin, Department of Electrical and Computer Engineering, California State University, Bakersfield Lecture 7 (Digital Logic) July 24 th, 2012 1 Digital vs Analog Digital signals are binary; analog
More informationBuildingCircuitsfrom Relations
BuildingCircuitsfrom Relations James H. Kukula and Thomas R. Shiple 2 Synopsys, Inc., Beaverton, OR. kukula@synopsys.com 2 Synopsys, Inc., Mountain View, CA. shiple@synopsys.com Abstract. Given a Free
More informationApplication of Propositional Logic II - How to Test/Verify my C program? Moonzoo Kim
Application of Propositional Logic II - How to Test/Verify my C program? Moonzoo Kim 2 Solving Various Problems using SAT Solver Sudoku Puzzle Encoding 1 Encoding 2 Verify/Testing C Programs Encoding 3
More informationA Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver
A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver J.C. Madre and O. Coudert Bull Corporate Research Center Rue Jean Jaures 78340 Les Clayes-sous-bois FRANCE Abstract
More informationSoftware for The Minimization of The Combinational Logic Functions
Software for The Minimization of The Combinational Logic Functions Rotar Dan Vasile Alecsandri University, Calea Marasesti 57, cod: 65, Bacau, Romania, drotar@ub.ro; drotarubro@yahoo.com ABSTRACT An important
More informationComputer Organization (Autonomous)
Computer Organization (Autonomous) UNIT I Sections - A & D Prepared by Anil Kumar Prathipati, Asst. Prof., Dept. of CSE. SYLLABUS Introduction: Types of Computers, Functional units of Basic Computer (Block
More informationFast Generation of Lexicographic Satisfiable Assignments: Enabling Canonicity in SAT-based Applications
Fast Generation of Lexicographic Satisfiable Assignments: Enabling Canonicity in -based Applications Ana Petkovska 1 ana.petkovska@epfl.ch Giovanni De Micheli 1 giovanni.demicheli@epfl.ch Alan Mishchenko
More informationVHDL And Synthesis Review
VHDL And Synthesis Review VHDL In Detail Things that we will look at: Port and Types Arithmetic Operators Design styles for Synthesis VHDL Ports Four Different Types of Ports in: signal values are read-only
More informationAn FPGA based Implementation of Floating-point Multiplier
An FPGA based Implementation of Floating-point Multiplier L. Rajesh, Prashant.V. Joshi and Dr.S.S. Manvi Abstract In this paper we describe the parameterization, implementation and evaluation of floating-point
More informationSynthesis of Systems Specified as Interacting VHDL Processes
- 1 - Synthesis of Systems Specified as Interacting VHDL Processes Petru Eles 1,2, Krzysztof Kuchcinski 1, Zebo Peng 1 1 Dept. of Computer and Information Science Linköping University Sweden 2 Computer
More informationF-Soft: Software Verification Platform
F-Soft: Software Verification Platform F. Ivančić, Z. Yang, M.K. Ganai, A. Gupta, I. Shlyakhter, and P. Ashar NEC Laboratories America, 4 Independence Way, Suite 200, Princeton, NJ 08540 fsoft@nec-labs.com
More informationContents. Chapter 9 Datapaths Page 1 of 28
Chapter 9 Datapaths Page of 2 Contents Contents... 9 Datapaths... 2 9. General Datapath... 3 9.2 Using a General Datapath... 5 9.3 Timing Issues... 7 9.4 A More Complex General Datapath... 9 9.5 VHDL for
More informationEliminating False Loops Caused by Sharing in Control Path
Eliminating False Loops Caused by Sharing in Control Path ALAN SU and YU-CHIN HSU University of California Riverside and TA-YUNG LIU and MIKE TIEN-CHIEN LEE Avant! Corporation In high-level synthesis,
More informationSynthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1
Verilog Synthesis Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis Spring 2007 Lec #8 -- HW Synthesis 1 Logic Synthesis Verilog and VHDL started out
More informationLecture 12 VHDL Synthesis
CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?
More informationCS 151 Midterm. (Last Name) (First Name)
CS 151 Midterm Name Student ID Signature :, (Last Name) (First Name) : : Instructions: 1. Please verify that your paper contains 13 pages including this cover. 2. Write down your Student-Id on the top
More informationDigital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition
Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition Table of Contents 1. Introduction to Digital Logic 1 1.1 Background 1 1.2 Digital Logic 5 1.3 Verilog 8 2. Basic Logic Gates 9
More informationPrachi Sharma 1, Rama Laxmi 2, Arun Kumar Mishra 3 1 Student, 2,3 Assistant Professor, EC Department, Bhabha College of Engineering
A Review: Design of 16 bit Arithmetic and Logical unit using Vivado 14.7 and Implementation on Basys 3 FPGA Board Prachi Sharma 1, Rama Laxmi 2, Arun Kumar Mishra 3 1 Student, 2,3 Assistant Professor,
More informationEITF35: Introduction to Structured VLSI Design
EITF35: Introduction to Structured VLSI Design Part 3.1.1: FSMD Liang Liu liang.liu@eit.lth.se 1 Outline FSMD Overview Algorithmic state machine with data-path (ASMD) FSMD design of a repetitive-addition
More informationEKT 422/4 COMPUTER ARCHITECTURE. MINI PROJECT : Design of an Arithmetic Logic Unit
EKT 422/4 COMPUTER ARCHITECTURE MINI PROJECT : Design of an Arithmetic Logic Unit Objective Students will design and build a customized Arithmetic Logic Unit (ALU). It will perform 16 different operations
More informationModeling and Verification of the Fairisle ATM Null Port Controller in VIS
Modeling and Verification of the Fairisle ATM Null Port Controller in VIS Jianping Lu and Sofiène Tahar Electrical & Computer Engineering Department, Concordia University Montreal, Quebec, H3G 1M8 Canada
More informationEE 109L Final Review
EE 09L Final Review Name: Closed Book / Score:. Short Answer (6 pts.) a. Storing temporary values in (memory / registers) is preferred due to the (increased / decreased) access time. b. True / False: A
More information1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2
Synthesis The Y-diagram Revisited Structural Behavioral More abstract designs Physical CAD for VLSI 2 1 Structural Synthesis Behavioral Physical CAD for VLSI 3 Structural Processor Memory Bus Behavioral
More informationOn the Relation between SAT and BDDs for Equivalence Checking
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda 1 Rolf Drechsler 2 Alex Orailoglu 1 1 Computer Science & Engineering Department University of California, San Diego La Jolla,
More informationLocal Two-Level And-Inverter Graph Minimization without Blowup
Local Two-Level And-Inverter Graph Minimization without Blowup Robert Brummayer and Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria {robert.brummayer,
More informationLe L c e t c ur u e e 2 To T p o i p c i s c t o o b e b e co c v o e v r e ed e Variables Operators
Course Name: Advanced Java Lecture 2 Topics to be covered Variables Operators Variables -Introduction A variables can be considered as a name given to the location in memory where values are stored. One
More informationCMPT 250 : Week 3 (Sept 19 to Sept 26)
CMPT 250 : Week 3 (Sept 19 to Sept 26) 1. DESIGN FROM FINITE STATE MACHINES (Continued) 1.1. ONE FLIP-FLOP PER STATE METHOD From a state diagram specification, a sequencer can be constructed using the
More information