Combinational Logic II


 Jonathan Sherman
 3 years ago
 Views:
Transcription
1 Combinational Logic II Ranga Rodrigo July 26, Binary AdderSubtractor Digital computers perform variety of information processing tasks. Among the functions encountered are the various arithmetic operations. The most basic arithmetic operation is the addition of two binary digits. The simple addition consists of four possible elementary operations: = = = = 10 The first three operations produce a sum of one digit. However, when the augend and the addend are equal to 1, the binary sum consists of two digits. The higher significant digit in this operation is called the carry. When the augend and the addend numbers contain more significant digits, the carry obtained from the addition of two bits is added to the next higher order pair of significant bits. A combinational circuit that performs the addition of two bits is called a half adder. One that perform the addition of three bits (two significant bits and the previous carry) is a full adder. A binary addersubtractor is a circuit that performs arithmetic operations of addition and subtraction of with binary numbers. Half Adder We assign symbols x and y to the two inputs S (sum) and C (carry) for the outputs. Table 1 is the truth table of a half adder. The expressions for the sum and carry are S = x y + x y, C = x y. Table 1: Half adder. x y C S
2 x y x y S x y C Figure 1: Half adder. x y S C Figure 2: Half adder, XOR implementation. Figure 1 shows this implementation. Following is equivalent: Figure 2 shows this implementation. S = x y, C = x y. Full Adder A full adder is a combinational circuit that forms the arithmetic sum of three bits. Two of the input variables, x and y, represent the two significant bits to be added. The third input, z, represents the carry from the previous lower significant position. Table 2 is the truth table of a full adder. Table 2: Full adder. x y z C S
3 x y x y (x y) z S x y (x y)z + x y C z Figure 3: Full adder using half adders. The simplified expression obtained are S = x y z + x yz + x y z + x yz, C = x y + yz + zy. The following expressions are equivalent: S = x y z, C = x y + z(x y). Therefore, we can use two half adders to implement a full adder. Figure 3 shows this implementation. Binary Adder A binary adder is a digital circuit that produces the arithmetic sum of two binary numbers. It can be constructed with full adders connected in cascade, with the output carry from each full adder connected to the input carry of the next full adder. By interconnecting four fulladder (FA) circuits, we can construct a fourbit binary ripple carry adder. 3
4 A i B i P i P i C i S i G i P i C i +G i C i+1 C i Figure 4: Full adder using half adders. The bits are added with full adders, starting from the least significant position, to form the sum bit and carry bit. The value of C i+1 in a given significant position is the output carry of the full adder. This value is transferred to the input carry of the full adder that adds the bits one higher significant position to the left. The sum bits are thus generated starting from the rightmost position and are available as soon as the previous carry bit is generated. All the carries must be generated for the correct sum bits to appear at the outputs. Carry Propagation The addition of two binary numbers in parallel imply that all the bits of the augend and the addend are available for computation at the same time. As in any combinational circuit, the signal must propagate through the gates before the correct output sum is available in the output terminals. The total propagation time is equal to the propagation delay of a typical gate, times the number of gate levels in the circuit. The longest propagation delay time in an adder is the time it takes the carry to propagate though the full adders. The number of gate levels for the carry propagation can be found from the circuit of the full adder as shown in Figure 4. The signal from input carry C i to the output carry C i+1 propagates through an AND gate and an OR gate., which constitutes two gate levels. In there are four full adders in the adder, the output carry C 4 would have 2 4 = 8 gate levels from C 0 to C 4. For and nbit adder, there are 2n gate levels for the carry to propagate from input to output. The carry propagation time is an important attribute of the adder because it limits the speed with which two numbers are added. As a result of the propagation delay, the outputs will not be correct unless the signals are given enough time to propagate though the gates connected from the inputs to the outputs. There are two solutions to reducing the carry propagation delay: employing faster gates, and increasing the complexity of the circuit in such a way that the carry delay time is reduced. A widely used technique in reducing the carry propagation delay is using the principle of carry lookahead logic. Consider the circuit of the full adder as shown in 4. P i = A i B i, G i = A i B i. 4
5 The output sum and carry can be expressed as S i = P i C i, C i+1 = G i + P i C i. G i is called a carry generator and it produces a carry of 1 when both A i and B i are 1, regardless of the input carry C i. P i is called the carry propagate, because it determines whether a carry into state i will propagate into stage i + 1 (i.e., whether the assertion of C i will propagate to an assertion of C i+1 ). Now we write Boolean functions for the carry outputs of each stage and substitute the value of each C i form the previous equations: C 0 = input carry, C 1 = G 0 + P 0 C 0, C 2 = G 1 + P 1 C 1 = G 1 + P 1 (G 0 + P 0 C 0 ) = G 1 + P 1 G 0 + P 1 P 0 C 0, C 3 = G 2 + P 2 C 2 == G 2 + P 2 G 1 + P 2 P 1 G 0 + P 2 P 1 P 0 C 0. Since the Boolean function of each output carry is expressed in sumofproduct form, each function can be implemented withe one level of AND gates followed by and OR gate. In this case, C 3 does not have to wait for C 2 and C 1 to propagate; in fact, C 3 is propagated at the same time as C 1 and C 2. This gain in speed is achieved at the expense of additional complexity. 5
6 Binary Subtractor The subtraction of binary numbers can be done more conveniently by means of complements, i.e., the subtraction A B can be done by taking the 2 s complement of B and adding to A. The 2 s complement can be obtained by taking the 1 s complement and adding 1 to the least significant pair of bits. The 1 s complement can be implemented with inverters, and a 1 can be added to the sum though the input carry. The addition and subtraction can be combined into one circuit with one common binary adder by including an exclusiveor gate with each full adder. The mode input M controls the operation. When M = 0, the circuit is an adder, and when M = 1, the circuit becomes a subtractor. When M = 0, B 0 = B, C 0 = 0: circuit performs A plus B. When M = 1, B 1 = B, C 0 = 1: circuit performs A minus B. Binary numbers in signedcomplement system are added and subtracted by the same basic addition and subtraction rules as are unsigned numbers. Therefore, computers need only one hardware circuit to handle both types of arithmetic. The user or the programmer must interpret the results of such addition or subtraction differently, depending on whether it is assumed that the numbers are signed or unsigned. Overflow When two numbers of n digit each are added and the sum is a number occupying n +1 digits, we say an overflow occurred. Overflow is a problem in digital computers because the number of bits that hold the number is finite and the result that contains n + 1 bits cannot be accommodated by an nbit word. For this reason, many 6
7 computers detect the occurrence of an overflow, and when it occurs, a corresponding flipflop is se that can be checked by the user. 2 Binary Multiplier Multiplication of binary numbers is performed the same way as multiplication of decimal numbers. B 1 B 0 A 1 A 0 A 0 B 1 A 0 B 0 A 1 B 1 A 1 B 0 C 3 C 2 C 1 C 0 In relation to the partial products such as A 0 B 0, we notice that the operation is identical to an AND operation. Therefore, partial products can be implemented with AND gates. Addition of partial products can be done using half adders. 7
8 3 Magnitude Comparator The comparison of two numbers is an operation that determines whether one number is greater than, less than, or equal to another number. Consider two numbers, A and B, with four digits each. Let s write the coefficients of the numbers in decreasing order of significance: A = A 3 A 2 A 1 A 0, B = B 3 B 2 B 1 B 0. The two numbers are qual if pairs of significant digits are equal: A 3 = B 3, A 2 = B 2, A 1 = B 1, and A 0 = B 0. When the number are binary, the equality of each pair can be expressed logically with and XNOR function: x i = A i B i + A i B i, for i = 0,1,2,3, where x i = 1 only if the pair of bits in position i are equal. For equality to exist, all x i must be equal to 1: (A = B) = x 3 x 2 x 1 x 0. to determine whether A is greater than or less than B, we inspect the relative magnitudes of pairs of significant digits, starting from the most significant position. If the two digits of a pair are equal, we compare the next lower significant pair of digits. The comparison continues until a pair of unequal digits are reached. If the corresponding digit of A is 0 and that of B is 1, we have A < B. (A > B) = A 3 B 3 + x 3 A 2 B 2 + x 3x 2 A 1 B 1 + x 3x 2 x 1 A 0 B 0, (A < B) = A 3 B 3 + x 3 A 2 B 2 + x 3 x 2 A 1 B 1 + x 3 x 2 x 1 A 0 B 0. 8
9 A 2 A 1 A 0 D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 Figure 5: A 3to8 decoder. 4 Combinational Logic Using Decoders We studied that a decoder is a combinational circuit that converts binary information from n input lines to a maximum of 2 n unique output lines. In the nbit coded information has unused combinations, the decoder may have fewer than 2 n outputs. These decoders are called ntomline decoders, where m 2 n. Their purpose is to generate the 2 n (or fewer) minterms of n variables. Figure 5 shows a 3to8 decoder. A decoder provides 2 n minterms of n input variables. Each asserted output of the decoder is associated with a unique pattern of bits. Since any Boolean function can be expressed in sumofminterm form, a decoder generates the minterms of a function, together with an external OR gate, that forms their logical sum, provides a hardware implementation of the function. In this way, any combinational circuit with n inputs and m outputs can be implemented with an nto2 n decoder and m OR gates. Example 1. Implement a full adder using a 3 8 decoder. 9
10 Table 3: Truth table for octaltobinary encoder. Inputs Outputs D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 A 2 A 1 A Table 4: Truth table for priority encoder. Inputs Outputs D 0 D 1 D 2 D 3 x y V X X X X X X X X Encoders An encoder is a digital circuit that performs the inverse operation of a decoder. An encoder has 2 n (or fewer) input lines and n output lines. The output lines, as an aggregate, generate the binary code corresponding to the input value. An example of an encoder is the octaltobinary encoder whose truth table is given in Table 3. It has eight inputs one for each of the octal digits and three outputs that generate the corresponding binary number. It is assumed that only one input has the value of 1 at any given time. Priority Encoder A priority encoder is an encoder circuit that includes a priority function. The operation of the priority encoder is such that if two or more inputs are equal to 1 at the same time, the input having the highest priority will take precedence. The truth table of a priority encoder is shown in 4. In addition to the two outputs x and y, the circuit has a third output designated by V ; this is a valid bit indicator that is set to 1 when one or more inputs ar equal to 1. If all the inputs are 0, there is no valid input and V is equal to 0. Example 2. Design the priority encoder represented by the truth table in Table 4. 10
11 I 0 Y I 1 S Figure 6: An 2to1 multiplexer. Table 5: Truth table for priority encoder. x y z F F = z F = z F = F = Multiplexers A multiplexer is a combinational circuit that selects binary information from one of many input lines and directs it to a single output line. The selection of a particular input line is controlled by a set of selection lines. Normally, there are 2 n input lines and n selection lines whose bit combination determines which output is selected. Figure 6 shows a 2to1 multiplexer. Figure 7 shows a 8to1 multiplexer. Boolean Function Implementation Using Multiplexers Logic diagram of a multiplexer reveals that it is essentially a decoder that includes the OR gate within the unit. The minterms of a function are generated in a multiplexer by the circuit associated with the selection inputs. The individual minterms can be selected by the data inputs, thereby providing a method of implementing a Boolean function of n variables with a multiplexer that has n selection inputs and 2 n data inputs, one for each minterm. However, it is possible to implement an nvariable Boolean function using a multiplexer that has n 1 selection inputs. the first n 1 variables of the function are connected to the selection inputs of the multiplexer. the remaining single variable of the function is used for the data inputs. Example 3. Implement the Boolean function F (x, y, x) = (1,2,6,7) using a 2to1 multiplexer. Table 5 shows the truth table. 11
12 I 0 I 1 I 2 I 3 I 4 I 5 I 6 I 7 S 2 S 1 S 0 Ē Ȳ Y Figure 7: An 8to1 multiplexer. Example 4. Implement F (A,B,C,D) = (1,3,4,11,12,13,14,15) using a suitable multiplexer. ThreeState Gates A multiplexer can be constructed with threestate gates digital circuits that exhibit three states. Two of the states are signal equivalent of logic 1 and logic 0 as in a conventional gate. The third state is a highimpedance state in which 1. the logic behaves like an open circuit, which means that the output appears to be disconnected, 2. the circuit has not logic significance, and 3. the circuit connected to the output of the threestate gate is not affected by the inputs to the gate. The threestate gate most commonly used is a buffer gate. Example 5. Draw a 2to1 multiplexer using threestate buffers. 12
13 7 HDL Models for Combinational Circuits As mentioned previously, the module is the basic building block for modeling hardware with the Verilog HDL. The logic of a module can be described in any one (or a combination) of the following modeling styles: 1. gatelevel modeling using instantiations of predefined and userdefined primitive gates, 2. dataflow modeling using continuous assignment statements with the keyword assign, and 3. behavioral modeling using procedural assignment statements with the keyword always. Gatelevel (structural) modeling describes a circuit by specifying its gates and how they are connected with each other. Dataflow modeling is used mostly for describing the Boolean equations of combinational logic. Behavioral modeling describes combinational and sequential logic at a higher level of abstraction. There is another modeling style, called switchlevel modeling, which is sometimes used in the MOS transistor models, but not in logic synthesis. GateLevel Modeling We studied gatelevel modeling previously. Gatelevel modeling provides a textual description of a schematic diagram. The Verilog HDL includes 12 basic gates as predefined primitives. Four of these primitive gates are threestate type. The other eight are the same are regular types. They are all declared with the lowercase keywords and, nand, or, nor, xor, xnor, not, and buf. Primitives such as and are n input primitives. The buf and not primitives are noutput primitives. A single input can drive multiple output lines distinguished by their identifiers. The logic of each gate is based on a fourvalued system. When the gates are simulated, the simulator assigns one value to the output of each gate at any instant. In addition to the two logic values of 0 and 1, there are two other values: unknown and high impedance. An unknown values is demoted by x and a high impedance by z. An unknown value is assigned during the simulation when the logic value of the signal is ambiguous for instance, if it cannot be determined whether its value is 0 or 1. A highimpedance condition occurs at the output of threestate gates that are not enabled or if a wire is inadvertently left unconnected. The fourvalued logic truth tables for and, or, xor, and not are shown in Table 6. Identifiers Having MultipleBit Widths (Vectors) The syntax for specifying a vector includes within square brackets two numbers separated with a colon. output [ 0 : 3 ] D; wire [ 7 : 0 ] SUM; The first (leftmost) number (array index) listed is always the most significant bit of the vector. The individual bits are specified using square brackets, so D[2] specifies the bit 2 of D. It is possible to address contiguous parts of vectors. For example, SUM[2:0] specifies the three least significant bits of vector SUM. Listing 1 shows a 2to4 decoder (already discussed). 13
14 Table 6: Truth tables for predefined primitive gates. and 0 1 x z or 0 1 x z x x x x x 0 x x x x x 1 x x z 0 x x x z x 1 x x xor 0 1 x z x x x x x x x x x z x x x x not input output x x z x Listing 1: 2to4 Decoder module decoder_2x4_gates (D, A, B, enable ) ; output [ 0 : 3] D; input A, B ; input enable ; wire A_not, B_not, enable_not ; not G1 ( A_not, A), G2 ( B_not, B), G3 ( enable_not, enable ) ; nand G4 (D[ 0 ], A_not, B_not, enable_not ), G5 (D[ 1 ], A_not, B, enable_not ), G6 (D[ 2 ], A, B_not, enable_not ), G7 (D[ 3 ], A, B, enable_not ) ; endmodule Two or more modules can be combined to build a hierarchical description of a design. There are two basic types of design methodologies: topdown and bottomup. In a topdown design the toplevel block is defined and then the subblocks necessary to build the toplevel block are identified. In a bottomup design, the building blocks are first identified and then combined to build the toplevel block. Example 6. Using a bottomup methodology design a fourbit adder in HDL. Modules can be instantiated (nested) within other modules, but module declarations cannot be nested. The only way one module definition can be incorporated into another is module is by instantiation it. Instantiating modules within other modules creates a hierarchical decomposition of a design. A description of a module is said to be a structural description if it is composed of instantiations of other modules. Instance names (e.g., FA0) must be specified when defined modules are instantiated. ThreeState Gates A threestate gate has a control input that can place the grate into a high0impedance state. The highimpedance state is symbolized by z in Verilog. There are four types of threestate gates. 14
15 Table 7: Some Verilog HDL operators. + binary addition binary subtraction & bitwise AND bitwise OR ^ bitwise XOR ~ bitwise NOT == equality > greater than < less than { } concatenation?: conditional bufif1 bufif0 bnotif1 bnotif0 behaves like a normal buffer if control = 1. The output goes to a highimpedance state z when control = 0. behaves like a normal buffer if control = 0. The output goes to a highimpedance state z when control = 1. operate in a similar manner as bufif1, except that the output is the complement of the input. operate in a similar manner as bufif0, except that the output is the complement of the input. Listing 2 shows a 2to1 multiplexer implementation using threestate gates. Listing 3 is a simple test bench for the multiplexer. Listing 2: Mux with threestate output. module mux_tri ( output m_out, input A, B, sel ) ; bufif1 B1(m_out, A, sel ) ; bufif0 B2(m_out, B, sel ) ; endmodule module tmux_tri ; reg A, B, sel ; wire m_out ; Listing 3: Test bench for the mux. mux_tri dut (m_out, A, B, sel ) ; i n i t i a l begin s e l = 1 b1 ; A = 1 b0 ; #100 A = 1 b1 ; #100 sel = 1 b0 ; B = 1 b0 ; #100 B = 1 b1 ; end endmodule Dataflow Modeling Dataflow modeling of combinational logic uses a number of operators that act on operands to produce desired results. Verilog HDL provides about 30 different operators. Table 7 shows some of these. Dataflow modeling uses continuous assignments and the keyword assign. A continuous assignment is a statement that assigns a value to a net. The data type 15
16 family net is used in Verilog to represent a physical connection between circuit elements. A net is declared explicitly by a net keyword (e.g., wire) or by declaring an identifier to be an output port. The logic values associated with the net is determined by what the net is connected to. If the net is connected to the output of a gate, the net is said to be driven by the gate, and the logic value of the net is determined by the logic value of the inputs to the gate and the truth table of the gate. If the identifier of a net is the lefthand side of a continuous assignment statement, the value assigned to the net is specified by an expression that uses operands and operators. As an example, assuming that the variables were declared, a twotooneline multiplexer with data inputs A and B, select input S, and output Y is described with the continuous assignment assign Y = (A&S ) ( B&~S ) ; Example 7. Design a twotofourline decoder using dataflow assignment. 16
Combinational Logic. Prof. Wangrok Oh. Dept. of Information Communications Eng. Chungnam National University. Prof. Wangrok Oh(CNU) 1 / 93
Combinational Logic Prof. Wangrok Oh Dept. of Information Communications Eng. Chungnam National University Prof. Wangrok Oh(CNU) / 93 Overview Introduction 2 Combinational Circuits 3 Analysis Procedure
More informationEE 8351 Digital Logic Circuits Ms.J.Jayaudhaya, ASP/EEE
EE 8351 Digital Logic Circuits Ms.J.Jayaudhaya, ASP/EEE 1 Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables, logic gates, and output
More informationChapter 4. Combinational Logic
Chapter 4. Combinational Logic Tong In Oh 1 4.1 Introduction Combinational logic: Logic gates Output determined from only the present combination of inputs Specified by a set of Boolean functions Sequential
More informationCombinational Logic Circuits
Combinational Logic Circuits By Dr. M. Hebaishy Digital Logic Design Ch Rem.!) Types of Logic Circuits Combinational Logic Memoryless Outputs determined by current values of inputs Sequential Logic Has
More informationCombinational Circuits
Combinational Circuits Combinational circuit consists of an interconnection of logic gates They react to their inputs and produce their outputs by transforming binary information n input binary variables
More informationChapter 3 Part 2 Combinational Logic Design
University of Wisconsin  Madison ECE/Comp Sci 352 Digital Systems Fundamentals Kewal K. Saluja and Yu Hen Hu Spring 2002 Chapter 3 Part 2 Combinational Logic Design Originals by: Charles R. Kime and Tom
More informationChap.3 3. Chap reduces the complexity required to represent the schematic diagram of a circuit Library
3.1 Combinational Circuits 2 Chap 3. logic circuits for digital systems: combinational vs sequential Combinational Logic Design Combinational Circuit (Chap 3) outputs are determined by the present applied
More informationCOMPUTER ARCHITECTURE AND ORGANIZATION Register Transfer and Microoperations 1. Introduction A digital system is an interconnection of digital
Register Transfer and Microoperations 1. Introduction A digital system is an interconnection of digital hardware modules that accomplish a specific informationprocessing task. Digital systems vary in
More informationUNIT II  COMBINATIONAL LOGIC Part A 2 Marks. 1. Define Combinational circuit A combinational circuit consist of logic gates whose outputs at anytime are determined directly from the present combination
More informationContents. Appendix D Verilog Summary Page 1 of 16
Appix D Verilog Summary Page 1 of 16 Contents Appix D Verilog Summary... 2 D.1 Basic Language Elements... 2 D.1.1 Keywords... 2 D.1.2 Comments... 2 D.1.3 Identifiers... 2 D.1.4 Numbers and Strings... 3
More informationUNITIII REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT
UNITIII 1 KNREDDY UNITIII REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT Register Transfer: Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Micro operations Logic
More informationCOMBINATIONAL LOGIC CIRCUITS
COMBINATIONAL LOGIC CIRCUITS 4.1 INTRODUCTION The digital system consists of two types of circuits, namely: (i) Combinational circuits and (ii) Sequential circuits A combinational circuit consists of logic
More informationIT T35 Digital system desigm y  ii /s  iii
UNIT  V Introduction to Verilog Hardware Description Language Introduction HDL for combinational circuits Sequential circuits Registers and counters HDL description for binary multiplier. 5.1 INTRODUCTION
More informationVerilog for Combinational Circuits
Verilog for Combinational Circuits LanDa Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Fall, 2014 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/
More informationVerilog Design Principles
16 h7fex // 16bit value, low order 4 bits unknown 8 bxx001100 // 8bit value, most significant 2 bits unknown. 8 hzz // 8bit value, all bits high impedance. Verilog Design Principles ECGR2181 Extra Notes
More informationDLD VIDYA SAGAR P. potharajuvidyasagar.wordpress.com. Vignana Bharathi Institute of Technology UNIT 3 DLD P VIDYA SAGAR
DLD UNIT III Combinational Circuits (CC), Analysis procedure, Design Procedure, Combinational circuit for different code converters and other problems, Binary Adder Subtractor, Decimal Adder, Binary Multiplier,
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 informationREGISTER TRANSFER LANGUAGE
REGISTER TRANSFER LANGUAGE The operations executed on the data stored in the registers are called micro operations. Classifications of micro operations Register transfer micro operations Arithmetic micro
More informationCombinational Logic with MSI and LSI
1010101010101010101010101010101010101010101010101010101010101010101010101010101010 1010101010101010101010101010101010101010101010101010101010101010101010101010101010 1010101010101010101010101010101010101010101010101010101010101010101010101010101010
More information14:332:231 DIGITAL LOGIC DESIGN. Hardware Description Languages
14:332:231 DIGITAL LOGIC DESIGN Ivan Marsic, Rutgers University Electrical & Computer Engineering Fall 2013 Lecture #22: Introduction to Verilog Hardware Description Languages Basic idea: Language constructs
More informationHardware Description Languages (HDLs) Verilog
Hardware Description Languages (HDLs) Verilog Material from Mano & Ciletti book By Kurtulus KULLU Ankara University What are HDLs? A Hardware Description Language resembles a programming language specifically
More informationVerilog Design Principles
16 h7fex // 16bit value, low order 4 bits unknown 8 bxx001100 // 8bit value, most significant 2 bits unknown. 8 hzz // 8bit value, all bits high impedance. Verilog Design Principles ECGR2181 Extra Notes
More informationNH 67, Karur Trichy Highways, Puliyur C.F, Karur District DEPARTMENT OF INFORMATION TECHNOLOGY CS 2202 DIGITAL PRINCIPLES AND SYSTEM DESIGN
NH 67, Karur Trichy Highways, Puliyur C.F, 639 114 Karur District DEPARTMENT OF INFORMATION TECHNOLOGY CS 2202 DIGITAL PRINCIPLES AND SYSTEM DESIGN UNIT 2 COMBINATIONAL LOGIC Combinational circuits Analysis
More informationSchematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language
1 / 15 2014/11/20 0 EDA (Electronic Design Assistance) 0 Computer based language 0 HDL (Hardware Description Language) 0 Verilog HDL 0 Created by Gateway Design Automation Corp. in 1983 First modern hardware
More informationIntroduction to Verilog. Garrison W. Greenwood, Ph.D, P.E.
Introduction to Verilog Garrison W. Greenwood, Ph.D, P.E. November 11, 2002 1 Digital Design Flow Specification Functional Design Register Transfer Level Design Circuit Design Physical Layout Production
More informationregister:a group of binary cells suitable for holding binary information flipflops + gates
9 차시 1 Ch. 6 Registers and Counters 6.1 Registers register:a group of binary cells suitable for holding binary information flipflops + gates control when and how new information is transferred into the
More informationChapter 3 Part 2 Combinational Logic Design
University of Wisconsin  Madison EE/omp ci 352 Digital ystems Fundamentals Kewal K. aluja and u Hen Hu pring 2002 hapter 3 Part 2 ombinational Logic Design Originals by: harles R. Kime and Tom Kamisnski
More informationVerilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDLbased design
Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two major languages Verilog (IEEE 1364), latest version is
More informationIntroduction. Purpose. Intended Audience. Conventions. Close
Introduction Introduction VerilogXL is a simulator that allows you to test the logic of a design. The process of logic simulation in VerilogXL is as follows: 1. Describe the design to VerilogXL. 2.
More informationCHAPTER 4: Register Transfer Language and Microoperations
CS 224: Computer Organization S.KHABET CHAPTER 4: Register Transfer Language and Microoperations Outline Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations
More informationstructure syntax different levels of abstraction
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationHere is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this
This and the next lectures are about Verilog HDL, which, together with another language VHDL, are the most popular hardware languages used in industry. Verilog is only a tool; this course is about digital
More informationFPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1
FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block  Gates Digital Design : Bottom Up Approach Gates > Flip Flops Digital
More informationDepartment of Electrical and Computer Engineering University of Wisconsin  Madison. ECE/CS 352 Digital System Fundamentals.
Department of Electrical and Computer Engineering University of Wisconsin  Madison ECE/C 352 Digital ystem Fundamentals Quiz #2 Thursday, March 7, 22, 7:158:3PM 1. (15 points) (a) (5 points) NAND, NOR
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 LanDa Van ( 范倫達 ), Ph. D. Department of Computer Science National
More informationHardware description language (HDL)
Hardware description language (HDL) A hardware description language (HDL) is a computerbased language that describes the hardware of digital systems in a textual form. It resembles an ordinary computer
More informationBasic Arithmetic (adding and subtracting)
Basic Arithmetic (adding and subtracting) Digital logic to show add/subtract Boolean algebra abstraction of physical, analog circuit behavior 1 0 CPU components ALU logic circuits logic gates transistors
More informationIntroduction to Verilog HDL. Verilog 1
Introduction to HDL Hardware Description Language (HDL) HighLevel Programming Language Special constructs to model microelectronic circuits Describe the operation of a circuit at various levels of abstraction
More informationUNIT V: SPECIFICATION USING VERILOG HDL
UNIT V: SPECIFICATION USING VERILOG HDL PART A (2 Marks) 1. What are identifiers? Identifiers are names of modules, variables and other objects that we can reference in the design. Identifiers consists
More informationChapter 4 Arithmetic Functions
Logic and Computer Design Fundamentals Chapter 4 Arithmetic Functions Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Overview Iterative combinational
More informationECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog
ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7
More informationChapter 6 CombinationalCircuit Building Blocks
Chapter 6 CombinationalCircuit Building Blocks Commonly used combinational building blocks in design of large circuits: Multiplexers Decoders Encoders Comparators Arithmetic circuits Multiplexers A multiplexer
More informationChapter 3: part 3 Binary Subtraction
Chapter 3: part 3 Binary Subtraction Iterative combinational circuits Binary adders Half and full adders Ripple carry and carry lookahead adders Binary subtraction Binary addersubtractors Signed binary
More informationVerilog Tutorial (Structure, Test)
Digital Circuit Design and Language Verilog Tutorial (Structure, Test) Chang, Ik Joon Kyunghee University Hierarchical Design Topdown Design Methodology Bottomup Design Methodology Module START Example)
More informationECE Digital System Design & Synthesis Exercise 1  Logic Values, Data Types & Operators  With Answers
ECE 601  Digital System Design & Synthesis Exercise 1  Logic Values, Data Types & Operators  With Answers Fall 2001 Final Version (Important changes from original posted Exercise 1 shown in color) Variables
More informationECE 2030B 1:00pm Computer Engineering Spring problems, 5 pages Exam Two 10 March 2010
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationLecture 1: VHDL Quick Start. Digital Systems Design. Fall 10, Dec 17 Lecture 1 1
Lecture 1: VHDL Quick Start Digital Systems Design Fall 10, Dec 17 Lecture 1 1 Objective Quick introduction to VHDL basic language concepts basic design methodology Use The Student s Guide to VHDL or The
More informationDesign Using Verilog
EGC220 Design Using Verilog Baback Izadi Division of Engineering Programs bai@engr.newpaltz.edu Basic Verilog Lexical Convention Lexical convention are close to C++. Comment // to the of the line. /* to
More informationVerilog HDL. Design Examples
Verilog HDL Design Examples Verilog HDL Design Examples Joseph Cavanagh Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Group, an informa business CRC Press Taylor & Francis
More informationGate level or structural modeling
Gate level or structural modeling Prerequisites Functioning of basic logic gates and basic understanding of Verilog coding is required. You are suggested to complete the previous unit before starting this
More informationDigital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University
Digital Circuit Design and Language Datapath Design Chang, Ik Joon Kyunghee University Typical Synchronous Design + Control Section : Finite State Machine + Data Section: Adder, Multiplier, Shift Register
More informationComputer Aided Design Basic Syntax Gate Level Modeling Behavioral Modeling. Verilog
Verilog Radek Pelánek and Šimon Řeřucha Contents 1 Computer Aided Design 2 Basic Syntax 3 Gate Level Modeling 4 Behavioral Modeling Computer Aided Design Hardware Description Languages (HDL) Verilog C
More informationECE468 Computer Organization & Architecture. The Design Process & ALU Design
ECE6 Computer Organization & Architecture The Design Process & Design The Design Process "To Design Is To Represent" Design activity yields description/representation of an object  Traditional craftsman
More informationDigital Design with FPGAs. By Neeraj Kulkarni
Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic
More informationECE 2030D Computer Engineering Spring problems, 5 pages Exam Two 8 March 2012
Instructions: This is a closed book, closed note exam. Calculators are not permitted. If you have a question, raise your hand and I will come to you. Please work the exam in pencil and do not separate
More informationSt.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad
St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad500 014 Subject: Digital Design Using Verilog Hdl Class : ECEII Group A (Short Answer Questions) UNITI 1 Define verilog HDL? 2 List levels of
More informationCombinational Circuit Design
Modeling Combinational Circuits with Verilog Prof. ChienNan Liu TEL: 342275 ext:34534 Email: jimmy@ee.ncu.edu.tw 3 Combinational Circuit Design Outputs are functions of inputs inputs Combinational Circuit
More informationCONTENTS CHAPTER 1: NUMBER SYSTEM. Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii)
CONTENTS Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii) CHAPTER 1: NUMBER SYSTEM 1.1 Digital Electronics... 1 1.1.1 Introduction... 1 1.1.2 Advantages of Digital Systems...
More informationCode No: R Set No. 1
Code No: R059210504 Set No. 1 II B.Tech I Semester Regular Examinations, November 2007 DIGITAL LOGIC DESIGN ( Common to Computer Science & Engineering, Information Technology and Computer Science & Systems
More informationREGISTER TRANSFER AND MICROOPERATIONS
1 REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations Logic Microoperations Shift Microoperations Arithmetic Logic Shift
More informationChapter Three. Digital Components
Chapter Three 3.1. Combinational Circuit A combinational circuit is a connected arrangement of logic gates with a set of inputs and outputs. The binary values of the outputs are a function of the binary
More informationIntroduction to Verilog
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals Presentation Outline Hardware Description Language Logic Simulation versus Synthesis
More informationRegister Transfer and Microoperations
Register Transfer Language Register Transfer Bus Memory Transfer Microoperations Some Application of Logic Micro Operations Register Transfer and Microoperations Learning Objectives After reading this
More informationUNIT  V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT
UNIT  V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) contents Memory: Introduction, RandomAccess memory, Memory decoding, ROM, Programmable Logic Array, Programmable Array Logic, Sequential programmable
More informationREGISTER TRANSFER AND MICROOPERATIONS
REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations Logic Microoperations Shift Microoperations Arithmetic Logic Shift
More informationBUILDING BLOCKS OF A BASIC MICROPROCESSOR. Part 1 PowerPoint Format of Lecture 3 of Book
BUILDING BLOCKS OF A BASIC MICROPROCESSOR Part PowerPoint Format of Lecture 3 of Book Decoder Tristate device Full adder, full subtractor Arithmetic Logic Unit (ALU) Memories Example showing how to write
More informationAdvanced Digital Design Using FPGA. Dr. Shahrokh Abadi
Advanced Digital Design Using FPGA Dr. Shahrokh Abadi 1 Venue Computer Lab: Tuesdays 10 12 am (Fixed) Computer Lab: Wednesday 1012 am (Every other odd weeks) Note: Due to some unpredicted problems with
More informationHDL for Combinational Circuits. ENEL211 Digital Technology
HDL for Combinational Circuits ENEL211 Digital Technology Lecture Outline Vectors Modular design Tristate gates Dataflow modelling Behavioural Modelling Vectors Often we want multibit quantities in digital
More informationB.Tech II Year I Semester (R13) Regular Examinations December 2014 DIGITAL LOGIC DESIGN
B.Tech II Year I Semester () Regular Examinations December 2014 (Common to IT and CSE) (a) If 1010 2 + 10 2 = X 10, then X is  Write the first 9 decimal digits in base 3. (c) What is meant by don
More informationHardware description languages
Specifying digital circuits Schematics (what we ve done so far) Structural description Describe circuit as interconnected elements Build complex circuits using hierarchy Large circuits are unreadable Hardware
More informationCSE140L: Components and Design Techniques for Digital Systems Lab. Verilog HDL. Instructor: Mohsen Imani UC San Diego. Source: Eric Crabill, Xilinx
CSE140L: Components and Design Techniques for Digital Systems Lab Verilog HDL Instructor: Mohsen Imani UC San Diego Source: Eric Crabill, Xilinx 1 Hardware description languages Used to describe & model
More informationNinput EXNOR gate. Noutput inverter. Ninput NOR gate
Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It
More informationDigital Design (VIMIAA01) Introduction to the Verilog HDL
BUDAPEST UNIVERSITY OF TECHNOLOGY AND ECONOMICS FACULTY OF ELECTRICAL ENGINEERING AND INFORMATICS DEPARTMENT OF MEASUREMENT AND INFORMATION SYSTEMS Digital Design (VIMIAA01) Introduction to the Verilog
More informationExperiment 7 Arithmetic Circuits Design and Implementation
Experiment 7 Arithmetic Circuits Design and Implementation Introduction: Addition is just what you would expect in computers. Digits are added bit by bit from right to left, with carries passed to the
More informationNH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNITII COMBINATIONAL CIRCUITS
NH 67, Karur Trichy Highways, Puliyur C.F, 639 114 Karur District DEPARTMENT OF ELETRONICS AND COMMUNICATION ENGINEERING COURSE NOTES SUBJECT: DIGITAL ELECTRONICS CLASS: II YEAR ECE SUBJECT CODE: EC2203
More informationBoolean Algebra and Logic Gates
Boolean Algebra and Logic Gates Binary logic is used in all of today's digital computers and devices Cost of the circuits is an important factor Finding simpler and cheaper but equivalent circuits can
More informationwww.vidyarthiplus.com Question Paper Code : 31298 B.E./B.Tech. DEGREE EXAMINATION, NOVEMBER/DECEMBER 2013. Third Semester Computer Science and Engineering CS 2202/CS 34/EC 1206 A/10144 CS 303/080230012DIGITAL
More informationArithmetic Operators There are two types of operators: binary and unary Binary operators:
Verilog operators operate on several data types to produce an output Not all Verilog operators are synthesible (can produce gates) Some operators are similar to those in the C language Remember, you are
More informationCode No: R Set No. 1
Code No: R059210504 Set No. 1 II B.Tech I Semester Regular Examinations, November 2006 DIGITAL LOGIC DESIGN ( Common to Computer Science & Engineering, Information Technology and Computer Science & Systems
More informationCSE140 L. Instructor: Thomas Y. P. Lee January 18,2006. CSE140L Course Info
CSE4 L Instructor: Thomas Y. P. Lee January 8,26 CSE4L Course Info Lectures Wedesday ::2AM, HSS33 Lab Assignment egins TA s JinHua Liu (jhliu@cs.ucsd.edu) Contact TAs if you re still looking for a lab
More informationDepartment of Computer Science & Engineering. Lab Manual DIGITAL LAB. Class: 2nd yr, 3rd sem SYLLABUS
Department of Computer Science & Engineering Lab Manual 435 DIGITAL LAB Class: 2nd yr, 3rd sem SYLLABUS. Verification of Boolean theorems using digital logic gates. 2. Design and implementation of code
More informationCourse Topics  Outline
Course Topics  Outline Lecture 1  Introduction Lecture 2  Lexical conventions Lecture 3  Data types Lecture 4  Operators Lecture 5  Behavioral modeling A Lecture 6 Behavioral modeling B Lecture 7
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  Lec05verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State
More informationVerilog Module 1 Introduction and Combinational Logic
Verilog Module 1 Introduction and Combinational Logic Jim Duckworth ECE Department, WPI 1 Module 1 Verilog background 1983: Gateway Design Automation released Verilog HDL Verilog and simulator 1985: Verilog
More informationCombinational and sequential circuits (learned in Chapters 1 and 2) can be used to create simple digital systems.
REGISTER TRANSFER AND MICROOPERATIONS Register Transfer Language Register Transfer Bus and Memory Transfers Arithmetic Microoperations Logic Microoperations Shift Microoperations Arithmetic Logic Shift
More informationVerilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering
Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering VERILOG FUNDAMENTALS HDLs HISTORY HOW FPGA & VERILOG ARE RELATED CODING IN VERILOG HDLs HISTORY HDL HARDWARE DESCRIPTION LANGUAGE
More informationSynthesizable Verilog
Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 5756043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL
More informationUNIT V COMBINATIONAL LOGIC DESIGN
UNIT V COMBINATIONAL LOGIC DESIGN NOTE: This is UNITV in JNTUK and UNITIII and HALF PART OF UNITIV in JNTUA SYLLABUS (JNTUK)UNITV: Combinational Logic Design: Adders & Subtractors, Ripple Adder, Look
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 informationQUESTION BANK FOR TEST
CSCI 2121 Computer Organization and Assembly Language PRACTICE QUESTION BANK FOR TEST 1 Note: This represents a sample set. Please study all the topics from the lecture notes. Question 1. Multiple Choice
More informationInjntu.com Injntu.com Injntu.com R16
1. a) What are the three methods of obtaining the 2 s complement of a given binary (3M) number? b) What do you mean by Kmap? Name it advantages and disadvantages. (3M) c) Distinguish between a halfadder
More informationChapter 3: Dataflow Modeling
Chapter 3: Dataflow Modeling Prof. SooIk Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 31 Objectives After completing this chapter, you will be able to: Describe
More informationECE 341 Midterm Exam
ECE 341 Midterm Exam Time allowed: 75 minutes Total Points: 75 Points Scored: Name: Problem No. 1 (8 points) For each of the following statements, indicate whether the statement is TRUE or FALSE: (a) A
More informationOnline Verilog Resources
EECS 427 Discussion 6: Verilog HDL Reading: Many references EECS 427 F08 Discussion 6 1 Online Verilog Resources ASICs the book, Ch. 11: http://www.ge.infn.it/~pratolo/verilog/verilogtutorial.pdf it/ pratolo/verilog/verilogtutorial
More informationVerilog Dataflow Modeling
Verilog Dataflow Modeling LanDa Van ( 范倫達 ), Ph. D. Department of Computer Science National Chiao Tung University Taiwan, R.O.C. Spring, 2017 ldvan@cs.nctu.edu.tw http://www.cs.nctu.edu.tw/~ldvan/ Source:
More informationINSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING
INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad  00 0 ELECTRONICS AND COMMUNICATIONS ENGINEERING QUESTION BANK Course Name : DIGITAL DESIGN USING VERILOG HDL Course Code : A00 Class : II  B.
More informationCHAPTER TWO. Data Representation ( M.MORRIS MANO COMPUTER SYSTEM ARCHITECTURE THIRD EDITION ) IN THIS CHAPTER
1 CHAPTER TWO Data Representation ( M.MORRIS MANO COMPUTER SYSTEM ARCHITECTURE THIRD EDITION ) IN THIS CHAPTER 21 Data Types 22 Complements 23 FixedPoint Representation 24 FloatingPoint Representation
More informationLecture 32: SystemVerilog
Lecture 32: SystemVerilog Outline SystemVerilog module adder(input logic [31:0] a, input logic [31:0] b, output logic [31:0] y); assign y = a + b; Note that the inputs and outputs are 32bit busses. 17:
More informationCourse Topics  Outline
Course Topics  Outline Lecture 1  Introduction Lecture 2  Lexical conventions Lecture 3  Data types Lecture 4  Operators Lecture 5  Behavioral modeling A Lecture 6 Behavioral modeling B Lecture 7
More informationThis Lecture. Some components (useful for the homework) Verilog HDL (will continue next lecture)
Last Lecture The basic component of a digital circuit is the MOS transistor Transistor have instrinsic resistance and capacitance, so voltage values in the circuit take some time to change ( delay ) There
More information