Part 6: VHDL simulation. Introduction to Modeling and Verification of Digital Systems. Elaboration and simulation. Elaboration and simulation
|
|
- Evan Booth
- 6 years ago
- Views:
Transcription
1 M Informatique / MOIG Introduction to Modeling and Verification of Digital ystems Part 6: VHDL simulation Laurence PIERRE 27/28 37 Elaboration and simulation Elaboration and simulation! Compilation consists in the analysis of the source description and the generation of an intermediate code, stored in a design library. Elaboration is the process of building a complete and consistant simulation model from the various compiled units.! Compilation, elaboration, simulation:! The elaboration of a design hierarchy creates a model as a collection of processes.! Finally, simulation of this model proceeds. It consists in the repetitive execution of the simulation cycle
2 imulation loop imulation loop! The simulation process starts with the initialization phase, in which:! After initialization, the simulation loop is as follows (very simplified view) :! The current simulation time T c is ns! while T c < TIME'HIGH do! ignals are initialized, resolved and assigned values - each explicit (and implicit) signal is updated! Processes are executed until their suspension on an explicit or implicit wait statement! Note. A resolved type includes in its definition a resolution function. A resolution function defines how the values of multiple sources of a given signal are to be resolved into a single value for that signal. 4 - for each process P, if P is currently sensitive to a signal and if an event has occurred on in this simulation cycle, then P resumes - T c is computed as the earliest of TIME'HIGH and the next time at which a signal has to be updated end while! Reminder: When a signal value is updated (i.e., a transaction is scheduled), if the new value is different from the previous one, then an event is said to have occurred on the signal 4! Along the simulation, the projected output waveform of a signal is stored in a driver (each process that performs assignment(s) to a given signal implicitly contains a driver for that signal)! A driver is an ordered series of value/time pairs, called transactions! Example signal step: integer := ;... step <= after 5 ns, 2 after ns, after 5 ns, after 2 ns;! The value is the new value for the signal, associated with the time when this value will (might) be assigned! The time is determined by the current simulation time added to the value of the time expression in the corresponding assignment 2 5 ns ns 5 ns 2 ns 42 43
3 ! In a signal assignment statement, the waveform can be preceded by the keyword transport or inertial (default mode). We mainly study the inertial mode assignment here.! The inertial mode signal assignment allows an accurate description of gate behaviour, by delaying signals and filtering glitches (small pulses). It enables to model a component that reacts only if an input value remains stable long enough. The transport mode is mainly used for transmission lines modeling.! The effect of the inertial mode signal assignment on the signal driver is:! all transactions previously scheduled to occur after the new transaction are removed! the new transaction is appended! for all existing transactions scheduled to occur before the new transaction:! all transactions up to the last one with a different value from the new transaction are deleted! the remaining transactions with the same value as the new transaction are kept 44 45! Example: let us come back to the example of slide 62 A B 2! Example: let us come back to the example of slide 62 A B 2! Remember that a natural dataflow description is architecture RTL of Example is signal s,s2: Bit; end RTL; 46! but we choose the following one (silly, but more illustrative here) architecture silly of Example is signal X,Y: Bit; process(a,b,x,y) X <= not A after 2 ns; Y <= X nand B after 5 ns; <= X and Y after 4 ns; end process; end silly; 48
4 ! Example: suppose that, at ns, we have reached the following configuration (X='', Y='', ='') A B and that, at 2 ns, A becomes '' X Y! Example: at 2 ns A becomes ''! The process is activated and the drivers are updated as follows! T c =22 ns, X is updated (X <- ''), and the drivers are updated as follows process(a,b,x,y) X <= not A after 2 ns; Y <= X nand B after 5 ns; <= X and Y after 4 ns; end process; A B! T c =24 ns, a transaction occurs on X, but it is not an event (the process does not resume)! 49 5! Example:! T c =26 ns, is updated ( <- ''), the current status of the drivers is process(a,b,x,y) X <= not A after 2 ns; Y <= X nand B after 5 ns; <= X and Y after 4 ns; end process;! Example:! T c =3 ns, is updated ( <- ''), the current status of the drivers is process(a,b,x,y) X <= not A after 2 ns; Y <= X nand B after 5 ns; <= X and Y after 4 ns; end process;! 32!! T c =27 ns, Y is updated (Y <- ''), A B! T c =32 ns, a transaction occurs on Y, but it is not an event (the process does not resume) and the drivers are updated as follows! The final status is! T c =29 ns, a transaction occurs on X, but it is not an event (the process does not resume) A B 5 52
5 Delta delay Delta delay! But: if the assignments have no after clause? In that case, the notion of delta delay is used! Delta delays can be thought of as infinitesimal delays. A delta delay simply models a progress to the next simulation cycle (without modification of the physical time)! everal delta delays can succeed each other, up to stabilization of the values of the signals! Example: full-adder and its testbench entity full_adder is port(x,y,cin : in Bit; um,cout : out Bit); end full_adder; architecture Dataflow_view of full_adder is signal : Bit; <= X xor Y; um <= xor Cin; Cout <= (X and Y) or ( and Cin); end Dataflow_view; Delta delay Delta delay entity test is end test;! Example: full-adder and its testbench architecture truct of test is component full_adder entity full_adder is port(x,y,cin: in Bit; um,cout: out Bit); end component; port(x,y,cin : in signal Bit; A,B,C,,C2 : Bit; um,cout : out for F: Bit); full_adder use end full_adder; entity work.full_adder(dataflow_view); F: full_adder port map(a,b,c,,c2); architecture Dataflow_view A <= '' of after full_adder ns; is signal : Bit; B <= '' after ns; C <= '' after ns; end truct; <= X xor Y; um <= xor Cin; Cout <= (X and Y) or ( and Cin); end Dataflow_view;! Example: full-adder and its testbench! T c = ns! T c = ns <= X xor Y; um <= xor Cin; Cout <= (X and Y) or ( and Cin); 55 56
6 Delta delay! Example: full-adder and its testbench! T c = ns + Δ Part 7: VHDL and temporal assertions! T c = ns + 2Δ <= X xor Y; um <= xor Cin; Cout <= (X and Y) or ( and Cin); Boolean assertions Boolean assertions! The assert statement enables to monitor Boolean assertions assert condition report message severity level;! When this statement is executed, the condition is evaluated. If it is false, the message is printed and an action is associated with the severity level (it depends on the simulator)! The severity level can be note, warning, error (default), or failure. In general, error makes the simulation stop! But this construct does not allow to check properties that need to be evaluated along several simulation steps! The assert statement enables to monitor Boolean assertions assert condition report message severity level;! When this statement is executed, the condition is evaluated. If it is false, the message is printed and an action is associated with the severity level (it depends on the simulator)! The severity level can be note, warning, error (default), or failure. In general, error makes the simulation stop! But this construct does not allow to check properties that need to be evaluated along several simulation steps Temporal assertions 59 6
7 Temporal assertions Temporal assertions! Example : elevator controller! Everytime the elevator is called at a floor number k, it will eventually reach that floor! Example 2: parking gate controller! Everytime the system is in state "output gate closed" and a valid ticket is inserted, then the gate should open within clock cycles! The PL language (Property pecification Language, IEEE standard 85) enables to formalize temporal assertions and to associate them with HDL descriptions, in particular VHDL descriptions! These PL assertions express temporal properties that involve the signals of the description (primary inputs/ outputs or internal signals)! PL is mainly inspired by the temporal logics LTL (Linear-time Temporal Logic) and CTL (Computation Tree Logic) 6 62 Temporal assertions PL (IEEE std 85) CTL! A glance at LTL (Linear-time Temporal Logic) and CTL (Computation Tree Logic) LTL 63! The FL (Foundation Language) class of PL formulas proposes temporal operators that are similar to the ones of LTL. PL also enables the specification of properties in terms of sequences of events, thanks to EREs (equential Extended Regular Expressions)! Note that PL properties can be verified! By formal analysis (model checking), see for instance MV (Cadence), or RuleBase (IBM)! By dynamic verification (during simulation), studied here. In that case, the properties must conform to the PL simple subset (conforms to the notion of monotonic advancement of time) 64
8 PL semantics PL semantics! The semantics of PL properties is defined with respect to execution traces i.e., words over the alphabet 2 P, where P is a set of atomic propositions! Examples of atomic propositions: "the elevator is called at a floor number k", "a valid ticket is inserted",! These execution traces are built by sampling the simulation on specific events! If all the PL assertions require a sampling on the clock rising edges, it is sufficient to declare, before the assertions: default clock is (clk'event and clk='');! The satisfaction of a formula ϕ on a trace v, denoted as v = ϕ, is defined as follows, for Boolean expressions and for the basic temporal operators next! and until!! v = b v = or b holds on v! v = ϕ ψ v = ϕ and v = ψ! v = next! ϕ v > and v.. = ϕ! v = ϕ until! ψ k < v s.t. v k.. = ψ and j < k, v j.. = ϕ next! ϕ ϕ until! ψ PL semantics Back to the examples! ome derived operators! Eventually: eventually! ϕ = true until! ϕ! Always: always ϕ = eventually! ( ϕ) = (true until! ϕ)! Before: ϕ before! ψ = ψ until! (ϕ ψ)! Next_event: next_event!(b)(ϕ) = b until! (b ϕ)! Next_a: next_a! [i..j] ϕ = next! [i] ϕ next! [j] ϕ! Next_e: next_e! [i..j] ϕ = next! [i] ϕ next! [j] ϕ! And some ERE operators! { s ; s2 } is the concatenation of two EREs s and s2! s[*] means, or several times s, and s[+] means or several times s! s -> ϕ is the (overlapping) suffix implication! Example : elevator controller! Everytime the elevator is called at a floor number k, it will eventually reach that floor always(req k -> eventually!(at k ))! Example 2: parking gate controller! Everytime the system is in state "output gate closed" and a valid ticket is inserted, then the gate should open within clock cycles always(state = gate_closed and valid_ticket -> next_e![..]open) 67 68
9 Example with a VHDL description Example with a VHDL description! Let us consider the VHDL description of an elevator controller, in a 3 levels building! 3 buttons inside the elevator (e, e2, e3) and 3 buttons outside (req, req2, req3)! ignal r k means a request at level k! ignal go k means go to level k ATa AT --- B AT2a AT2 Arrow labelling : go go2 go3 up B AT3a AT Elevator leaving level 3 Elevator moving between levels 2 and 3 Elevator stopped at level 3 69! VHDL description entity Elevator is port(e,e2,e3,req,req2,req3,ck:in Bit); end Elevator; architecture Behav_RTL of Elevator is type TATE is (ATa,AT,B2,AT2,AT2a,B23,AT3,AT3a); signal TATE: TATE; signal GO, GO2, GO3, R, R2, R3, UP : Bit ; process wait until Ck'event and Ck = ''; case TATE is when ATa => if (GO='') then TATE <= AT; elsif ((GO2 or GO3) = '') then TATE <= B2; end if; when AT => TATE <= ATa; when B2 => if (GO = '') and (UP='') then TATE <= AT; elsif (GO2 = '') and (UP='') then TATE <= AT2; elsif (GO3 = '') and (UP='') then TATE <= B23; end if;... end case; 7 Example with a VHDL description Example with a ERE! VHDL description if (TATE /= AT) and ((Req or E) = '') then R <= ''; elsif (TATE = AT) then R <= ''; end if; if (TATE /= AT2) and ((Req2 or E2) = '') then R2 <= ''; elsif (TATE = AT2) then R2 <= ''; end if; if (TATE /= AT3) and ((Req3 or E3) = '') then R3 <= ''; elsif (TATE = AT3) then R3 <= ''; end if; case TATE is when AT => GO <= ''; when ATa => UP <= ''; if (R='') then GO <= ''; end if; if (R2='') then GO2 <= ''; end if; if (R3='') then GO3 <= ''; end if ; when AT2 => GO2 <= '';... end case; end process; end Behav_RTL; always(r -> eventually!(state = at)) always(r2 -> eventually!(state = at2)) always(r3 -> eventually!(state = at3))! HDLC (High-Level Data Link Control) network interface! When the abort sequence is recognized (seven consecutive ones), the AbortFound signal must be set before the arrival of a new frame (tartofframe) default clock is (RxDataEnOut'event and RxDataEnOut=''); property HDLC_ : always({ not RxData ; RxData[*7] } -> AbortFound before! tartofframe); HDLC_..! 7 72
10 What should I remember 73
Part 4: VHDL for sequential circuits. Introduction to Modeling and Verification of Digital Systems. Memory elements. Sequential circuits
M1 Informatique / MOSIG Introduction to Modeling and erification of Digital Systems Part 4: HDL for sequential circuits Laurence PIERRE http://users-tima.imag.fr/amfors/lpierre/m1arc 2017/2018 81 Sequential
More informationConcurrent Signal Assignment Statements (CSAs)
Concurrent Signal Assignment Statements (CSAs) Digital systems operate with concurrent signals Signals are assigned values at a specific point in time. VHDL uses signal assignment statements Specify value
More informationSpecifying circuit properties in PSL. (Some of this material is due to Cindy Eisner and Dana Fisman, with thanks) See also the Jasper PSL Quick Ref.
Specifying circuit properties in PSL (Some of this material is due to Cindy Eisner and Dana Fisman, with thanks) See also the Jasper PSL Quick Ref. Background: Model Checking property G(p -> F q) yes MC
More informationC-Based Hardware Design
LECTURE 6 In this lecture we will introduce: The VHDL Language and its benefits. The VHDL entity Concurrent and Sequential constructs Structural design. Hierarchy Packages Various architectures Examples
More informationHardware Description Languages. Modeling Complex Systems
Hardware Description Languages Modeling Complex Systems 1 Outline (Raising the Abstraction Level) The Process Statement if-then, if-then-else, if-then-elsif, case, while, for Sensitivity list Signals vs.
More informationCOE 405, Term 062. Design & Modeling of Digital Systems. HW# 1 Solution. Due date: Wednesday, March. 14
COE 405, Term 062 Design & Modeling of Digital Systems HW# 1 Solution Due date: Wednesday, March. 14 Q.1. Consider the 4-bit carry-look-ahead adder (CLA) block shown below: A 3 -A 0 B 3 -B 0 C 3 4-bit
More informationVHDL simulation and synthesis
VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis
More informationLecture 3: Modeling in VHDL. EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware
More informationOutline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.
Outline CPE/EE 422/522 Advanced Logic Design L05 Electrical and Computer Engineering University of Alabama in Huntsville What we know Combinational Networks Sequential Networks: Basic Building Blocks,
More informationSpecifications Part 3
pm4 12 Specifications Part 3 Embedded System Design Kluwer Academic Publisher by Peter Marwedel TU Dortmund 2008/11/15 ine Marwedel, 2003 Graphics: Alexandra Nolte, Ges Models of computation considered
More informationHardware Description Language VHDL (1) Introduction
Hardware Description Language VHDL (1) Introduction Digital Radiation Measurement and Spectroscopy NE/RHP 537 Introduction Hardware description language (HDL) Intended to describe circuits textually, for
More informationSequential VHDL. Katarzyna Radecka. DSD COEN 313
Sequential VHDL Katarzyna Radecka DSD COEN 313 kasiar@ece.concordia.ca Overview Process Sensitivity List Wait Statements If Statements Case Statements Loop Statements Three Styles of VHDL Behavioral Structural
More information5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) -
Sistemas Digitais I LESI - 2º ano Lesson 5 - VHDL Prof. João Miguel Fernandes (miguel@di.uminho.pt) Dept. Informática - Introduction - VHDL was developed, in the mid-1980s, by DoD and IEEE. VHDL stands
More informationOUTLINE SYSTEM-ON-CHIP DESIGN. GETTING STARTED WITH VHDL September 3, 2018 GAJSKI S Y-CHART (1983) TOP-DOWN DESIGN (1)
September 3, 2018 GETTING STARTED WITH VHDL 2 Top-down design VHDL history Main elements of VHDL Entities and architectures Signals and processes Data types Configurations Simulator basics The testbench
More informationSECTION 1 FAMILIARIZATION WITH VHDL
SECTION 1 FAMILIARIZATION WITH VHDL Page Introduction 1.2 Overview of VHDL 1.7 VHDL design units 1.7 Description styles 1.10 Model organization 1.20 Packages 1.25 Signals and delays 1.28 Attributes 1.29
More informationON THE EFFECTIVENESS OF ASSERTION-BASED VERIFICATION
ON THE EFFECTIVENESS OF ASSERTION-BASED VERIFICATION IN AN INDUSTRIAL CONTEXT L.Pierre, F.Pancher, R.Suescun, J.Quévremont TIMA Laboratory, Grenoble, France Dolphin Integration, Meylan, France Thales Communications
More informationAbi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University
Hardware description language (HDL) Intended to describe circuits textually, for a computer to read Evolved starting in the 1970s and 1980s Popular languages today include: VHDL Defined in 1980s by U.S.
More informationIP Core Design. Lecture 11 Introduction to PSL
IP Core Design Lecture 11 Juinn-Dar Huang, Ph.D. Assistant Professor jdhuang@mail.nctu.edu.tw November 2004 1 Content Overview Fundamentals Boolean Layer Temporal Layer SERE Temporal Layer FL Property
More informationPart IV. Behavioural Description Using VHDL
Part IV Behavioural Description Using 4 Behavioural Description 5 Array attributes Type Signal attributes Behavioural Style Behavioural style describes a design in terms of its behaviour, and not in terms
More informationWhat Is VHDL? VHSIC (Very High Speed Integrated Circuit) Hardware Description Language IEEE 1076 standard (1987, 1993)
What Is VHDL? VHSIC (Very High Speed Integrated Circuit) Hardware Description Language IEEE 1076 standard (1987, 1993) Only possible to synthesize logic from a subset of VHDL Subset varies according to
More information310/ ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006
310/1780-10 ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006 VHDL & FPGA - Session 2 Nizar ABDALLH ACTEL Corp. 2061 Stierlin Court
More informationEmbedded Systems CS - ES
Embedded Systems - 1 - REVIEW Hardware/System description languages VDHL VHDL-AMS SystemC TLM - 2 - VHDL REVIEW Main goal was modeling of digital circuits Modelling at various levels of abstraction Technology-independent
More informationModeling Complex Behavior
Modeling Complex Behavior Sudhakar Yalamanchili, Georgia Institute of Technology, 2006 (1) Outline Abstraction and the Process Statement Concurrent processes and CSAs Process event behavior and signals
More informationProperty-based design with HORUS / SYNTHORUS
Property-based design with HORUS / SYNTHORUS Dominique Borrione, Negin Javaheri, Katell Morin-Allory, Yann Oddos, Alexandre Porcher Radboud University, Nijmegen 1 March 27, 2013 Functional specifications
More informationReview of Digital Design with VHDL
Review of Digital Design with VHDL Digital World Digital world is a world of 0 and 1 Each binary digit is called a bit Eight consecutive bits are called a byte Hexadecimal (base 16) representation for
More informationDiscrete Event Models
12 Discrete Event Models Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2016 年 11 月 08 日 These slides use Microsoft clip arts. Microsoft copyright
More informationContents. Appendix D VHDL Summary Page 1 of 23
Appendix D VHDL Summary Page 1 of 23 Contents Appendix D VHDL Summary...2 D.1 Basic Language Elements...2 D.1.1 Comments...2 D.1.2 Identifiers...2 D.1.3 Data Objects...2 D.1.4 Data Types...2 D.1.5 Data
More informationAdvanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis. 26 October - 20 November, 2009
2065-15 Advanced Training Course on FPGA Design and VHDL for Hardware Simulation and Synthesis 26 October - 20 November, 2009 FPGA Architectures & VHDL Introduction to Synthesis Nizar Abdallah ACTEL Corp.2061
More informationDigital Systems Design
Digital Systems Design Review of Combinatorial Circuit Building Blocks: VHDL for Combinational Circuits Dr. D. J. Jackson Lecture 2-1 Introduction to VHDL Designer writes a logic circuit description in
More informationEE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 4 Introduction to VHDL
EE 459/500 HDL Based Digital Design with Programmable Logic Lecture 4 Introduction to VHDL Read before class: Chapter 2 from textbook (first part) Outline VHDL Overview VHDL Characteristics and Concepts
More informationEEL 4783: Hardware/Software Co-design with FPGAs
EEL 4783: Hardware/Software Co-design with FPGAs Lecture 9: Short Introduction to VHDL* Prof. Mingjie Lin * Beased on notes of Turfts lecture 1 What does HDL stand for? HDL is short for Hardware Description
More informationTKT-1212 Digitaalijärjestelmien toteutus. Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008
TKT-1212 Digitaalijärjestelmien toteutus Lecture 7: VHDL Testbenches Ari Kulmala, Erno Salminen 2008 Contents Purpose of test benches Structure of simple test bench Side note about delay modeling in VHDL
More informationDiscrete Event Models
12 Discrete Event Models Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2014 年 10 月 28 日 These slides use Microsoft clip arts. Microsoft copyright
More informationSpecifying time in VHDL
Computer System Structures cz:struktury počítačových systémů Lecturer: Richard Šusta richard@susta.cz, susta@fel.cvut.cz, +420 2 2435 7359 Version: 1.0 ČVUT-FEL in Prague, CR subject A0B35SPS Specifying
More informationGetting Started with Xilinx WebPack 13.1
Getting Started with Xilinx WebPack 13.1 B. Ackland June 2011 (Adapted from S. Tewksbury notes WebPack 7.1) This tutorial is designed to help you to become familiar with the operation of the WebPack software
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College October 24, 2018 Outline Outline 1 Chapter 8: A C++ Introduction For Python Programmers Expressions and Operator Precedence
More informationECE U530 Digital Hardware Synthesis. Course Accounts and Tools
ECE U530 Digital Hardware Synthesis Prof. Miriam Leeser mel@coe.neu.edu Sept 13, 2006 Lecture 3: Basic VHDL constructs Signals, Variables, Constants VHDL Simulator and Test benches Types Reading: Ashenden
More informationVHDL 2 Combinational Logic Circuits. Reference: Roth/John Text: Chapter 2
VHDL 2 Combinational Logic Circuits Reference: Roth/John Text: Chapter 2 Combinational logic -- Behavior can be specified as concurrent signal assignments -- These model concurrent operation of hardware
More informationTutorial 4 HDL. Outline VHDL PROCESS. Modeling Combinational Logic. Structural Description Instantiation and Interconnection Hierarchy
CS3: Hardware Lab Tutorial 4 HDL Outline VHDL basic language concepts basic design methodology Examples A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati i i i3 i4 Modeling Combinational
More informationIntroduction to VHDL. Main language concepts
Introduction to VHDL VHSIC (Very High Speed Integrated Circuit) Hardware Description Language Current standard is IEEE 1076-1993 (VHDL-93). Some tools still only support VHDL-87. Tools used in the lab
More informationAssignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture
Assignment Last time Project 4: Using synthesis tools Synplify Pro and Webpack Due 11/11 ning of class Generics Used to parameterize models E.g., Delay, bit width Configurations Configuration specification
More informationVHDL Structural Modeling II
VHDL Structural Modeling II ECE-331, Digital Design Prof. Hintz Electrical and Computer Engineering 5/7/2001 331_13 1 Ports and Their Usage Port Modes in reads a signal out writes a signal inout reads
More informationModule 2.1 Gate-Level/Structural Modeling. UNIT 2: Modeling in Verilog
Module 2.1 Gate-Level/Structural Modeling UNIT 2: Modeling in Verilog Module in Verilog A module definition always begins with the keyword module. The module name, port list, port declarations, and optional
More informationVHDL: A Crash Course
VHDL: A Crash Course Dr. Manuel Jiménez With contributions by: Irvin Ortiz Flores Electrical and Computer Engineering Department University of Puerto Rico - Mayaguez Outline Background Program Structure
More information1. Using the for-generahon scheme, concurrent statements can be replicated a predetermined number of times.
Generate Statements Concurrent statements can be conditionally selected or replicated during the elaboration phase using the generate statement. There are two forms of the generate statement. 1. Using
More informationDeclarations of Components and Entities are similar Components are virtual design entities entity OR_3 is
Reserved Words component OR_3 port (A,B,C: in bit; Z: out bit); end component ; Reserved Words Declarations of Components and Entities are similar Components are virtual design entities entity OR_3 is
More informationSugar 2.0 An Introduction
Sugar 2.0 An Introduction Cindy Eisner 1 Dana Fisman 1,2 1 IBM Haifa Research Laboratory 2 Weizmann Institute of Science, Rehovot, Israel {eisner,danaf}@il.ibm.com 1 Introduction Sugar is a language for
More informationBasic Language Concepts
Basic Language Concepts Sudhakar Yalamanchili, Georgia Institute of Technology ECE 4170 (1) Describing Design Entities a sum b carry Primary programming abstraction is a design entity Register, logic block,
More informationVHDL Simulation. Testbench Design
VHDL Simulation Testbench Design The Test Bench Concept Elements of a VHDL/Verilog testbench Unit Under Test (UUT) or Device Under Test (DUT) instantiate one or more UUT s Stimulus of UUT inputs algorithmic
More informationP2VSIM: A SIMULATION AND VISUALIZATION TOOL FOR THE P2V COMPILER. A Thesis OSCAR MICHAEL ALMEIDA
P2VSIM: A SIMULATION AND VISUALIZATION TOOL FOR THE P2V COMPILER A Thesis by OSCAR MICHAEL ALMEIDA Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements
More informationStep 1 in transitioning to behavioral modeling. But here 1-to-1 with our gate level model.
Project Step 4 Step 1 in transitioning to behavioral modeling. But here 1-to-1 with our gate level model. Copyright 2006 - Joanne DeGroat, ECE, OSU 1 Project Step 4 This is the start of the transition
More informationTest Benches - Module 8
Test Benches Module 8 Jim Duckworth, WPI 1 Overview We have concentrated on VHDL for synthesis Can also use VHDL as a test language Very important to conduct comprehensive verification on your design To
More informationN-input EX-NOR gate. N-output inverter. N-input NOR gate
Hardware Description Language HDL Introduction HDL is a hardware description language used to design and document electronic systems. HDL allows designers to design at various levels of abstraction. It
More informationSpiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.
1-4.1 1-4.2 Spiral 1 / Unit 4 Verilog HDL Mark Redekopp OVERVIEW 1-4.3 1-4.4 Digital Circuit Design Steps Digital Circuit Design Description Design and computer-entry of circuit Verification Input Stimulus
More informationCOE 405 Design Methodology Based on VHDL
COE 405 Design Methodology Based on VHDL Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Elements of VHDL Top-Down Design Top-Down Design with
More informationMridula Allani Fall Fall
Mridula Allani Fall 2010 Fall 2010 1 Model and document digital systems Hierarchical models System, RTL (Register Transfer Level), gates Different levels of abstraction Behavior, structure Verify circuit/system
More informationLecture 5: Aldec Active-HDL Simulator
Lecture 5: Aldec Active-HDL Simulator 1. Objective The objective of this tutorial is to introduce you to Aldec s Active-HDL 9.1 Student Edition simulator by performing the following tasks on a 4-bit adder
More informationVHDL. ELEC 418 Advanced Digital Systems Dr. Ron Hayne. Images Courtesy of Cengage Learning
VHDL ELEC 418 Advanced Digital Systems Dr. Ron Hayne Images Courtesy of Cengage Learning Design Flow 418_02 2 VHDL Modules 418_02 3 VHDL Libraries library IEEE; use IEEE.std_logic_1164.all; std_logic Single-bit
More information6.111 Lecture # 5. Entity section describes input and output. VHDL: Very High speed integrated circuit Description Language:
6.111 Lecture # 5 VHDL: Very High speed integrated circuit Description Language: All VHDL files have two sections: architecture and entity -- Massachusetts (Obsolete) Stoplight Example library ieee; use
More informationLogic and Computer Design Fundamentals VHDL. Part 1 Chapter 4 Basics and Constructs
Logic and Computer Design Fundamentals VHDL Part Chapter 4 Basics and Constructs Charles Kime & Thomas Kaminski 24 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Overview
More informationIEEE LANGUAGE REFERENCE MANUAL Std P1076a /D3
LANGUAGE REFERENCE MANUAL Std P1076a-1999 2000/D3 Clause 10 Scope and visibility The rules defining the scope of declarations and the rules defining which identifiers are visible at various points in the
More informationCSC2108: Automated Verification Assignment 1 - Solutions
8 CSC218: Automated Verification Assignment 1 - Solutions 1. Solve the following problem: Use the definition of between states and CTL formulas to explain why means that is true infinitely often along
More informationVHDL Basics. Mehdi Modarressi. Department of Electrical and Computer Engineering, University of Tehran. ECE381(CAD), Lecture 4:
ECE381(CAD), Lecture 4: VHDL Basics Mehdi Modarressi Department of Electrical and Computer Engineering, University of Tehran Some slides are taken (with modifications) from ECE-448 of GMU Outline An introduction
More informationDigital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification
Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification Ahmed Abu-Hajar, Ph.D. abuhajar@digitavid.net Digitavid, Inc San Jose, CA Session One Outline Introducing VHDL
More informationECE 3401 Lecture 10. More on VHDL
ECE 3401 Lecture 10 More on VHDL Outline More on VHDL Some VHDL Basics Data Types Operators Delay Models VHDL for Simulation VHDL for Synthesis 1 Data Types Every signal has a type, type specifies possible
More informationVHDL: RTL Synthesis Basics. 1 of 59
VHDL: RTL Synthesis Basics 1 of 59 Goals To learn the basics of RTL synthesis. To be able to synthesize a digital system, given its VHDL model. To be able to relate VHDL code to its synthesized output.
More informationLab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston
Lab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston Introduction This lab introduces the concept of modular design by guiding you through
More informationOutline of this Introduction to VHDL
Outline of this Introduction to VHDL 1) Formal Construction of VHDL Models 2) Test Environments, Test Benches VHDL models providing input signals (stimuli) to verify (test) the correct function (and timing)
More informationTest Bench. Top Level Model Test Bench MUT
A test bench is usually a simulation-only model used for design verification of some other model(s) to be synthesized. A test bench is usually easier to develop than a force file when verifying the proper
More informationSubject: Scheduling Region Questions and Problems of new SystemVerilog commands
Subject: Scheduling Region Questions and Problems of new SystemVerilog commands I have read and re-read sections 14-17 of the SystemVerilog 3.1 Standard multiple times and am still confused about exactly
More informationIntroduction to VHDL Lecture D
Introduction to VHDL Lecture D Prof. K. J. Hintz Department of Electrical and Computer Engineering George Mason University Copyright 1995, 1996 Basic VHDL RASSP Education & Facilitation Module 10 Version
More information1 Design Process HOME CONTENTS INDEX. For further assistance, or call your local support center
1 Design Process VHDL Compiler, a member of the Synopsys HDL Compiler family, translates and optimizes a VHDL description to an internal gate-level equivalent. This representation is then compiled with
More informationLecture 12 VHDL Synthesis
CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?
More informationOverview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions
Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,
More informationAssertion Checker Synthesis for FPGA Emulation
Assertion Checker Synthesis for FPGA Emulation Chengjie Zang, Qixin Wei and Shinji Kimura Graduate School of Information, Production and Systems, Waseda University, 2-7 Hibikino, Kitakyushu, 808-0135,
More informationUNIT I Introduction to VHDL VHDL: - V -VHSIC, H - Hardware, D - Description, L Language Fundamental section of a basic VHDL code Library :
UNIT I Introduction to VHDL VHDL stands for very high-speed integrated circuit hardware description language. Which is one of the programming languages used to model a digital system by dataflow, behavioral
More informationVHDL Examples Mohamed Zaky
VHDL Examples By Mohamed Zaky (mz_rasmy@yahoo.co.uk) 1 Half Adder The Half Adder simply adds 2 input bits, to produce a sum & carry output. Here we want to add A + B to produce Sum (S) and carry (C). A
More informationChapter 6 Combinational-Circuit Building Blocks
Chapter 6 Combinational-Circuit Building Blocks Commonly used combinational building blocks in design of large circuits: Multiplexers Decoders Encoders Comparators Arithmetic circuits Multiplexers A multiplexer
More informationEECE-4740/5740 Advanced VHDL and FPGA Design. Lecture 3 Concurrent and sequential statements
EECE-4740/5740 Advanced VHDL and FPGA Design Lecture 3 Concurrent and sequential statements Cristinel Ababei Marquette University Department of Electrical and Computer Engineering Overview Components hierarchy
More informationSynthesis of Digital Systems CS 411N / CSL 719. Part 3: Hardware Description Languages - VHDL
Synthesis of Digital Systems CS 411N / CSL 719 Part 3: Hardware Description Languages - VHDL Instructor: Preeti Ranjan Panda Department of Computer Science and Engineering Indian Institute of Technology,
More informationProgramming with HDLs
Programming with HDLs Paul Chow February 11, 2008 1 Introduction The purpose of this document is to encourage the proper approach or mindset for programming in a hardware description language (HDL), particularly
More informationPART I BASIC DIGITAL CIRCUITS
PART I BASIC DIGITAL CIRCUITS CHAPTER 1 GATE-LEVEL COMBINATIONAL CIRCUIT 1.1 INTRODUCTION VHDL stands for VHSIC (very high-speed integrated circuit) hardware description language. It was originally sponsored
More informationVHDL Testbench Design. Textbook chapters 2.19, , 9.5
VHDL Testbench Design Textbook chapters 2.19, 4.10-4.12, 9.5 The Test Bench Concept Elements of a VHDL/Verilog testbench Unit Under Test (UUT) or Device Under Test (DUT) instantiate one or more UUT s Stimulus
More informationJUNE, JULY 2013 Fundamentals of HDL (10EC45) PART A
JUNE, JULY 2013 Fundamentals of HDL (10EC45) Time: 3hrs Max Marks:100 Note: Answer FIVE full questions, selecting at least TWO questions from each part. PART A Q1.a. Describe VHDL scalar data types with
More informationEfficient Modeling and Verification of Analog/Mixed-Signal Circuits
Efficient Modeling and Verification of Analog/Mixed-Signal Circuits Scott R. Little University of Utah Motivation 1 About 75 percent of all chips include analog circuits. These circuits make up 2 percent
More informationCSCI Lab 3. VHDL Syntax. Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\
CSCI 250 - Lab 3 VHDL Syntax Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\ Objectives 1. Learn VHDL Valid Names 2. Learn the presentation of Assignment and Comments 3. Learn Modes, Types, Array,
More informationLecture 4. VHDL Fundamentals. Required reading. Example: NAND Gate. Design Entity. Example VHDL Code. Design Entity
Required reading Lecture 4 VHDL Fundamentals P. Chu, RTL Hardware Design using VHDL Chapter 3, Basic Language Constructs of VHDL George Mason University 2 Example: NAND Gate Design Entity a b z a b z 0
More informationHardware description languages
Specifying digital circuits Schematics (what we ve done so far) Structural description Describe circuit as interconnected elements Build complex circuits using hierarchy Large circuits are unreadable Hardware
More informationQuartus Counter Example. Last updated 9/6/18
Quartus Counter Example Last updated 9/6/18 Create a logic design from start to a DE10 implementation This example uses best design practices This example is not about creating HDL The HDL code will be
More informationIntroduction to VHDL. Yvonne Avilés Colaboration: Irvin Ortiz Flores Rapid System Prototyping Laboratory (RASP) University of Puerto Rico at Mayaguez
Introduction to VHDL Yvonne Avilés Colaboration: Irvin Ortiz Flores Rapid System Prototyping Laboratory (RASP) University of Puerto Rico at Mayaguez What is VHDL? Very High Speed Integrated Circuit Hardware
More informationRTL Implementation. Introduction to Structured VLSI Design. Concurrent Statements and Processes. Combinational and Sequential Logic.
RTL Implementation 32 Introduction to Structured VLSI Design Recap on Processes, Signals, and Variables A Y Y=A*B+C B C 48 Joachim Rodrigues We have complete control (active chioice) over the registers:
More informationThe process. Sensitivity lists
The process process itself is a concurrent statement but the code inside the process is executed sequentially Process label (optional) Process declarative region Process body entity Test is, : in bit;
More informationHDL. Hardware Description Languages extensively used for:
HDL Hardware Description Languages extensively used for: Describing (digital) hardware (formal documentation) Simulating it Verifying it Synthesizing it (first step of modern design flow) 2 main options:
More informationCS429: Computer Organization and Architecture
CS429: Computer Organization and Architecture Dr. Bill Young Department of Computer Sciences University of Texas at Austin Last updated: January 2, 2018 at 11:23 CS429 Slideset 5: 1 Topics of this Slideset
More informationLecture 4. VHDL Fundamentals. George Mason University
Lecture 4 VHDL Fundamentals George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 3, Basic Language Constructs of VHDL 2 Design Entity ECE 448 FPGA and ASIC Design with
More information!"#$%&&"'(')"*+"%,%-".#"'/"'.001$$"
!"#$%&&"'(')"*+"%,%-".#"'/"'.001$$"!!"#$%&'#()#*+"+#,-."/0110#230#4."50",+"+#)6# 6+-+#(.6+-0#)4475.8)60#0/#.65-0#230#9+**+"+# 2.48).-0#(.6+-0#! 2+"*5."5*:#,."/0110#;)**0! *),".6*:#-.99-0*0"5."+#2+660,.40"5)#;)*)2)#
More informationCS221: VHDL Models & Synthesis
CS221: VHDL Models & Synthesis Dr. A. Sahu DeptofComp.Sc.&Engg. Indian Institute of Technology Guwahati 1 Examples : Outline N BitRipple Adder, Mux, Register, FSM VHDL Model DataFlow Component BehavioralModel
More informationLecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)
Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Pinit Kumhom VLSI Laboratory Dept. of Electronic and Telecommunication Engineering (KMUTT) Faculty of Engineering King Mongkut s University
More informationVHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses
VHDL Sample Slides from the 2-day and 4-day VHDL Training Courses Rev. 4.7 VHDL 2011 TM Associates, Inc. 1-1 These sample slides are taken from the 4-day basic VHDL training course. They are from a variety
More informationEE261: Intro to Digital Design
2014 EE261: Intro to Digital Design Project 3: Four Bit Full Adder Abstract: This report serves to teach us, the students, about modeling logic and gives a chance to apply concepts from the course to a
More information