קורס SystemVerilog Essentials Simulation & Synthesis.. SystemVerilog

Similar documents
SystemVerilog Essentials Simulation & Synthesis

SystemVerilog For Design Second Edition

קורס VHDL for High Performance. VHDL

Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Designing with ALTERA SoC

Course Profile SystemVerilog Design

Day #1. STM32F0 Core. Cortex-M0 Architecture. Cortex-M0 Instruction Set

Sunburst Design - Advanced SystemVerilog for Design & Verification by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

What, If Anything, In SystemVerilog Will Help Me With FPGA-based Design. Stuart Sutherland, Consultant and Trainer, Sutherland HDL, Inc.

Extending SystemVerilog Data Types to Nets

SystemVerilog Lecture 3. Prof. Gerald E. Sobelman Dept. of Electrical and Computer Engineering University of Minnesota Minneapolis, MN USA

Extending SystemVerilog Data Types to Nets

SystemVerilog 3.1: It s What The DAVEs In Your Company Asked For

VHDL for Synthesis. Course Description. Course Duration. Goals

Verilog for High Performance

List of Code Samples. xiii

Verilog: The Next Generation Accellera s SystemVerilog Standard

Unifying Design and Verification

Modular SystemVerilog

Introduction to ARMv8-A

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

Cortex-M3/M4 Software Desig ARM

Verilog Essentials Simulation & Synthesis

Lecture 8: More SystemVerilog Features

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

.embedded comparators, HDMI, DMA, CRC

EEL 4783: HDL in Digital System Design

EECS150 - Digital Design Lecture 10 Logic Synthesis

Verilog for Synthesis Ing. Pullini Antonio

C-LANGUAGE CURRICULAM

EEL 4783: HDL in Digital System Design

World Class Verilog & SystemVerilog Training

CSE140L: Components and Design

ALTERA FPGA Design Using Verilog

IMPORTANT QUESTIONS IN C FOR THE INTERVIEW

Taking Advantage of SystemVerilog for Design with ModelSim

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

C Programming SYLLABUS COVERAGE SYLLABUS IN DETAILS

EECS150 - Digital Design Lecture 10 Logic Synthesis

Can My Synthesis Compiler Do That?

HDL Compiler Directives 7

Tokens, Expressions and Control Structures

EECS 470 Lab 6. SystemVerilog. Department of Electrical Engineering and Computer Science College of Engineering. (University of Michigan)

Introduction to Verilog

CSE140L: Components and Design Techniques for Digital Systems Lab

UVM for VHDL. Fast-track Verilog for VHDL Users. Cont.

Axivion Bauhaus Suite Technical Factsheet MISRA

System Verilog Tagged Unions and Pattern Matching

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

Cadence Technical Analysis of System Verilog DECEMBER 2002

System Verilog Tagged Unions and Pattern Matching

VHDL Essentials Simulation & Synthesis

Review of the C Programming Language for Principles of Operating Systems

Cortex-A5 MPCore Software Development

Appendix. Grammar. A.1 Introduction. A.2 Keywords. There is no worse danger for a teacher than to teach words instead of things.

SystemVerilog For Design

OVERVIEW: ============================================================ REPLACE

C++ Important Questions with Answers

SystemC Synthesis Standard: Which Topics for Next Round? Frederic Doucet Qualcomm Atheros, Inc

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

Review of the C Programming Language

Absolute C++ Walter Savitch


DETAILED SYLLABUS INTRODUCTION TO C LANGUAGE

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS

Introduction to C++ with content from

Register Transfer Level in Verilog: Part I

Writing an ANSI C Program Getting Ready to Program A First Program Variables, Expressions, and Assignments Initialization The Use of #define and

A Tutorial Introduction 1

HDVL += (HDL & HVL) SystemVerilog 3.1 The Hardware Description AND Verification Language

Synplify Pro for Microsemi Edition Release Notes

SystemVerilog For Design. A Guide to Using SystemVerilog for Hardware Design and Modeling

Motor Industry Software Reliability Association (MISRA) C:2012 Standard Mapping of MISRA C:2012 items to Goanna checks

Standard Gotchas Subtleties in the Verilog and SystemVerilog Standards That Every Engineer Should Know

What, If Anything, In SystemVerilog Will Help Me With FPGA-based Designs?

Short Notes of CS201

Cortex-A15 MPCore Software Development

0. Overview of this standard Design entities and configurations... 5

Aryan College. Fundamental of C Programming. Unit I: Q1. What will be the value of the following expression? (2017) A + 9

2. Mentor Graphics ModelSim and QuestaSim Support

CS201 - Introduction to Programming Glossary By

