Verilog Tutorial 9/28/2015. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

Similar documents
Verilog Tutorial. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

Verilog 1 - Fundamentals

Verilog 1 - Fundamentals

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

A Tutorial Introduction 1

Synthesis of Combinational and Sequential Circuits with Verilog

The Verilog Hardware Description Language

Behavioral Modeling and Timing Constraints

Verilog for High Performance

MLR Institute of Technology

Sunburst Design - Verilog-2001 Design & Best Coding Practices by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Lecture 15: System Modeling and Verilog

Verilog for Synthesis Ing. Pullini Antonio

Image Courtesy CS250 Section 2. Yunsup Lee 9/4/09

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

Course Details: Webpage

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

EECS150 - Digital Design Lecture 10 Logic Synthesis

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)

What is Verilog HDL? Lecture 1: Verilog HDL Introduction. Basic Design Methodology. What is VHDL? Requirements

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

Hardware Description Language (HDL)

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

Behavioral Modeling and Timing Constraints

Synthesizable Verilog

EECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.

structure syntax different levels of abstraction

Here 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

Hardware Description Languages (HDLs) Verilog

VHDL for Synthesis. Course Description. Course Duration. Goals

Topics. Midterm Finish Chapter 7

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23

Register Transfer Level in Verilog: Part I

EECS150 - Digital Design Lecture 10 Logic Synthesis

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

RIZALAFANDE CHE ISMAIL TKT. 3, BLOK A, PPK MIKRO-e KOMPLEKS PENGAJIAN KUKUM. SYNTHESIS OF COMBINATIONAL LOGIC (Chapter 8)

Verilog Fundamentals. Shubham Singh. Junior Undergrad. Electrical Engineering

Lecture #1: Introduction

Why Should I Learn This Language? VLSI HDL. Verilog-2

Example of Digital System Design

Blocking(=) vs Nonblocking (<=) Assignment. Lecture 3: Modeling Sequential Logic in Verilog HDL. Procedural assignments

Finite-State Machine (FSM) Design

EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification

VHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses

Modular SystemVerilog

register:a group of binary cells suitable for holding binary information flip-flops + gates

FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]

Design Compiler Interface 8

IT T35 Digital system desigm y - ii /s - iii

ECE U530 Digital Hardware Synthesis. Programming Assignments

CSE140L: Components and Design Techniques for Digital Systems Lab

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

Digital Design with FPGAs. By Neeraj Kulkarni

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

Laboratory Exercise 3

Introduction. Purpose. Intended Audience. Conventions. Close

CSE140L: Components and Design

Programming with HDLs

Schematic design. Gate level design. 0 EDA (Electronic Design Assistance) 0 Classical design. 0 Computer based language

Nikhil Gupta. FPGA Challenge Takneek 2012

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

FPGA Design Flow 1. All About FPGA

a, b sum module add32 sum vector bus sum[31:0] sum[0] sum[31]. sum[7:0] sum sum overflow module add32_carry assign

FSM-based Digital Design using Veriiog HDL

Lecture #2: Verilog HDL

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Finite State Machine Lab

Chap 6 Introduction to HDL (d)

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

Overview. Implementing Gigabit Routers with NetFPGA. Basic Architectural Components of an IP Router. Per-packet processing in an IP Router

PINE TRAINING ACADEMY

N-input EX-NOR gate. N-output inverter. N-input NOR gate

Programmable Logic Devices HDL-Based Design Flows CMPE 415

Writing Circuit Descriptions 8

Verilog HDL. A Guide to Digital Design and Synthesis. Samir Palnitkar. SunSoft Press A Prentice Hall Title

CMSC 611: Advanced Computer Architecture

EEL 4783: Hardware/Software Co-design with FPGAs

Introduction to Verilog HDL. Verilog 1

Introduction To HDL. Verilog HDL. Debdeep Mukhopadhyay Dept of CSE, IIT Madras 1

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Lecture 11 Logic Synthesis, Part 2

EE 4755 Digital Design Using Hardware Description Languages

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

