Final Simulation Remember that there are lots of different types of simulation!

Slides:



Advertisements
Similar presentations
ECE 3130 – Digital Electronics and Design
Advertisements

ENEL111 Digital Electronics
HDL Programming Fundamentals
Combinational Logic.
Combinational Logic with Verilog Materials taken from: Digital Design and Computer Architecture by David and Sarah Harris & The Essentials of Computer.
Figure 4.1. The function f (x1, x2, x3) =  m(0, 2, 4, 5, 6).
CSE 341 Verilog HDL An Introduction. Hardware Specification Languages Verilog  Similar syntax to C  Commonly used in  Industry (USA & Japan) VHDL 
1 Pertemuan 9 Verilog HDL Matakuliah: H0362/Very Large Scale Integrated Circuits Tahun: 2005 Versi: versi/01.
1 Verilog Digital Computer Logic Kashif Bashir WWW: http//:
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES Logic Simulation.
PSPICE Tutorial. Introduction SPICE (Simulation Program for Integrated Circuits Emphasis) is a general purpose analog circuit simulator that is used to.
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
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,
1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.
ENEE 408C Lab Capstone Project: Digital System Design Verilog Tutorial Class Web Site:
S. Reda EN1600 SP’08 Design and Implementation of VLSI Systems (EN1600) Lecture 24: Computer-Aided Design using Tanner Tools Prof. Sherief Reda Division.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
Hardware Description Language HDL. 2 Hardware Description Language HDL  Describes circuits and systems in text. −As a software program.  Can be processed.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
ECEN ECEN475 Introduction to VLSI System Design Verilog HDL.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 4 - Advanced Verilog.
Overview Part 1 – Design Procedure 3-1 Design Procedure
O VERVIEW OF DIGITAL SYSTEMS Hardware Description Language 1.
Chap. 2 Hierarchical Modeling Concepts. 2 Hierarchical Modeling Concepts Design Methodologies 4-bit Ripple Carry Counter Modules Instances Components.
Cadence Tutorial -- Presented by Chaitanya Emmela VLSI Research Group CACS.
Guest Lecture by Ben Magstadt CprE 281: Digital Logic.
Digital Logic Design Lecture # 7 University of Tehran.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 2 A Circuit Design Example.
ON LINE TEST GENERATION AND ANALYSIS R. Šeinauskas Kaunas University of Technology LITHUANIA.
The George Washington University School of Engineering and Applied Science Department of Electrical and Computer Engineering ECE122 – 30 Lab 5: Layout.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Systems Lecture # 10 MIPS Processor Example Material taken/adapted from.
ELEC 5270/6270 Spring 2013 Low-Power Design of Electronic Circuits Tools for Power Analysis
ECE122 – Digital Electronics & Design
Introduction Verilog is a HARDWARE DESCRIPTION LANGUAGE (HDL) A hardware description language is a language or means used to describe or model a digital.
HDL Bencher FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe the.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Module 1.2 Introduction to Verilog
Cadence tools Brandon Rumberg.
Slide 1 2. Verilog Elements. Slide 2 Why (V)HDL? (VHDL, Verilog etc.), Karen Parnell, Nick Mehta, “Programmable Logic Design Quick Start Handbook”, Xilinx.
TOPIC : Different levels of Fault model UNIT 2 : Fault Modeling Module 2.1 Modeling Physical fault to logical fault.
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
Final Assembly  Your final project chip consists of a core and a pad ring  Core is the guts  Pad ring (or pad frame) connects the guts to the outside.
Speaker: Tsung-Yi Wu FPGA Design Flow (Part 2) : Simulation.
ELEN 468 Lecture 131 ELEN 468 Advanced Logic Design Lecture 13 Synthesis of Combinational Logic II.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Under-Graduate Project Digital IC Design Flow Speaker: 黃乃珊 Adviser: Prof. An-Yeu.
Types of Delay Models. Delay models Three types of delay models used in Verilog Distributed delay model Lumped Delay model Pin-to-pin (path) Delay model.
CSCI-365 Computer Organization Lecture Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson.
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.
CMOS VLSI Design MIPS Processor Example
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.
Digital Logic Design Lecture # 6 University of Tehran.
Lecture # 5 University of Tehran
Multiplexers Section Topics Multiplexers – Definition – Examples – Verilog Modeling.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Figure 2.1. A binary switch. x1=x0= (a) Two states of a switch S x (b) Symbol for a switch.
FEV And Netlists Erik Seligman CS 510, Lecture 5, January 2009.
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.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Digital Block Design & Layout Logic gate (3INPUT NAND GATE) 구자연.
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
Chapter 3 – Combinational Logic Design
Presentation transcript:

