Guest Lecture by Ben Magstadt CprE 281: Digital Logic.

Slides:



Advertisements
Similar presentations
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
Advertisements

Verilog Fundamentals Shubham Singh Junior Undergrad. Electrical Engineering.
Verilog Overview. University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
Chapter 11 Verilog HDL Application-Specific Integrated Circuits Michael John Sebastian Smith Addison Wesley, 1997.
Verilog Intro: Part 1.
CSE 201 Computer Logic Design * * * * * * * Verilog Modeling
Electrical and Computer Engineering MIDI Note Number Display UGA Presentation and Demo ECE 353 Lab B.
1 Verilog Digital Computer Logic Kashif Bashir WWW: http//:
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Verilog Sequential Circuits Ibrahim Korpeoglu. Verilog can be used to describe storage elements and sequential circuits as well. So far continuous assignment.
Verilog Lab This presentation includes some material that is selected from BUCKNELL VERILOG HANDBOOK. Instructor: Dr. Charles Liu Prepared by John Ren.
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
Lecture Note on Verilog, Course # , EE, NTU, C.H Tsai Basic Logic Design with Verilog TA: Chen-han Tsai.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
Spring Introduction  Today’s tutorial focuses on introducing you to Xilinx ISE and Modelsim.  These tools are used for Verilog Coding Simulation.
Verilog HDL: A solution for Everybody By, Anil Kumar Ram Rakhyani
Verilog Language Concepts
ASIC 121: Practical VHDL Digital Design for FPGAs Tutorial 1 September 27, 2006.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
Lecture #2 Page 1 ECE 4110– Sequential Logic Design Lecture #2 Agenda 1.Logic Design Tools Announcements 1.n/a.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Behavioral Modelling - 1. Verilog Behavioral Modelling Behavioral Models represent functionality of the digital hardware. It describes how the circuit.
Speaker: Tsung-Yi Wu FPGA Design Flow (Part 2) : Simulation.
1 Verilog Digital System Design Z. Navabi, 2006 Verilog Language Concepts.
Verilog A Hardware Description Language (HDL ) is a machine readable and human readable language for describing hardware. Verilog and VHDL are HDLs.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
 Seattle Pacific University EE Logic System DesignAlteraBoard-2 Altera Cyclone II (484 Pin BGA) 22 Pins.
Introduction to ASIC flow and Verilog HDL
CSE/CoE 535 : Attig 1 ModelSim Tutorial for CSE 535 Michael Attig
Introduction to Verilog. Data Types A wire specifies a combinational signal. – Think of it as an actual wire. A reg (register) holds a value. – A reg.
Teaching Digital Logic courses with Altera Technology
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
2/2/07EECS150 Lab Lecture #31 Verilog Synthesis & FSMs EECS150 Spring 2007 – Lab Lecture #3 Brent Mochizuki Greg Gibeling.
CprE 281: Verilog Tutorial Ben Magstadt – Master’s Student Electrical Engineering.
1 VHDL & Verilog Simulator. Modelsim. 2 Change the directory to where your files exist (All of the files must be in a same folder). Modelsim.
Introduction to Verilog. Structure of a Verilog Program A Verilog program is structured as a set of modules, which may represent anything from a collection.
1 University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
Tutorial for Modelsim 1 Installation Download the Modelsim Student Edition: Follow the.
Copyright © 2007 by Pearson Education 1 UNIT 6A COMBINATIONAL CIRCUIT DESIGN WITH VHDL by Gregory L. Moss Click hyperlink below to select: Tutorial for.
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
Introduction to the FPGA and Labs
Hardware Description Languages: Verilog
EECE6017C - Lab 0 Introduction to Altera tools and Basic Digital Logic
Introduction to Verilog
Dept. of Electrical and Computer Engineering
Discussion 2: More to discuss
Topics Modeling with hardware description languages (HDLs).
Hardware Description Languages: Verilog
Topics Modeling with hardware description languages (HDLs).
Introduction to Verilog
Week 5, Verilog & Full Adder
Introduction to Verilog
ECNG 1014: Digital Electronics Lecture 1: Course Overview
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
Introduction to Verilog
THE ECE 554 XILINX DESIGN PROCESS
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