B.V. Patel Institute of Business Management, Computer & Information Technology, Uka Tarsadia University

Index. 1=> implication operator > implication operator * See dot-starport connection

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

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

Intel Quartus Prime Standard Edition User Guide

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

DESIGN STRATEGIES & TOOLS UTILIZED

Verilog 1 - Fundamentals

Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial

Hardware Description Languages & System Description Languages Properties

Introduction to C++ Introduction. Structure of a C++ Program. Structure of a C++ Program. C++ widely-used general-purpose programming language

The Compositional C++ Language. Denition. Abstract. This document gives a concise denition of the syntax and semantics

CSE 591: Advanced Hardware Design Professor: Kyle Gilsdorf

Introduction to Programming Using Java (98-388)

CHAPTER 1 Introduction to Computers and Programming CHAPTER 2 Introduction to C++ ( Hexadecimal 0xF4 and Octal literals 031) cout Object

: : (91-44) (Office) (91-44) (Residence)

Operating in a Mixed-language Environment Using HDL, C/C++, SystemC and SystemVerilog

EN2911X: Reconfigurable Computing Topic 02: Hardware Definition Languages

Transcription:

קורס SystemVerilog Essentials Simulation & Synthesis תיאור הקורס קורסזהמספקאתכלהידעהתיאורטי והמעשילתכנוןרכיביםמתכנתיםבעזרתשפתהסטנדרט. SystemVerilog הקורס מעמיק מאוד ונוגע בכל אספקט של הסטנדרט במסגרת הנושאים הנדרשים בתעשייה. הקורסמשלב 50% תיאוריהו- 50% עבודהמעשיתבכלמפגש. המעבדותמכסותאתכלהחומר התאורטיומשלבות חשיבהותכנוןדיגיטאלימעשי. שפתSystemVerilog הינהשידרוגרצינילשפת Verilog וכוללת הרחבותמשמעותיותלתכנון אבסטרקטי, תוכניותבדיקה, APIs פורמליםומבוססישפת C. שפתSystemVerilog מגדירה, בנוסף, שכבותחדשותברובדהסימולציהשלשפת.Verilog הרחבותאלו מספקותיכולותמשמעותיות חדשותהןלמתכנןוהןלמהנדס הוריפיקציהוהארכיטקט, מאפשרותעבודתצוותטובהיותר וסדרבין אנשיםשוניםבפרוייקט. הקורסמניח שהמשתתףהינובעלידעוניסיוןבשפת.Verilog הקורס מתמקד בלימודמתודימעמיקשל הרחבותשפת VerilogSystem עלכללמרכיביה, משלב כתיבתתכניותבדיקה ושימושמעשיבכליסימולציה וסינתזה, ודגשעל צורתכתיבתקודלתכניות לסימולציהלעומתתכניותלסינתזה. הקורסכוללפרוייקט קטןמעשיהמשלבאתרובהחומרהנלמד. אורך הקורס 4 ימים בסיום הקורס מטרות שיושגו הכרת ההרחבותשלשפת SystemVerilog לשפתVerilog שימושבמרחבההגדרותשל SystemVerilog שימושב- Enumerated Type וב- User Defined שימושבמערכים,,Structures ו- Unions הרחבתהשימושבפונקציות,,Tasks ובלוקיםפרוצדורליים שימושבאופרטוריםחדשים ופקודותלולאהמורחבותבשפה כתיבתמכונותמצביםבשפת SystemVerilog בנייתהיררכיהבשפת SystemVerilog שימושבממשקישפת SystemVerilog.1.2.3.4.5.6.7.8.9

