By William Vides Edited by Dr. George Engel

Slides:



Advertisements
Similar presentations
Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering.
Advertisements

1/8/ VerilogCopyright Joanne DeGroat, ECE, OSU1 Verilog Overview An overview of the Verilog HDL.
HDL Programming Fundamentals
Verilog Overview. University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
CPEN Digital System Design
Verilog Intro: Part 1.
Anurag Dwivedi.  Verilog- Hardware Description Language  Modules  Combinational circuits  assign statement  Control statements  Sequential circuits.
CSE 201 Computer Logic Design * * * * * * * Verilog Modeling
Verilog. 2 Behavioral Description initial:  is executed once at the beginning. always:  is repeated until the end of simulation.
Verilog - 1 Writing Hardware Programs in Abstract Verilog  Abstract Verilog is a language with special semantics  Allows fine-grained parallelism to.
Verilog-HDL Reference: Verilog HDL: a guide to digital design and synthesis, Palnitkar, Samir Some of slides in this lecture are supported by Prof. An-Yeu.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
The Multicycle Processor II CPSC 321 Andreas Klappenecker.
The Design Process CPSC 321 Computer Architecture Andreas Klappenecker.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
Reconfigurable Computing (EN2911X, Fall07) Lecture 05: Verilog (1/3) Prof. Sherief Reda Division of Engineering, Brown University
Digital System Design Verilog ® HDL Modules and Ports Maziar Goudarzi.
Digital System Design Verilog ® HDL Maziar Goudarzi.
Digital System Design Verilog ® HDL Tasks and Functions Maziar Goudarzi.
B. RAMAMURTHY Hardware Description Language 8/2/
Lecture 7 Verilog Additional references Structural constructs
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
Anthony Gaught Advisors: Dr. In Soo Ahn and Dr. Yufeng Lu Department of Electrical and Computer Engineering Bradley University, Peoria, Illinois May 7,
Verilog Basics Nattha Jindapetch November Agenda Logic design review Verilog HDL basics LABs.
1 Verilog Digital System Design Z. Navabi, 2006 Digital Design Flow  Digital Design Flow begins with specification of the design at various levels of.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
Verilog Intro: Part 2. Procedural Blocks There are two types of procedural blocks in Verilog. – initial for single-pass behavior: initial blocks execute.
ECE 2372 Modern Digital System Design
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Verilog-A Language By William Vides William Vides Modfied by George Engel.
Introduction Verilog is a HARDWARE DESCRIPTION LANGUAGE (HDL) A hardware description language is a language or means used to describe or model a digital.
Verilog HDL: A solution for Everybody By, Anil Kumar Ram Rakhyani
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.
Module 2.1 Gate-Level/Structural Modeling UNIT 2: Modeling in Verilog.
CH71 Chapter 7 Hardware Description Language (HDL) By Taweesak Reungpeerakul.
EEE2243 Digital System Design Chapter 3: Verilog HDL (Combinational) by Muhazam Mustapha, January 2011.
Module 1.2 Introduction to Verilog
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Slide 1 2. Verilog Elements. Slide 2 Why (V)HDL? (VHDL, Verilog etc.), Karen Parnell, Nick Mehta, “Programmable Logic Design Quick Start Handbook”, Xilinx.
Chap. 4 Modules and Ports. 2 Modules and Ports Modules Ports Hierarchical Names Summary.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
Introduction to ASIC flow and Verilog HDL
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Computer Organization Lecture 12 - Introduction.
Multiplexers Section Topics Multiplexers – Definition – Examples – Verilog Modeling.
Introduction to Verilog
Slide 1 3.VHDL/Verilog Description Elements. Slide 2 To create a digital component, we start with…? The component’s interface signals Defined in MODULE.
Chapter 6: Hierarchical Structural Modeling Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 6-1 Chapter 6: Hierarchical.
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,
CprE 281: Verilog Tutorial Ben Magstadt – Master’s Student Electrical Engineering.
Verilog-HDL Reference: Verilog HDL: a guide to digital design and synthesis, Palnitkar, Samir Some of slides in this lecture are supported by Prof. An-Yeu.
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
An Overview CS341 Digital Logic and Computer Organization F2003.
Hardware Description Languages: Verilog
Supplement on Verilog FF circuit examples
FLIPPED CLASSROOM ACTIVITY CONSTRUCTOR
Hardware Description Languages: Verilog
By William Vides Edited by Dr. George Engel
Introduction to DIGITAL CIRCUITS MODELING & VERIFICATION using VERILOG [Part-I]
Real Number Modeling Enables Fast, Accurate Functional Verification
Verilog-HDL Reference: Verilog HDL: a guide to digital design and synthesis, Palnitkar, Samir Some of slides in this lecture are supported by Prof. An-Yeu.
Supplement on Verilog adder examples
The Verilog Hardware Description Language
The Verilog Hardware Description Language
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

