C ONTINUOUS A SSIGNMENTS. C OMBINATIONAL L OGIC C IRCUITS each output of a Combinational Logic Circuit  A function of the inputs - Mapping functions.

Slides:



Advertisements
Similar presentations
Verilog HDL -Introduction
Advertisements

ENEL111 Digital Electronics
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 06: Verilog (2/3) Prof. Sherief Reda Division of.
//HDL Example 4-10 // //Gate-level description of circuit of Fig. 4-2 module analysis (A,B,C,F1,F2); input.
Verilog.
The Verilog Hardware Description Language
Supplement on Verilog adder examples
Verilog Descriptions of Digital Systems
Chap. 6 Dataflow Modeling
Hardware Description Language (HDL)
SYEN 3330 Digital SystemsJung H. Kim Chapter SYEN 3330 Digital Systems Chapters 4 – Part3: Verilog – Part 1.
CSE 201 Computer Logic Design * * * * * * * Verilog Modeling
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Lecture 2: Hardware Modeling with Verilog HDL
OUTLINE Introduction Basics of the Verilog Language Gate-level modeling Data-flow modeling Behavioral modeling Task and function.
Verilog Sequential Circuits Ibrahim Korpeoglu. Verilog can be used to describe storage elements and sequential circuits as well. So far continuous assignment.
ECE 353 Computer Systems Lab I Verilog Hardware Description Language.
ENEE 408C Lab Capstone Project: Digital System Design Spring 2005 Class Web Site: e408c.
ENEE 408C Lab Capstone Project: Digital System Design Spring 2006 Class Web Site:
Reconfigurable Computing (EN2911X, Fall07) Lecture 05: Verilog (1/3) Prof. Sherief Reda Division of Engineering, Brown University
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
Computer Organization Lecture Set – 03 Introduction to Verilog Huei-Yung Lin.
B. RAMAMURTHY Hardware Description Language 8/2/
Lecture 7 Verilog Additional references Structural constructs
Verilog Basics Nattha Jindapetch November Agenda Logic design review Verilog HDL basics LABs.
INTRODUCTION TO VERILOG HDL Presented by m.vinoth.
Modeling styles: 1. Structural Modeling: As a set of interconnected components (to represent structure), 2. Dataflow Modeling: As a set of concurrent assignment.
Chapter 6. Dataflow Modeling. Continuous Assignments The left hand side always be a scalar or vector net or a concatenation of scalar and vector nets.
 Delay values control the time between the change in a right-hand-side operand and when the new value is assigned to the left- hand side.  Three ways.
Outline Analysis of Combinational Circuits Signed Number Arithmetic
ECE 2372 Modern Digital System Design
ECE/CS 352 Digital Systems Fundamentals
Workshop Topics - Outline
1 Chapter 4 Combinational Logic Logic circuits for digital systems may be combinational or sequential. A combinational circuit consists of input variables,
Combinational Logic. Digital Circuits Introduction Logic circuits for digital systems may be combinational or sequential. A combinational circuit.
Digital System 數位系統 Verilog HDL Ping-Liang Lai (賴秉樑)  
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
CPEN Digital System Design
CWRU EECS 317 EECS 317 Computer Design LECTURE 1: The VHDL Adder Instructor: Francis G. Wolff Case Western Reserve University.
Module 1.2 Introduction to Verilog
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
1 Verilog Digital System Design Z. Navabi, 2006 Verilog Language Concepts.
M.Mohajjel. Continuous Assignments Continuously Drive a value onto a net Left hand side must be net Right hand side registers nets function calls Keyword.
Introduction to ASIC flow and Verilog HDL
Verilog hdl – II.
Multiplexers Section Topics Multiplexers – Definition – Examples – Verilog Modeling.
Introduction to Verilog
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-1 Chapter 1: Introduction Prof. Ming-Bo.
Verilog Intro: Part 1. Hardware Description Languages A Hardware Description Language (HDL) is a language used to describe a digital system, for example,
Digital System Design Verilog ® HDL Dataflow Modeling Maziar Goudarzi.
C OMBINATIONAL L OGIC D ESIGN 1 Eng.Maha AlGubali.
Exp#5 & 6 Introduction to Verilog COE203 Digital Logic Laboratory Dr. Ahmad Almulhem KFUPM Spring 2009.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
Hardware Description Languages: Verilog
Combinational Circuits
Verilog Introduction Fall
Lecture 2 Supplement Verilog-01
Hardware Description Languages: Verilog
Introduction to DIGITAL CIRCUITS MODELING & VERIFICATION using VERILOG [Part-I]
Behavioral Modeling in Verilog
UNIT 2: Data Flow description
Introduction to Verilog
Hardware Descriptive Languages these notes are taken from Mano’s book
Supplement on Verilog adder examples
Chapters 4 – Part3: Verilog – Part 1
The Verilog Hardware Description Language
COE 202 Introduction to Verilog
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

