ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU 102-1 Under-Graduate Project Digital IC Design Flow Speaker: 黃乃珊 Adviser: Prof. An-Yeu.

Slides:



Advertisements
Similar presentations
Simulation executable (simv)
Advertisements

Verilog Intro: Part 1.
Hardware Description Language (HDL)
16/04/20151 Hardware Descriptive Languages these notes are taken from Mano’s book It can represent: Truth Table Boolean Expression Diagrams of gates and.
CSE 341 Verilog HDL An Introduction. Hardware Specification Languages Verilog  Similar syntax to C  Commonly used in  Industry (USA & Japan) VHDL 
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
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.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
CSE241 R1 Verilog.1Kahng & Cichy, UCSD ©2003 CSE241 VLSI Digital Circuits Winter 2003 Recitation 1: Verilog Introduction.
ELEN468 Lecture 11 ELEN468 Advanced Logic Design Lecture 1Introduction.
Reconfigurable Computing (EN2911X, Fall07) Lecture 05: Verilog (1/3) Prof. Sherief Reda Division of Engineering, Brown University
Digital System Design Verilog ® HDL Maziar Goudarzi.
ELEN468 Lecture 11 ELEN468 Advanced Logic Design Lecture 1Introduction.
University of Jordan Computer Engineering Department CPE 439: Computer Design Lab.
O VERVIEW OF DIGITAL SYSTEMS Hardware Description Language 1.
Hardware Description Language(HDL). Verilog simulator was first used beginning in 1985 and was extended substantially through The implementation.
CSET 4650 Field Programmable Logic Devices
Verilog Basics Nattha Jindapetch November Agenda Logic design review Verilog HDL basics LABs.
Electronic Design Automation. Course Outline 1.Digital circuit design flow 2.Verilog Hardware Description Language 3.Logic Synthesis –Multilevel logic.
VHDL Structured Logic Design School of Electrical Engineering University of Belgrade Department of Computer Engineering Ivan Dugic Veljko.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
ECE 2372 Modern Digital System Design
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
COE 405 Introduction to Logic Design with Verilog
Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
1 H ardware D escription L anguages Modeling Digital Systems.
CS 3850 Lecture 3 The Verilog Language. 3.1 Lexical Conventions The lexical conventions are close to the programming language C++. Comments are designated.
COE 405 Design and Modeling of Digital Systems
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
Digital System 數位系統 Verilog HDL Ping-Liang Lai (賴秉樑)  
CWRU EECS 317 EECS 317 Computer Design LECTURE 1: The VHDL Adder Instructor: Francis G. Wolff Case Western Reserve University.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Undergraduate Projects Speaker: Wes Adviser: Prof. An-Yeu Wu Date: 2015/09/22 Lab.
Module 1.2 Introduction to Verilog
1 CSE-308 Digital System Design (DSD) N-W.F.P. University of Engineering & Technology, Peshawar.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Slide 1 2. Verilog Elements. Slide 2 Why (V)HDL? (VHDL, Verilog etc.), Karen Parnell, Nick Mehta, “Programmable Logic Design Quick Start Handbook”, Xilinx.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
Introduction to ASIC flow and Verilog HDL
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Introduction to Verilog
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
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,
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
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.
Exp#5 & 6 Introduction to Verilog COE203 Digital Logic Laboratory Dr. Ahmad Almulhem KFUPM Spring 2009.
1 A hardware description language is a computer language that is used to describe hardware. Two HDLs are widely used Verilog HDL VHDL (Very High Speed.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
Hardware Description Languages: Verilog
ASIC Design Methodology
Discussion 2: More to discuss
Hardware Description Languages: Verilog
Lecturer: Huai-Yi Hsu (許槐益) Date:
Introduction to Verilog
HIGH LEVEL SYNTHESIS.
103-1 Under-Graduate Project Digital IC Design Flow
COE 202 Introduction to Verilog
Presentation transcript:

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Under-Graduate Project Digital IC Design Flow Speaker: 黃乃珊 Adviser: Prof. An-Yeu Wu Date: 2013/9/26

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 2 Outline  Introduction to Integrated Circuit  IC Design Flow  Verilog HDL concept  Verilog Simulator

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 3 Moore’s Law: Driving Technology Advances  Logic capacity doubles per IC at regular intervals (1965).  Logic capacity doubles per IC every 18 months (1975).

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 4 Chips Sizes Source: IBM and Dataquest

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 5 Design Productivity Crisis  Human factors may limit design more than technology.  Keys to solve the productivity crisis:  Design techniques: hierarchical design, SoC design (IP reuse, platform-based design), etc.  CAD: algorithms & methodology Design gap

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 6 Increasing Processing Power  Very high performance circuits in today’s technologies.  Gate delays: ~27ps for a 2-input Nand in CU11  Operating frequencies:  Up to 500MHz for SoC/Asic  Over 1GHz for custom designs  The increase in speed/performance of circuits allowed blocks to be reused without having to be redesigned and tuned for each application.  Enhanced Design Tools and Techniques  Although not enough to close the “design gap”, tools are essential for the design of today’s high-performance chips

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 7 IP / Cores  Soft IP/Core  Delivered as RTL verilog or VHDL source code with synthesis script  Customers are responsible for synthesis, timing closure, and all front-end processing  Firm IP/Core  Delivered as a netlist to be included in customer’s netlist (with don't touch attribute)  Possibly with placement information  Hard IP/Core  Due to their complexity, they are provided as a blackbox (GDSII). Ex. Processors, analog cores, PLLs  Usually very tight timing constraints. Internal views not be alterable or visible to the customer

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 8 Changes in the Nature of IC Design (IEEE Spectrum Nov,1996)

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 9 Chasing the Design Gap

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 10 Evolution of Silicon Design Source: “Surviving the SoC revolution – A Guide to Platform-based Design,” Henry Chang et al, Kluwer Academic Publishers, 1999

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 11 Methodology – Analysis and Verification

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 12 Outline  Introduction to Integrated Circuit  IC Design Flow  Verilog HDL concept  Verilog Simulator

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 13 IC Design and Implementation Idea Design

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 14 Design Flow Design Specification Design Partition Design Entry-Verilog Behavioral Modeling Simulation/Functional Verification Design Integration & Verification Pre-Synthesis Sign-Off Synthesize and Map Gate-Level Netlist Post-Synthesis Design Validation Post-Synthesis Timing Verification Test Generation & Fault Simulation Cell Placement, Scan Chain & Clock Tree Insertion, Cell Routing Verify Physical & Electrical Design Rules Extract Parasitics Post-Layout Timing Verification Production-Ready Masks Front End Design Sign-Off Back End

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 15 System Specification From CIC

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 16 Algorithm Mapping RTL Level System Level From CIC

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 17 Gate and Circuit Level Design From CIC

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 18 Physical Design From CIC

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 19 Behavioral Model Transistor Level Gate Level Register Transfer Level Architecture Algorithm System concept Increasing behavioral abstraction Increasing detailed realization & complexity

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 20 Design Domain Behavioral level of abstraction Design Model Domain AbstractPhysicalStructural System Algorithm RTL Gate Switch Architecture Design Structural Design Logic Design Layout Design Verification Architecture Synthesis RTL level Synthesis Logic level Synthesis

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 21 Outline  Introduction to Integrated Circuit  IC Design Flow  Verilog HDL concept  Verilog Simulator

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 22 Introduction to HDL  HDL – H ardware D escription L anguage  Why use an HDL ?  Hardware is becoming very difficult to design directly  HDL is easier and cheaper to explore different design options  Reduce time and cost

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 23 Verilog HDL  Features  HDL has high-level programming language constructs and constructs to describe the connectivity of your circuit.  Ability to mix different levels of abstraction freely  One language for all aspects of design, test, and verification  Functionality as well as timing  Concurrency perform  Support timing simulation

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 24 Compared to VHDL  Verilog and VHDL are comparable languages  VHDL has a slightly wider scope  System-level modeling  Exposes even more discrete-event machinery  VHDL is better-behaved  Fewer sources of non-determinism (e.g., no shared variables ???)  VHDL is harder to simulate quickly  VHDL has fewer built-in facilities for hardware modeling  VHDL is a much more verbose language  Most examples don ’ t fit on slides

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 25 The Verilog Language  Originally a modeling language for a very efficient event-driven digital logic simulator  Later pushed into use as a specification language for logic synthesis  Now, one of the two most commonly-used languages in digital hardware design (VHDL is the other)  Combines structural and behavioral modeling styles

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 26 Different Levels of Abstraction  Architectural / Algorithmic  A model that implements a design algorithm in high-level language constructs  Register Transfer Logic (RTL)  A model that describes the flow of data between registers and how a design process these data.  Gate  A model that describe the logic gates and the interconnections between them.  Switch  A model that describes the transistors and the interconnections between them.

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 27 Verilog HDL Behavior Language  Structural and procedural like the C programming language  Used to describe algorithm level and RTL level Verilog models  Key features  Procedural constructs for conditional, if-else, case, and looping operations.  Arithmetic, logical, bit-wise, and reduction operations for expressions.  Timing control.

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 28 Verilog HDL Structural Language  Used to describe gate-level and switch-level circuits.  Key features  A complete set set of combinational primitives  Support primitive gate delay specification  Support primitive gate output strength specification

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 29 Language Conventions (1/2)  Case-sensitivity  Verilog is case-sensitive.  Some simulators are case-insensitive  Advice: - Don ’ t use case-sensitive feature!  Keywords are lower case  Different names must be used for different items within the same scope  Identifier alphabet:  Upper and lower case alphabeticals: a~z A~Z  Decimal digits: 0~9  Underscore: _

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 30 Language Conventions (2/2)  Maximum of 1024 characters in identifier  First character not a digit  Statement terminated by ;  Free format within statement except for within quotes  Comments:  All characters after // in a line are treated as a comment  Multi-line comments begin with /* and end with */  Compiler directives begin with // synopsys XXX  Built-in system tasks or functions begin with $  Strings enclosed in double quotes and must be on a single line “ Strings ”

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 31 Design Encapsulation  Encapsulate structural and functional details in a module  Encapsulation makes the model available for instantiation in other modules module my_design (ports_list);... // Declarations of ports go here... // Structural and functional details go here endmodule

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 32 Port Declaration  Three port types  Input port  input a;  Output port  output b;  Bi-direction port  inout c; net inputoutput inout reg or net module Port list Port Declaration module full_add (S, CO, A, B, CI) ; output S, CO ; input A, B, CI ; --- function description --- endmodule

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 33 Two Main Data Types  Nets represent connections between things  Do not hold their value  Take their value from a driver such as a gate or other module  Cannot be assigned in an initial or always block  Regs represent data storage  Behave exactly like memory in a computer  Hold their value until explicitly assigned in an initial or always block  Never connected to something  Can be used to model latches, flip-flops, etc., but do not correspond exactly  Shared variables with all their attendant problems

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 34 Primitive Cells  Primitives are simple modules  Verilog build-in primitive gate  not, buf:  Variable outputs, single input (last port)  and, or, buf, xor, nand, nor, xnor:  Single outputs (first port), variable inputs module full_add (S, CO, A, B, CI) ; --- port Declaration --- wire net1, net2, net3; xor U0(S,A,B,CI); and U1(net1, A, B); and U2(net2, B, CI); and U3(net3, CI, A); or U4(CO, net1, net2, net3); endmodule

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 35 How Are Simulators Used?  Testbench generates stimulus and checks response  Coupled to model of the system  Pair is run simultaneously TestbenchSystem Model Stimulus Response Result checker

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 36 Example: Testbench module t_full_add(); wire sum, c_out; reg a, b, cin; // Storage containers for stimulus waveforms full_add M1 (sum, c_out, a, b, cin); //UUT initial begin // Time Out #200 $finish; // Stopwatch end initial begin // Stimulus patterns #10 a = 0; b = 0; cin = 0; // Statements execute in sequence #10 a = 0; b = 1; cin = 0; #10 a = 1; b = 0; cin = 0; #10 a = 1; b = 1; cin = 0; #10 a = 0; b = 0; cin = 1; #10 a = 0; b = 1; cin = 1; #10 a = 1; b = 0; cin = 1; #10 a = 1; b = 1; cin = 1; end endmodule

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 37 Outline  Introduction to Integrated Circuit  IC Design Flow  Verilog HDL concept  Verilog Simulator

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 38 Verilog Simulator

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 39 Event-Driven Simulation  A change in the value of a signal (variable) during simulation is referred to as an event  Spice-like analog simulation is impractical for VLSI circuits  Event-driven simulators update logic values only when signals change

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 40 Styles  Structural - instantiation of primitives and modules  RTL/Dataflow - continuous assignments  Behavioral - procedural assignments

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 41 Structural Modeling  When Verilog was first developed (1984) most logic simulators operated on netlists  Netlist: list of gates and how they ’ re connected  A natural representation of a digital logic circuit  Not the most convenient way to express test benches

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 42 Behavioral Modeling  A much easier way to write testbenches  Also good for more abstract models of circuits  Easier to write  Simulates faster  More flexible  Provides sequencing  Verilog succeeded in part because it allowed both the model and the testbench to be described together

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 43 Style 1 - Structural module full_add (S, CO, A, B, CI) ; output S, CO ; input A, B, CI ; wire N1, N2, N3; half_add HA1 (N1, N2, A, B), HA2 (S, N3, N1, CI); or P1 (CO, N3, N2); endmodule module half_add (S, C, X, Y); output S, C ; input X, Y ; xor (S, X, Y) ; and (C, X, Y) ; endmodule

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 44 Style 2 – Dataflow/RTL module fa_rtl (S, CO, A, B, CI) ; output S, CO ; input A, B, CI ; assign S = A ^ B ^ CI; //continuous assignment assign CO = A & B | A & CI | B & CI; //continuous assignment endmodule

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 45 Style 3 – Behavioral module fa_bhv (S, CO, A, B, CI) ; output S, CO ; input A, B, CI ; reg S, CO;// required to “hold” values between events. or B or CI) //; begin S <= A ^ B ^ CI;// procedural assignment CO <= A & B | A & CI | B & CI;// procedural assignment end endmodule

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 46 How Verilog Is Used  Virtually every ASIC is designed using either Verilog or VHDL (a similar language)  Behavioral modeling with some structural elements  “ Synthesis subset ”  Can be translated using Synopsys ’ Design Compiler or others into a netlist  Design written in Verilog  Simulated to death to check functionality  Synthesized (netlist generated)  Static timing analysis to check timing

ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU P. 47 Verilog-HDL Simulators  Mentor Graphics ModelSim   Cadence Verilog-XL  NC-Verilog