By William Vides Edited by Dr. George Engel Verilog-A Language By William Vides Edited by Dr. George Engel

Topics to be Covered Background information Analog System Description and Simulation Types of Analog systems Signals in Analog systems Analog System simulation Analog Model Properties Analog Operators

Background Information Fundamental differences between digital and analog design. Current level of abstractions achieved by Spice and Verilog HDL Verilog -A as an extension of Spice

Difference between Digital and Analog Design Always @ (enable) begin valid = 1’b0; // do write cycle addr_lines = addr; data_lines = data; @ (negedge clk) begin valid = 1’b1; end Bottom-Up Transistor level Level Top Down Refined from HDL Digital

Current Levels of Abstraction Achieved by Spice and Verilog verilog HDL Higher level of abstraction Behavioral Gate Spice Switch Analog Circuit Digital

Verilog-A as an extension of Spice verilog HDL Higher level of abstraction Behavioral Gate Switch Analog Circuit Digital

Analog System Description and simulation Structural Description a module is comprised of other child modules Behavioral Description descriptions in a programmatic fashion with the Verilog-A language The module is defined in terms of the values for each signal Mixed-level Descriptions Combine both Structural and Behavioral Descriptions

Modem Example modem demodulator modulator channel The modem system is made up of 1) the modulator 2) a channel 3) the demodulator

Structural Description hierarchy Module: qam Instance: mod module: qam_mod Instance: c1 module: channel Instance: demod module: qam_demod

Structural Description of the Modem System // Verilog A definition of the modem System `include “std.va” module modem( dout, din)’ inout dout, din; electrical dout, din; parameter real fc = 100.0e6; electrical clk, cin, cout; qam_mod #(.carrier_freq(fc)) mod (cin,din,clk); channel c1 ( cout, cin); qam_demod #(.carrier_freq(fc)) demod (dout,cout,clk); endmodule

Structural Description Type of module instance Name of the instance created qam_mod # ( .carrier_freq(fc)) mod ( cin, din, clk); Parameter name in child ( qam_mod) module assigned as: carrier_freq = fc

16_QAM modem Example A cos( 2 pi fct + pi/4) ai 2-bit d2a di mout din A(t)cos( 2pifct + 0(t)) din Serin_parout dq 2-bit d2a aq A sin( 2pi fct + pi/ 4)

Verilog A mixed Signal definition of 16-QAM modulator `include “std.va” `include “const.va” module qam_mod( mout, din, clk); inout mout, din, clk; electrical mout, din, clk; parameter real fc = 100.0e6; electrical di1,di2, dq1, dq2; electrical ai, aq; serin_parout sipo( di1,di2,dq1,dq2,din,clk); d2a d2ai(ai, di1,di2,clk); d2a d2aq(aq, dq1,dq2,clk); real phase;