C ONTINUOUS A SSIGNMENTS

C OMBINATIONAL L OGIC C IRCUITS each output of a Combinational Logic Circuit  A function of the inputs - Mapping functions (fo, f1, f2, …fm) the outputs are updated immediately after the inputs change  Don’t forget the propagation delay in real circuits

D ATAFLOW M ODELLING only model behaviour of combinational logic circuits assign a value to a net using continuous assignment (CA) statement continuous assignment corresponds to combinational logic, without requiring explicit instantiation of gates flip-flops and latches can NOT be created using continuous assignment continuous assignments are always active source order of the CA statements does not impact the design CA statements are executed concurrently

C ONTINUOUS A SSIGNMENTS MEANING A continuous assignment is the most basic statement in dataflow modeling, used to drive a value onto a net. A continuous assignment replaces gates in the description of the circuit and describes the circuit at a higher level of abstraction. A continuous assignment statement starts with the keyword assign.

A SIMPLE DATAFLOW EXAMPLE Assign c = a&&b; “ assign ” is the keyword carrying out the assignment operation. This types of assignment is called a continuous assignment. a and b are operands – typically single-bit logic variables. “&&” is a logic operator. It does the bit-wise AND operation on the two operands a and b. “=“ is an assignment activity carried out. C is a net representing the signal which is the result of the assignment.

C ONTINUOUS A SSIGNMENTS SYNTAX //Syntax of assign statement in the simplest form ::= assign ? ? ; Example: / / Continuous assign. out is a net. i 1 and i 2 are nets. assign out = i 1 & i 2 ; // Continuous assign for vector nets. addr is a 16-bit vector net // addrl and addr2 are 16-bit vector registers. assign addr[l5:0] = addrl_bits[l5:0] * addr2_bits[l5:0]; // Concatenation. Left-hand side is a concatenation of a scalar // net and a vector net. assign {c_out, sum[3:0]) = a[3:0] + b[3:0] + c_in;

D ATAFLOW EXAMPLE AND-OR-INVERT

8 E XAMPLE : M ULTIPLEXER

9 E XAMPLE Example: Half Adder Compare the two Verilog modules and comment their final implementations. Ans: The ‘+’ operator is not bound directly to physical gates

Example: Full Adder

Example: Given:Tpd(AND) = 10ns Tpd(XOR) = 15ns `timescale 1ns/100ps module Half_Adder (CO, SUM, A, B); output CO, SUM; input A, B; assign #10 CO = A & B; assign #15 SUM = A ^ B; endmodule

E XAMPLE : 4X1 M U X USING LOGIC EQUATIONS // Module 4-to-1 multiplexer using data flow logic equation // Compare to gate-level model module mux4_to_1 (out, i 0, i 1, i 2, i 3, s 1, s 0 ); // Port declarations from the I/O diagram output out; input i 0, i 1, i 2, i 3 ; input s 1, s 0 ; // Logic equation for out assign out = (~s 1 & ~s 0 & i 0 ) | (~s 1 & s 0 & i 1 ) | (s 1 & ~s 0 & i 2 ) |(s 1 & s 0 & i 3 ) ;

4- TO -1 M ULTIPLEXER, U SING C ONDITIONAL O PERATORS / / Module 4-to-1 multiplexer using data flow. Conditional operator. / / Compare to gate-level model module multiplexer4-to-1 (out, i 0, i 1, i 2, i 3, s 1, s 0 ); / / Port declarations from the I/O diagram output out; input i 0, i 1, i 2, i 3 ; input s 1, s 0 ; / / Use nested conditional operator assign out = s 1 ? ( s 0 ? i 3 : i 2 ) : (s 0 ? i l : i 0 ) ; endmodule