A New High Level Model Based on Integer Equations to Check CTL Properties in VHDL Environment

Size: px
Start display at page:

Download "A New High Level Model Based on Integer Equations to Check CTL Properties in VHDL Environment"

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 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 information

Use of Non-linear Solver to Check Assertions of Behavioral Descriptions

Use 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 information

Optimizations 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 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 information

Least Common Multiple (LCM)

Least 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 information

RTL-Datapath Verification using Integer Linear Programming

RTL-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 information

Finite State Machine with Datapath

Finite 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 information

BOOSTER: 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 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 information

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001

Research 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 information

Word-Level Equivalence Checking in Bit-Level Accuracy by Synthesizing Designs onto Identical Datapath

Word-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 information

Symbolic Counter-Example Generation for Model Checking

Symbolic 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 information

Formal Verification using Probabilistic Techniques

Formal 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 information

Register Transfer Level in Verilog: Part I

Register 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 information

Transistors NODES. Time (sec) No. of Nodes/Transistors

Transistors 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 information

The 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 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 information

MODELING AND FORMAL VERIFICATION OF COUNTING HEADS FOR RAILWAYS 1

MODELING 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 information

Control and Datapath 8

Control 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 information

HECTOR: Formal System-Level to RTL Equivalence Checking

HECTOR: 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 information

Hardware 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 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 information

Register Transfer Methodology II

Register 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 information

Outline. Register Transfer Methodology II. 1. One shot pulse generator. Refined block diagram of FSMD

Outline. 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 information

Model Checking Revision: Model Checking for Infinite Systems Revision: Traffic Light Controller (TLC) Revision: 1.12

Model 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 information

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

Lecture 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 information

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis

Set 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 information

Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs

Lazy 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 information

Enhancing the Performance of Multi-Cycle Path Analysis in an Industrial Setting

Enhancing 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 information

An instruction set processor consist of two important units: Data Processing Unit (DataPath) Program Control Unit

An 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 information

ECEN 468 Advanced Logic Design

ECEN 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 information

DESIGN 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 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 information

Bit-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 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 information

Lecture 2: Symbolic Model Checking With SAT

Lecture 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 information

Binary Decision Diagrams and Symbolic Model Checking

Binary 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 information

Acceleration of SAT-based Iterative Property Checking

Acceleration 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 information

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control

ECE 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 information

HW/SW Co-Verification of a RISC CPU using Bounded Model Checking

HW/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 information

Automatic 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 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 information

A Controller Testability Analysis and Enhancement Technique

A 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 information

DESIGN OF A COMPOSITE ARITHMETIC UNIT FOR RATIONAL NUMBERS

DESIGN 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 information

Summary of Course Coverage

Summary 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 information

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - 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 information

Marrying 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 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 information

3 Designing Digital Systems with Algorithmic State Machine Charts

3 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 information

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )

6.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 information

The VHDL Hardware Description Language

The 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 information

High-Level Information Interface

High-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 information

Efficient Circuit to CNF Conversion

Efficient 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 information

Testability Analysis and Improvement from VHDL Behavioral Specifications

Testability 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 information

COE 405 Design Methodology Based on VHDL

COE 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 information

University 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. 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 information

Cpr E 281 FINAL PROJECT ELECTRICAL AND COMPUTER ENGINEERING IOWA STATE UNIVERSITY. FINAL Project. Objectives. Project Selection

Cpr 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 information

Breakup Algorithm for Switching Circuit Simplifications

Breakup 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 information

Digitaalsüsteemide disain

Digitaalsü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 information

Tutorial on Model Checking Modelling and Verification in Computer Science

Tutorial 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 information

Sequential Circuit Test Generation Using Decision Diagram Models

Sequential 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 information

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007

EECS 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 information

Register Transfer Level

Register 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 information

VHDL simulation and synthesis

VHDL 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 information

Keywords: Soft Core Processor, Arithmetic and Logical Unit, Back End Implementation and Front End Implementation.

Keywords: 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 information

Efficient Hierarchical System Debugging for Property Checking

Efficient 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 information

Application of Binary Decision Diagram in digital circuit analysis.

Application 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 information

Advanced 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 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 information

Finite 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 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 information

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN

A 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 information

Formal Verification at Higher Levels of Abstraction

Formal 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 information

CSC 220: Computer Organization Unit 10 Arithmetic-logic units

CSC 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 information

Model Checking. Automatic Verification Model Checking. Process A Process B. when not possible (not AI).

Model 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 information

UNIT-III REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT

UNIT-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 information

Writing VHDL for RTL Synthesis

Writing 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 information

Using Synthesis Techniques in SAT Solvers

Using 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 information

Arithmetic-logic units

Arithmetic-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 information

Model Checking of the Fairisle ATM Switch Fabric using FormalCheck

Model 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 information

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )

6.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 information

Equivalence 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 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 information

SOFTWARE FOR THE MINIMIZATION OF THE COMBINATIONAL LOGIC FUNCTIONS

SOFTWARE 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 information

Henry 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 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 information

BuildingCircuitsfrom Relations

BuildingCircuitsfrom 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 information

Application 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 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 information

A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver

A 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 information

Software for The Minimization of The Combinational Logic Functions

Software 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 information

Computer Organization (Autonomous)

Computer 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 information

Fast Generation of Lexicographic Satisfiable Assignments: Enabling Canonicity in SAT-based Applications

Fast 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 information

VHDL And Synthesis Review

VHDL 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 information

An FPGA based Implementation of Floating-point Multiplier

An 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 information

Synthesis of Systems Specified as Interacting VHDL Processes

Synthesis 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 information

F-Soft: Software Verification Platform

F-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 information

Contents. Chapter 9 Datapaths Page 1 of 28

Contents. 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 information

Eliminating False Loops Caused by Sharing in Control Path

Eliminating 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 information

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

Synthesis 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 information

Lecture 12 VHDL Synthesis

Lecture 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 information

CS 151 Midterm. (Last Name) (First Name)

CS 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 information

Digital Design Using Digilent FPGA Boards -- Verilog / Active-HDL Edition

Digital 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 information

Prachi Sharma 1, Rama Laxmi 2, Arun Kumar Mishra 3 1 Student, 2,3 Assistant Professor, EC Department, Bhabha College of Engineering

Prachi 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 information

EITF35: Introduction to Structured VLSI Design

EITF35: 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 information

EKT 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 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 information

Modeling and Verification of the Fairisle ATM Null Port Controller in VIS

Modeling 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 information

EE 109L Final Review

EE 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 information

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

1/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 information

On the Relation between SAT and BDDs for Equivalence Checking

On 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 information

Local Two-Level And-Inverter Graph Minimization without Blowup

Local 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 information

Le 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

Le 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 information

CMPT 250 : Week 3 (Sept 19 to Sept 26)

CMPT 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