אוכלוסיית היעד מהנדסיחומרה אותוכנהבעליידעבשפתVerilog, הרוצים לשדרגאתיכולותיהםבעזרתשפת.SystemVerilog מהנדסימערכתהרוצים לשדרגאתהידעהמקצועישלהם. כלי פיתוח בקורס סימולטור HDL) (Modelsim or Active סינטיסייזר Pro) (Quartus II integrated synthesis, Precision or Synplify.1.2 תכנית הלימוד Day #1 Introduction to SystemVerilog o SystemVerilog history and revisions o Key SystemVerilog enhancements for hardware design SystemVerilog Language New Declarations o Package Package definition Referencing package contents o $unit Coding guidelines SystemVerilog identifier search rules Source code order Coding guidelines for importing packages into $unit o Declarations in unnamed statement blocks o Simulation time units and precision SystemVerilog Literal Values & Built-in Data Types o Enhanced literal value assignments o `define enhancements o Variables

Object types and data types 4-state variables 2-state variables Explicit and implicit variable and net data types o Using 2-state types in RTL models 2-satte type characteristics 2-state types versus 2-state simulation Using 2-state types with case statements o Relaxation of type rules o Signed and unsigned modifiers o Static and automatic variables Static and automatic variable initialization for automatic variables Guidelines for using static and automatic variables o Deterministic variable initialization Initialization determinism Initializing sequential logic asynchronous inputs o Type casting Static casting Dynamic casting o Constants SystemVerilog User-Defined & Enumerated Types o User-defined types Local typedef definitions Shared typedef definitions Naming convention for user-defined types o Enumerated types Enumerated type label sequences Enumerated type label scope Enumerated type values Base type of enumerated types Typed and anonymous enumerations Strong typing on enumerated type opertaions Casting expressions to enumerated types Special system task and methods for enumerated types Printing enumerated types

SystemVerilog Arrays, Structures, and Unions o Structures Structures declarations Assigning values to structures Packed and unpacked structures Passing structures through ports Passing structures as arguments to tasks and functions o Unions Unpacked unions Tagged unions Packed unions Using structures and unions o Arrays Unpacked arrays Packed arrays Using packed & unpacked arrays Initializing arrays at declaration Assigning values to arrays Copying arrays Copying arrays and structures using bit-stream casting Arrays of arrays Using user-defined types with arrays Passing arrays through ports and to tasks and functions Arrays of structures and unions Arrays in structures and unions o The foreach array looping construct o Array querying system functions o The $bits sizeof system function o Dynamic arrays, associative arrays, sparse arrays and strings

Day #2 SystemVerilog Procedural Blocks o Verilog general purpose always procedural block o SystemVerilog specialized procedural blocks Combinational logic procedural blocks Latched logic procedural blocks Sequential logic procedural blocks SystemVerilog Tasks & Functions o Implicit task and function statement grouping o Returning function values o Returning before end of tasks and functions o Void functions o Passing task/function arguments by name o Enhanced function formal arguments o Functions with no formal arguments o Default formal argument direction and type o Default formal argument values o Arrays, structures and unions as formal arguments o Passing argument values by reference instead of copy o Named task and function ends o Empty tasks and functions SystemVerilog Procedural Statement o New operators Increment and decrement operators Assignment operators Equality operators with don t care wildcards Set membership operator (inside) o Operand enhancements Operations on 2-state and 4-state types Type casting Size casting Sign casting o Enhanced for loops Local variables within for loop declarations Multiple for loop assignments Hierarchically referencing variables declared in for loops

o Bottom testing do while loop o The foreach array looping construct o New jump statements The continue statement The break statement The return statement o Enhanced block names o Statement labels o Enhanced case statements Unique case decisions Priority case statements Unique and priority versus parallel_case and full_case o Enhanced if else decisions Unique if else decisions Priority if decisions Day #3 SystemVerilog Finite State Machines Modeling o Representing state encoding with enumerated types o Reversed case statements with enumerated types o Enumerated types and unique case statements o Specifying unused state values o Assigning state values to enumerated type variables o Performing operations on enumerated type variables o Using 2-state types in FSM models o Synthesis guidelines SystemVerilog Design Hierarchy o Module prototypes Prototype and actual definition Avoiding port declaration redundancy o Named ending statements Named module ends

Named code block ends o Nested module declarations Nested module name visibility Instantiating nested modules Nested module name search rules o Simplified netlists of module instances Implicit.name port connections Implicit.* port connection o Net aliasing Alias rules Implicit net declarations Using aliases with.name and.* o Passing values through module ports All types can be passed through ports Module port restrictions in SystemVerilog o Reference ports Reference ports as shared variables o Enhanced port declarations Verilog-1995 port declarations Verilog-2001 port declarations SystemVerilog port declarations o Parameterized types SystemVerilog Interfaces o Interface concept Disadvantages of Verilog s module ports Advantages of SystemVerilog interfaces SystemVerilog interface contents Differences between modules and interfaces o Interface declarations Source code declaration order Global and local interface definitions o Using interfaces as module ports Explicitly named interface ports Generic interface ports o Instantiating and connecting interfaces o Referencing signals within an interface o Interface modports

o Using tasks and functions in interfaces Interface methods Importing interface methods for interface methods Exporting tasks and functions o Using procedural blocks in interfaces o Reconfigurable interfaces o Verification with interfaces Day #4 Behavioral & Transaction Level Modeling o Behavioral modeling o What is a transaction? o Transaction level modeling in SystemVerilog o Transaction level models via interfaces o Bus arbitration o Transactors, adapters, and bus functional models o More complex transactions Complete Design Modeled with SystemVerilog o Full small project that encapsulates all course material