Verilog Module 1 Introduction and Combinational Logic

Chapter 4 :: Topics. Introduction. SystemVerilog. Hardware description language (HDL): allows designer to specify logic function only.

CSE370 TUTORIAL 3 - INTRODUCTION TO USING VERILOG IN ACTIVE-HDL

EEL 4783: HDL in Digital System Design

R07. IV B.Tech. II Semester Supplementary Examinations, July, 2011

CSCB58 - Lab 3. Prelab /3 Part I (in-lab) /2 Part II (in-lab) /2 TOTAL /8

ECE Digital Engineering Laboratory. Designing for Synthesis

Digital VLSI Design with Verilog

Nonblocking Assignments in Verilog Synthesis; Coding Styles That Kill!

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013

Chapter 9: Sequential Logic Modules

Tutorial 2.(b) : Synthesizing your design using the Synopsys Design Compiler ( For DFT Flow)

Lecture 32: SystemVerilog

Transcription:

Verilog Fundamentals Verilog Tutorial History Data types Structural Verilog Functional Verilog Adapted from Krste Asanovic Originally designers used manual translation + bread boards for verification Hardware design languages enabled logic level simulation and verification Once design were written in HDLs tools could be used for automatic translation Primary Verilog data type is a bit-vector where bits can take on one of four values 1

The Verilog keyword wire is used to denote a standard hardware net Verilog includes ways to specify bit literals in various bases Data types Structural Verilog Functional Verilog Verilog Basics A Verilog module includes a module name and a port list A Verilog module includes a module name and a port list A module can instantiate other modules creating a module hierarchy 2

A module can instantiate other modules creating a module hierarchy A module can instantiate other modules creating a module hierarchy Verilog supports connecting ports by position and by name Let s review how to turn our schematic diagram into structural Verilog Let s review how to turn our schematic diagram into structural Verilog Data types Structural Verilog Functional Verilog Gate level Register transfer level High-level behavioral Verilog Fundamentals 3

Functional Verilog can roughly be divided into three abstraction levels Gate-level Verilog uses structural Verilog to connect primitive gates Continuous assignments statements assign one net to another or to a literal Using continuous assignments to implement an RTL four input mutliplexer Verilog RTL includes many operators in addition to basic boolean logic Verilog RTL operators 4

Always blocks have parallel inter-block and sequential intra-block sematics Always blocks have parallel inter-block and sequential intra-block sematics Always blocks have parallel inter-block and sequential intra-block sematics Always blocks have parallel inter-block and sequential intra-block sematics Always blocks have parallel inter-block and sequential intra-block sematics Continuous and procedural assignment statements are very different 5

Always blocks can contain more advanced control constructs What happens if the case statement is not complete? What happens if the case statement is not complete? So is this how we make latches and flipflops? more about Verilog execution semantics more about Verilog execution semantics 6

more about Verilog execution semantics more about Verilog execution sematics more about Verilog execution sematics more about Verilog execution semantics more about Verilog execution semantics more about Verilog execution sematics 7

more about Verilog execution sematics We didn t model what we expected due to Verilog execution semantics Non-blocking procedural assignments add an extra event queue Non-blocking procedural assignments add an extra event queue The order of non-blocking assignments does not matter Common patterns for latch and flip-flop inference 8

Writing Good Synthesizable Verilog Behavioral Verilog is used to model the abstract function of a hardware Verilog can be used to model the highlevel behavior of a hardware block Delay statements should only be used in test harnesses System tasks are used for test harnesses and simulation management Which abstraction is the right one? 9

Examples Mux4: Gate-level structural Verilog Mux4: Using continuous assignments Mux4: Behavioral style Mux4: Using always block Mux4: Always block permit more advanced sequential idioms 10

Parametrized mux4 Flip-flops Flip-flops with reset Register Register in terms of Flip-flops Static Elaboration: Generate 11

A simple state machine for valid/ready signals Implementing the control logic finite state machine in Verilog Implementing the control signal outputs for the finite state machine Implementing the state transitions for the finite state machine Take away points 12