Final Simulation Remember that there are lots of different types of simulation!

Simulation Types  Behavioral (chapter 4) Pre-synthesis Verilog code Timing in the behavioral code doesn’t synthesize  Gate-level (chapter4) Structural circuits with behavioral models for each cell Zero-delay or unit-delay per gate  Switch level (chapter 4) Structural circuits with transistor-level cell circuits Zero delay or unit delay per transistor  Spice (Analog / Spectre) (chapter 6)  Mixed analog/digital (chapter 6) Config views and SpectreVerilog simulation  Performance Verification (covered next semester)

Behavioral Simulation  Pre-synthesis Verilog code, System-C, …  Integrated with composer, or command-line verilog-xl – 1995 syntax nc_verilog – 2001 syntax  Good for debugging functionality If you include timing in the Verilog file this can be a little more realistic, but remember that timing doesn’t synthesize...

Switch-level simulation  Post-synthesis structural Verilog  Take “behavioral” out of the “netlist these views” box Then you expand all the way to transistors (functional views)

Switch-level timing  Depends on where you got your nmos and pmos cells from UofU_Analog_Parts: unit (0.1) delay on each transistor NCSU_Analog_Parts: 0 delay on each transistor  You can use the library manager to switch from UofU to NCSU for the whole library...

Gate-level simulation  Post-synthesis structural Verilog  Uses behavioral (Verilog) models of each cell If you have specify blocks in your behavioral cell views, then you get unit delay timing

Specify Blocks module nand2 (Y, A, B); output Y; input A; input B; nand _i0 (Y, A, B); specify (A => Y) = (1.0, 1.0); (B => Y) = (1.0, 1.0); endspecify endmodule

Specify Blocks module nand2 (Y, A, B); output Y; input A; input B; nand _i0 (Y, A, B); specify (A => Y) = (1.0, 1.0); (B => Y) = (1.0, 1.0); endspecify endmodule This default timing can be replaced by extracted timing from SoC. The extracted timing is from a.sdf file.

Specify Blocks module nand2 (Y, A, B); output Y; input A; input B; nand _i0 (Y, A, B); specify (A => Y) = (1.0, 1.0); (B => Y) = (1.0, 1.0); endspecify endmodule (CELL (CELLTYPE "NAND") (INSTANCE U21) (DELAY (ABSOLUTE (IOPATH A Y (0.385:0.423:0.423) (0.240:0.251:0.251)) (IOPATH B Y (0.397:0.397:0.397) (0.243:0.243:0.243)))))

sdf timing  Extract an sdf file from SoC after final routing has finished (correctly) Timing -> ExtractRC Timing->CalculateDelay Save capacitance in a.cap file Save delays in a.sdf file

Using sdf timing  Simple – just add the sdf file name to the verilog simulation dialog box

Spice (Analog / Spectre)  The most detailed, and time consuming  Models the analog behavior of the transistors so it’s very accurate  It’s also very cumbersome on large circuits Generating inputs is much easier in Verilog testbenches...

Mixed analog/digital simulation  A great way to go if you’re concerned about timing for a specific module generate config view of overall circuit use gate- or switch-level simulation on the whole thing Then identify parts inside the circuit you want to use spectre on resimulate using mixed SpectreVerilog simulation

Mixed considerations  You still have all the same choices for the Verilog portion of your simulation behavioral / gate / switch level simulation Unit or zero delay for Verilog part  You can look at the spectre part of the simulation using waveforms, or digital downstream data

Chip-level simulation  You should simulate your core as carefully as you can Remember to make testbenches self-checking!  When you assemble your core into the pad frame Name the pads the same thing that you had named your core signals re-use the core testbench, but this time at the pads!  You can still use mixed mode and make some parts Spectre simulations if you like!