Logic Simulation 1 Outline –Logic Simulation –Logic Design Description –Logic Models Goal –Understand logic simulation problem –Understand logic models.

Slides:



Advertisements
Similar presentations
Combinational Logic.
Advertisements

Verilog Intro: Part 1.
SYEN 3330 Digital SystemsJung H. Kim Chapter SYEN 3330 Digital Systems Chapters 4 – Part3: Verilog – Part 1.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
1 Lecture 13 VHDL 3/16/09. 2 VHDL VHDL is a hardware description language. The behavior of a digital system can be described (specified) by writing a.
Introduction to VHDL (Lecture #5) ECE 331 – Digital System Design The slides included herein were taken from the materials accompanying Fundamentals of.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
Introduction to VHDL VHDL Tutorial R. E. Haskell and D. M. Hanna T1: Combinational Logic Circuits.
Behavioral Synthesis Outline –Synthesis Procedure –Example –Domain-Specific Synthesis –Silicon Compilers –Example Tools Goal –Understand behavioral synthesis.
Logic Simulation Outline –Logic Simulation –Logic Design Description –Logic Models Goal –Understand logic simulation problem –Understand logic models.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
331 W05.1Spring :332:331 Computer Architecture and Assembly Language Spring 2006 Week 5: VHDL Programming [Adapted from Dave Patterson’s UCB CS152.
Computer ArchitectureFall 2008 © August 20 th, Introduction to Computer Architecture Lecture 2 – Digital Logic Design.
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
Fall 08, Oct 29ELEC Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi
VHDL Training ©1995 Cypress Semiconductor 1 Introduction  VHDL is used to:  document circuits  simulate circuits  synthesize design descriptions 
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.
ECE 2372 Modern Digital System Design
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
Introduction to VHDL Arab Academy for Science, Technology & Maritime Transport Computer Engineering Department Magdy Saeb, Ph.D.
Introduction Verilog is a HARDWARE DESCRIPTION LANGUAGE (HDL) A hardware description language is a language or means used to describe or model a digital.
1 H ardware D escription L anguages Modeling Digital Systems.
VHDL Introduction. V- VHSIC Very High Speed Integrated Circuit H- Hardware D- Description L- Language.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
Digital System 數位系統 Verilog HDL Ping-Liang Lai (賴秉樑)  
陳慶瀚 機器智慧與自動化技術 (MIAT) 實驗室 國立中央大學資工系 2009 年 10 月 8 日 ESD-04 VHDL 硬體描述語言概論 VHDL Hardware Description Language.
Module 1.2 Introduction to Verilog
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
George Mason University Data Flow Modeling in VHDL ECE 545 Lecture 7.
1 2-Hardware Design Basics of Embedded Processors.
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)
Data Flow Modeling in VHDL
VHDL Programming Fundamentals Presented By Dr. Pradyut Kumar Biswal Department of Electronics, IIIT Bhubaneswar.
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Verilog Intro: Part 1. Hardware Description Languages A Hardware Description Language (HDL) is a language used to describe a digital system, for example,
Mohamed Younis CMCS 411, Computer Architecture 1 CMSC Computer Architecture Lecture 8 Hardware Design Languages February 21, 2001
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.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 61 Lecture 6 Logic Simulation n What is simulation? n Design verification n Circuit modeling n True-value.
Hardware Description Languages: Verilog
Sequential Logic Design
Basic Language Concepts
Design Entry: Schematic Capture and VHDL
VLSI Testing Lecture 5: Logic Simulation
Discussion 2: More to discuss
VLSI Testing Lecture 5: Logic Simulation
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Vishwani D. Agrawal Department of ECE, Auburn University
Hardware Description Languages: Verilog
Combinatorial Logic Design Practices
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
ECE 434 Advanced Digital System L08
Introduction to Verilog
Data Flow Modeling of Combinational Logic
Chapter 3 – Combinational Logic Design
COE 202 Introduction to Verilog
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

Logic Simulation 1 Outline –Logic Simulation –Logic Design Description –Logic Models Goal –Understand logic simulation problem –Understand logic models Reading –Gate-Level Simulation by D’Abreu –Types of Simulators by Trimberger

What is Logic Simulation? Simulate temporal behavior of logic design Logic design description –netlist, network –components »e.g. AND, OR, RAM, Pentium –component interconnections Logic models –component behavior –interconnect behavior –signal values Timing models –component behavior –interconnect behavior –signal delays A B C D E A B C D E Time

Logic Simulation Goals Functional correctness –circuit does what you want –validate by using lots of input stimuli Performance –circuit runs fast enough –no hazards or races –validate using lots of stimuli Manufacturability –functions at speed under delay variations –e.g. assume gate delay is Test generation –simulate faulty circuits –does input stimulus cause faulty output?

Logic Design Description Components –modules, cells,... –primitive - e.g. AND, OR, NOT –predefined - from library »functional behavior »timing behavior –composite - user-defined »subnetwork »hierarchy Component connections –wiring - nets –attachment points - pins, ports, terminals –can include wiring structure »fan-in, fan-out »parasitics

Logic Models Logical Primitive –boolean logic operations »AND, OR, NAND, NOR, NOT, XOR, XNOR –often special-cased in simulator for speed Behavioral Model –finite state machine »outputs are function of inputs, next state –often supplied by model library vendors »implementation is secret Subnetwork –composed of primitives, behavioral models, subnetworks –use hierarchy, regularity in logic design C = f(A,B)

Logic Values Component output values - states 2-state simulation –0 - logical 0 –1 - logical 1 3-state simulation –add X state »unknown, uninitialized, intermediate 5-state simulation –add rising, falling states Other states –Z - high impedance - for buses –U - unknown, but 0 or 1 »X for intermediate value –D, D’ - fault signals - for fault simulation –more states => closer to analog simulation 0X1 2:1 MUX A B Sel Out

Logic Model Implementation Truth table –list of all input/output choices –fast - table lookup evaluation »use 0, 1, 2 for 3 states –impractical for many inputs, logic values Latch –truth table with knowledge of previous state Logic equations –can be compiled and executed fast –must support value system Behavioral description –HLL description of input/output relationship »hardware description language - Verilog, VHDL »general-purpose language –usually precompiled for speed 0 1 X X X 0 X X if (gate == and2) out = in1 && in2; else if (gate == or2) out = in1 || in2;

Hardware Description Languages Special-purpose languages –special constructs for hardware description –timing, concurrency, bit vectors, etc. –can usually include structural description –examples »Verilog »VHDL Standard programming languages –add data types and objects for hardware description –examples »C »C++ »LISP

Example 4-bit Up/Down Counter –4-bit input "countin" –4-bit output "countout" –up/down control "up" –count control "count" –internal state "i" –implied clock Behavior –up = 1 => count up –up = 0 => count down –count = 1 => count –count = 0 => load 4 countin i countout up count clock

Verilog Example /* Programmable 4-bit up/down counter */ MODULE COUNTER (COUNTIN: IN, UP: IN, COUNT: IN, COUNTOUT: OUT); EXTERNAL COUNTER; DCL COUNTIN BIT(4), /* programming input */ UP BIT(1), /* 1=up, 0=down */ COUNT BIT(1), /* 1=count, 0=program */ COUNTOUT BIT(4); /* counter output */ INTERNAL COUNTER; DCL I BIT(4); /* counting variable */ BODY COUNTER; DO INFINITE LOOP COUNTOUT:=I; IF COUNT THEN IF UP THEN I:=I+1; ELSE I:=I-1; ENDIF; ELSE I:=COUNTIN; ENDIF; ENDDO; END COUNTER;

VHDL Example package vvectors is subtype bit32 is integer; subtype bit4 is integer range 0 to 15; subtype bit16 is integer range 0 to 65535; end vvectors;... use work.vvectors.all; entity counter is port (clock : in bit; countin : in bit4; up, count : in bit; countout : out bit4); end counter;

VHDL Example cont. architecture behavior of counter is begin process variable i: bit4 := 0; begin wait until clock = '1'; countout <= i; if (count = '1') then if (up = '1') then if (i = bit4'high) then i := bit4'low; else i := i+1; end if; else if (i = bit4'low) then i := bit4'high; else i := i-1; end if; else i := countin; end if; end process; end behavior;

C Example /* Programmable 4-bit up/down counter */ main() { unsigned int countin:4, /* programming input */ up:1, /* 1=up, 0=down */ count:1, /* 1=count, 0=program */ countout:4, /* counter output */ i:4; /* counting variable */ while (1) { countout=i; if (count) { if (up) i++; else i--; else i=countin;} }

HDL vs. Programming Language HDL strengths –concurrency –bit manipulations –module representations –timing constraints –structural representation support Programming Language strengths –data structures –language support Mostly VHDL and Verilog today –most vendors support both languages