Guest Lecture by Ben Magstadt CprE 281: Digital Logic

Verilog Tutorial CprE 281: Digital Logic Iowa State University, Ames, IA Copyright © 2013 Ben Magstadt – Master’s Student Electrical Engineering

Announcements Dr. Stoytchev is gone this week Will still have lecture all week Homework 3 is due now Homework 4 is due next Monday (9/23/2013)

Agenda Overview of Hardware Description Languages Overview of Verilog Simulating Verilog Examples

HDL – Hardware Description Language Used to mirror the behavior of hardware Used for Digital design Schematic Layout Digital timing Digital verification Analog verification

HDL – Hardware Description Language Most Popular Verilog Used more often More compatible with Cadence tools Timing Simulation Focused on at Iowa State University VHDL Still used some in industry Usage is decreasing

Verilog at Iowa State University CprE281 Lab Final Project EE330 Homework Lab Final Project EE465/CprE465 Lab Final Project Possibly others

Verilog – Main Data types Input Output Inout – Rarely Used (Tool Compatibility Issues) Wires: No driving strength Just declare for internal Use with assigns or from a variable being driven from other module Registers Output or just internal Used elsewhere when driving a variable More data types System Verilog: real Verilog-AMS (Analog Mixed Signal): real, wreal, electrical

Verilog – Coding Styles Structural Used to represent logic primitives not(A, B); Behavioral Used to represent more complex logical statements easier A <= ~A & (B | C); Inside of an ‘always’ block assign A = ~A & (B | C); Outside of an ‘always’ block

Verilog – ‘initial’ Blocks Used to define initial states of variables Not floating Can’t be used when synthesizing a circuit Used mostly in test benches Will also work when programming FPGA Also a ‘final’ block Seldom used, but good for verifying the final state of system

Verilog – ‘always’ Blocks Used to produce an action on a variable change Similar to a D Flip-Flop clk) begin A <= B; end begin A <= B; end

Verilog – Other useful functionality If-else Only inside of an ‘always’ block Case Only inside of an ‘always’ block For Only inside of an ‘always’ block Careful with usage – can produce synthesis errors Timescale `timescale 1ns/1ps reference/precision Wait #10: Wait ten time units Units based on timescale Only use in test benches and for verification purposes

Verilog: Blocking vs. Non-Blocking Statements Blocking Behaves like normal programming languages Values are instantly entered and can be used on the next line = Won’t synthesize if used in an always block Only for assigns Non-blocking <= All statements are entered at the same time Example Simulation Later

Verilog Simulation on Campus Quartus to program FPGA Great for interactive learning ModelSim Able see internal registers Can see full simulation waveforms Access from anywhere Cadence & Cadence tools Schematic Layout Timing

Verilog Simulation: ModelSim Tutorial On any Linux machine or remote Linux machine on campus Download Model_Sim.env Move to a new directory Enter this new directory in a console Type: source ModelSim_env.txt Type: vsim &

Verilog Simulation: ModelSim Tutorial Close IMPORTANT Information window File -> New Project Make a project name Right Click -> New File Make sure Add file as type is set to Verilog Create Verilog file Name is usually same as the module name (Required in Quartus) Create Verilog file test bench Double Click file to open and edit

Verilog Simulation: ModelSim Tutorial Compile -> Compile All Green check mark for success/red X for error Double click red X to see explanation of error Simulate -> Start Simulation Uncheck Enable Optimization Under the work tab, find the test bench Find wave tab or View -> New Window -> Wave Right click in object window, then Add -> To Wave -> Signals in Design

Verilog Simulation: ModelSim Tutorial Find and click the run icon next to the time display Change the simulation time if necessary Control + mouse scroll is zoom Right click on variables to switch radix from Binary, Decimal, Hex, etc.

Verilog Simulation: ModelSim Example Simple AND gate and other logic 3 Ways 8’bit Adder 2 Ways Blocking vs. Non-blocking Choosing math operation State machine with reset

Contact Info Ben Magstadt Office: Coover 3133 Website: Presentation Instructions Source file Examples

Questions?

THE END