Verilog A mixed Signal definition of 16-QAM modulator analog begin phase = 2.0 * `M_PI * fc* $realtime() + `M_PI_4; V(mout) <+ 0.5 * (V(ai) * cos(phase) + V(aq) * sin (phase)); end endmodule The behavioral definition of the QAM modulation is defined The signals ai and aq are the outputs of the 2-bit D/A converters

Type of analog systems Conservative Systems Signal Flow Systems use of Kirchoff’s laws Electrical Systems use KVL and KCL Any conservative System use KPL and KFL applied to branches Signal Flow Systems only potential is associated with every node unidirectional notion of ports ( input / output)

Conservative Systems Device + - V In a conservative system the charges or signals can enter a particular device in both ways.

Common Emitter amplifier with RC bandpass filter Example Vout R2 Vin n1 gain =25.0 C1 R1 C2 gnd

Verilog A behavioral description of ce-amp with RC bandpass filter `include “std.va” module mbce_amp_rcn ( in, out, gnd); inout in, out, gnd; electrical in, out, gnd; parameter real gain = 1.0; parameter real r1 = 4k; parameter real c1 = 100n; parameter real r2 = 100k; parameter real c2 = 2.8p; electrical n1, n2;

Verilog A behavioral description of ce-amp with RC bandpass filter analog begin I( in, n1) <+ c1 * ddt( V(in,n1)); V(n1, gnd) <+ r1 * I(in,n1); I(n1,n2) <+ V(n1, n2) / r2; I(n2,gnd) <+ c2* ddt( V(n2, gnd)); V(out, gnd) <+ V(n2,gnd) * (-gain); end endmodule

Signal Flow Systems in Out Amplifier In signal flow systems a signal can only enter a device in one way only.

What is Simulation? simulation is a process in which a system of nonlinear ordinary differential equations is solved this equations are not input directly , but derived from each of the models that are interconnected in the netlist

What it means to the user ? To the user a simulation is essentially a software version of an oscilloscope or logic analyzer. A simulation is a technique by which the user ask questions and receives answers from a program . The quality of the answers depends on the quality of the questions.

Analog System Simulation The Standard approach to analog circuit simulation involves formulate the differential-algebraic equations for the circuit applying implicit integration methods to the sequence of nonlinear algebraic equations iterative methods such as Newton-Raphson to reduce to a set of linear equations using sparse matrix techniques to solve the linear equations

Analog System Simulation design behavior Formulation structure System of Equations

Analog Model Properties The Verilog-A language can be used to represent different types of behaviors these include Linear Nonlinear Piecewise linear Integro differential Event-driven Analog

Analog Operators The Verilog-A language defines analog operators for Time Derivative Time Integral Linear time delay Discrete waveform filters LaPlace Transform filters Z-transform filters

Time Derivative Operator The ddt Operator computes the time derivative of its arguments ddt ( expression) In DC analysis the ddt operator returns a zero. Application of the ddt operator results in a zero at the origin.

Time Integral Operator The idt operator computes the time integral of its arguments idt( expression, ic, reset) When specified with initial conditions the idt operator returns the value of the initial condition in DC. Without initial conditions , idt multiplies its argument by infinity in DC analysis.

Time Integral Operator The Optional argument RESET allows resetting of the integrator to the initial condition or IC value. Application of the idt operator results in a pole at the origin.

Delay Operator Delay operator implements a transport or linear time delay for continuous waveforms delay ( expression, dt) The parameter DT must be positive The effect of the delay operator in the time domain is to provide a direct time translation of the input

Transition Operator The transition operator smooths out piece-wise constant waveforms. The transition filter is used to imitate transitions and delays on discrete signals transition ( expression, dt, tr, tf) The input expression to the transition operator must be defined in terms of discrete states.

Transition Operator The parameters dt, tr, tf are optional tr - transition rise tf - transition fall dt - change in time if dt is not specified then it is taken to be zero if the value for tr is specified the simulator will use it for both the rise and fall times.

Transition Operator When rise and fall times are longer than the specified delay if the new final value level is below the current value the transition Operator uses the old destination as the origin. If the new destination is above the current level the first origin is retained

Transition Operator Translated Origin Old value tf Input change New value tr Old origin A rising transition is interrupted near its midpoint, and the new destination level of the value is below the current value. For the new origin and destination. The transition computes the slope that completes the transition from origin in the specified transition time. It then uses the computed slope to transition from the current value to the new destination.

Slew Operator The slew operator bounds the slope of the waveform used to generate continuous signals from piece-wise continuous signals slew ( expression, mpsr, mnsr) mpsr - maximum positive slew rate mnsr - minimum negative slew rate

Slew Operator The Slew Operator forces all transitions of the input expression faster than mpsr to change at mpsr for positive transitions and limits negative transitions to mnsr mpsr must be greater than zero mnsr must be lower than zero if only one rate is specified, the absolute value will be used for both rates

Slew Operator If no rate is specified the slew operator passes the signal through unchanged. In DC analyses, the slew operator passes the value of the destination to its output In AC small-signal analyses the slew function has unity transfer function except when slewing, in that case it has zero transmission through the slew operator

Laplace Transform Operators The Laplace transform operators implement lumped, continuous-time filters laplace_zp(express, numerator, denominator) lapace_zd(express, numerator,denominator) lapace_np( express, numerator,denominator) lapace_nd(express, numerator,denominator) H(s) = N(s)/D(s)

Laplace Transform Operator The laplace transform analog operator take vector arguments that specify the coefficients of the filter Laplace analog operators represent linear time-Invariant filters laplace_zp - the zeros and poles are specified as pairs of real numbers specifying the real and imaginary components of each zero or pole

Laplace Transform Operator Laplace_nd - zeros and poles of the filter are specified as polynomial coefficients from lowest order term to highest Laplace_zd - zeros of the filter are specified as pairs of real numbers and the poles of the filter are specified as polynomial coefficients

Laplace Transform Operator Laplace_np - Zeros of the filter are specified as polynomial coefficients and the poles of the filter are specified as pairs of real numbers

Laplace Transform example // Laplace analog operator example of Butterworth low-pass // filter using laplace_nd module laplace_op(out , in); inout out, in; electrical out, in; analog V(out) <+ laplace_nd ( V(in), {1.0}, {1.0, 3.236, 5.236, 5.236, 3.236, 1.0}); endmodule Taken from the equation H(s) = 1/( s^5 + 3.236s^4 +5.236s^3 +5.236s^2 +3.236s +1)

Z-Transform Operators The Z-Transform operators implement linear discrete-time filters zi_zp( expression, numerator,denominator,T ,trf ,t0) zi_zd( expression, numerator,denominator,T ,trf ,t0) zi_np( expression, numerator,denominator,T ,trf ,t0) zi_nd( expression, numerator,denominator,T ,trf ,t0)

Z-Transform Operators H( z ) = N( z )/ D( z ) the Z-transform analog operator take vector arguments that specify the coefficients of the filter. All Z-transform share the arguments T, trf, and t0 T -specifies the period of the filter mandatory and must be positive

Z-Transform Operators Trf - specifies the optional transition time and must be positive if trf is zero, then the output is abruptly discontinuous a Z-transform filter with zero transition time assigned directly to a source branch can generate discontinuities t0 - specifies the time of the first transition and is optional if t0 is not given, the transition occurs at t=0

Z-Transform Operators Zi_zp - zeros and poles of the filter are specified as pairs of real numbers specifying the real and imaginary components of each zero or pole zi_nd- zeros and poles of the filters are specified as polynomial coefficients from the lowest order term to the highest

Z-Transform Operators Zi_zd - zeros of the filter are specified as pairs of real numbers and the poles of the filter are specified as polynomial coefficients zi_np- zeros of the filters are specified as polynomial coefficients and the poles of the filter are specified as pairs of real numbers