We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byAntonio Montgomery
Modified over 3 years ago
Non-synthesizability in Verilog Presented by Pradip Mukhopadhyay ISL-MOD3(E)PR3
©Interra Systems 2 Sub-module Description Schedule: –Presentation (PR1-PR4): 4 sessions –Lab: 5 sessions Objective: –Make the SpecToLayout trainees aware about the non- synthesizable aspects of Verilog Aim: –Enable SpecToLayout trainees to write proper and efficient Verilog codes, eliminating those elements that hinder synthesis
©Interra Systems 3 Contents Introduction Non-synthesizable Constructs Non-synthesizable Behavior Modeling Potential RTL-Gate Simulation Mismatch Summary Reference
©Interra Systems 4 Introduction Todays session covers: Non-synthesizable constructs and modeling styles in Verilog Styles causing simulation-synthesis mismatch
©Interra Systems 5 Non-synthesizable Constructs Initial block –Used only in test benches Events –Make more sense for syncing test bench components Datatypes –Real, Time, and RealTime are not supported for synthesis Force & Release –Force and release of data types are not supported Assign and deassign –Assign and deassign of reg data types are not supported –Assign on wire data type is supported
©Interra Systems 6 Fork join Preferable to use non-blocking assignments instead Primitives Only gate level primitives are supported Table Limited support for UDPs Delays Used for simulation purpose System task/function Limited usability in synthesis (e.g. $signed) Generally simulation specific Non-synthesizable Constructs (Contd.)
©Interra Systems 7 Non-synthesizable Behavioral Modeling Mixing of edge & level in the always sensitivity list Containing loops, where the number of iterations are not 'deterministic' during the processing of the loop Having multiple clocks in same always 'else' path of a synchronous assignment Consisting of storage specification within a subprogram – function/task Mixing of blocking and non-blocking assignments on the same variable Containing part select where both bounds are 'unknown'
©Interra Systems 8 Any improper asynchronous style of modeling other than always @ (edge s1 or edge s2 or..... edge sn) if (s1) else if (s2).............. else if (sn -1)...... else sync block Non-synthesizable Behavioral Modeling (Contd.)
©Interra Systems 9 Potential RTL-Gate Sim Mismatch Incomplete sensitivity list Delay specifications in assignments or anywhere applicable Run time out of range Array[0:15] Array[i]; where 'i' is integer (32 bit) Read before write of wire/reg Multiply driven nets (simulation output leads to 'unknown')
©Interra Systems 10 Summary Today we have covered: Non-synthesizable construct Non-synthesizable styles Places for potential simulation-synthesis mismatch
©Interra Systems 11 Reference Verilog LRM from Interra Library /software/Documents/verilog/verilog.pdf
©Interra Systems 12 Thank You
©Interra Systems 13 Copyright © 2006 Interra Systems India Pvt. Ltd. Presentation ID: ISL-MOD3(E)PR3 Author: Pradip Mukhopadhyay Reviewers: Pradip Mukhopadhyay, Reena Misra, and Partha Pratim Das Version: 1.0 Release date:
Combinational Logic. VERILOG: Synthesis - Combinational Logic Combination logic function can be expressed as: logic_output(t) = f(logic_inputs(t)) Rules.
VERILOG: Synthesis - Combinational Logic Combination logic function can be expressed as: logic_output(t) = f(logic_inputs(t)) Rules Avoid technology dependent.
3/4/20031 ECE 551: Digital System Design * & Synthesis Lecture Set 3 3.1: Verilog - User-Defined Primitives (UDPs) (In separate file) 3.2: Verilog – Operators,
Digital System Design by Verilog University of Maryland ENEE408C.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Digital System Design EEE344 Lecture 3 Introduction to Verilog HDL Prepared by: Engr. Qazi Zia, Assistant Professor EED, COMSATS Attock1.
ELEN 468 Lecture 131 ELEN 468 Advanced Logic Design Lecture 13 Synthesis of Combinational Logic II.
Introduction to ASIC flow and VerilogHDL. What is Verilog ? IEEE industry standard Hardware Descriptive Language (HDL) – used to describe a digital.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
The Verilog Hardware Description Language. GUIDELINES How to write HDL code: How to write HDL code:
Verilog HDL -Introduction VLSI Group –DAIICT Kishore, Aditya & Harsha Ref: Verilog – HDL by samir palnitkar 2 nd Edition.
Synopsys Tools for Verilog Simulation VCS - Verilog simulator tool -Get manual by using vcs -doc -Run GUI by using vcs -RI Simulation executable (simv)
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
Digital System Ch4-1 Verilog HDL Ping-Liang Lai ( 賴秉樑 ) Digital System 數位系統.
Today’s Lecture Process model –initial & always statements Assignments –Continuous & procedural assignments Timing Control System tasks.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
1 Verilog Digital System Design Z. Navabi, 2006 Verilog Language Concepts.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
Verilog Modeling Module 1.2 Introduction to Verilog UNIT 1 : Introduction to Verilog.
1 CSE370, Lecture 16 Overview u Logistics n HW5 due today n HW6 due next Friday u Last lecture n Finish basic latches and Flip-flops n Registers íShift.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
CS 3850 Lecture 6 Tasks and Functions. 6.1 Tasks and Functions Tasks are like procedures in other programming languages. e. g., tasks may have zero or.
HDL Programming Fundamentals UNIT 8: Synthesis Basics 10.1 Highlights of SYNTHESIS Facts Synthesis is mapping between the simulation (software) domain.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
Modern VLSI Design 3e: Chapter 8 Copyright 1998, 2002 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
FPGA-Based System Design Copyright 2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
Verilog Intro: Part 1. Hardware Design Languages A Hardware Description Language (HDL) is a language used to describe a digital system, for example, a.
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-1 Chapter 1: Introduction Prof. Ming-Bo.
Digital System Design Verilog ® HDL Tasks and Functions Maziar Goudarzi.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
CSCI 660 EEGN-CSCI 660 Introduction to VLSI Design Lecture 7 Khurram Kazi.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
1 COMP541 Sequential Circuits Montek Singh Sep 17, 2014.
M.Mohajjel. Objectives Learn How to write synthesizable Verilog code Common mistakes and how to avoid them What is synthesized for what we code Digital.
Chapter 15:Introduction to Verilog Testbenches Objectives In this section,you will learn about designing a testbench: Creating clocks Including files Strategic.
1 ECE 2372 Modern Digital System Design Section 7.1 Introduction to Hardware Descriptive Language.
ENEE 408C Lab Capstone Project: Digital System Design Verilog Tutorial Class Web Site:
03/31/031 ECE 551: Digital System Design & Synthesis Lecture Set 8 8.1: Miscellaneous Synthesis (In separate file) 8.2: Sequential Synthesis.
George Mason University Behavioral Modeling of Sequential-Circuit Building Blocks ECE 545 Lecture 8.
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
ECE 353 Computer Systems Lab I Verilog Hardware Description Language.
ELEN 468 Lecture 161 ELEN 468 Advanced Logic Design Lecture 16 Synthesis of Language Construct II.
© 2017 SlidePlayer.com Inc. All rights reserved.