Why Behavioral Wait statement Signal Timing Examples of Behavioral Descriptions –ROM.

Slides:



Advertisements
Similar presentations
Hardware Description Language (HDL)
Advertisements

Blocks Resolved Signals Signal GUARDs Tri-State Buses.
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.
9/18/08 Lab 2 - Solution TA: Jorge. 9/18/08 Half-adder.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
VHDL Quick Start Peter J. Ashenden The University of Adelaide.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 2 Microcomputer Systems Design (Embedded Systems)
Sistemas Digitais I LESI - 2º ano Lesson 5 - VHDL U NIVERSIDADE DO M INHO E SCOLA DE E NGENHARIA Prof. João Miguel Fernandes Dept.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
Topics Entity DeclarationsEntity Declarations Port ClausePort Clause Component DeclarationComponent Declaration Configuration DeclarationConfiguration.
4/10/20081 Lab 9 RT methodology introduction Register operations Data Path Control Path ASM Example TA: Jorge Crichigno.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
Package with 4-valued logic Signal Attributes Assertion Data Flow description.
Today’s Lecture Process model –initial & always statements Assignments –Continuous & procedural assignments Timing Control System tasks.
Introduction to VHDL (part 2)
Advanced FPGA Based System Design Lecture-9 & 10 VHDL Sequential Code By: Dr Imtiaz Hussain 1.
1 H ardware D escription L anguages Basic Language Concepts.
1 Data Object Object Types A VHDL object consists of one of the following: –Signal, Which represents interconnection wires that connect component instantiation.
Computer Architecture Computational Models Ola Flygt V ä xj ö University
Modeling styles: 1. Structural Modeling: As a set of interconnected components (to represent structure), 2. Dataflow Modeling: As a set of concurrent assignment.
IAY 0600 Digitaalsüsteemide disain Event-Driven Simulation Alexander Sudnitson Tallinn University of Technology.
7/10/2007DSD,USIT,GGSIPU1 Basic concept of Sequential Design.
IAY 0600 Digital Systems Design VHDL discussion Dataflow&Behavioral Styles Combinational Design Alexander Sudnitson Tallinn University of Technology.
2-Jun-16EE5141 Chapter 3 ä The concept of the signal ä Process concurrency ä Delta time ä Concurrent and sequential statements ä Process activation by.
Basic Concepts in VHDL Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHDL – Basic Language Elements  Identifiers: –basic identifier: composed of a sequence of one or more.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Timing Model VHDL uses the following simulation cycle to model the stimulus and response nature of digital hardware Start Simulation Update Signals Execute.
Ch.2 Part E: VHDL, SystemC EECE **** Embedded System Design.
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
VHDL – Behavioral Modeling and Registered Elements ENGIN 341 – Advanced Digital Design University of Massachusetts Boston Department of Engineering Dr.
VHDL Discussion Sequential Sytems. Memory Elements. Registers. Counters IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology.
1/8/ L16 Timing & Concurrency III Copyright Joanne DeGroat, ECE, OSU1 Timing & Concurrency III Delay Model foundations for simulation and.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
5-1 Logic System Design I VHDL Design Principles ECGR2181 Reading: Chapter 5.0, 5.1, 5.3 port ( I: in STD_LOGIC_VECTOR (1 to 9); EVEN, ODD: out STD_LOGIC.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Subprograms Lecture 6. Subprograms A subprogram defines a sequential algorithm that performs some computations. Subprograms can be: –1. functions –2.
Relational Operators Result is boolean: greater than (>) less than (=) less than or equal to (
IAY 0600 Digital Systems Design Event-Driven Simulation VHDL Discussion Alexander Sudnitson Tallinn University of Technology.
May 9, 2001Systems Architecture I1 Systems Architecture I (CS ) Lab 5: Introduction to VHDL Jeremy R. Johnson May 9, 2001.
55:032 - Intro. to Digital DesignPage 1 VHDL and Processes Defining Sequential Circuit Behavior.
Lecture #12 Page 1 ECE 4110– Digital Logic Design Lecture #12 Agenda 1.VHDL : Behavioral Design (Processes) Announcements 1.n/a.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
ECE 4110–5110 Digital System Design
Basic Language Concepts
IAY 0600 Digitaalsüsteemide disain
HDL simulation and Synthesis (Marks16)
Behavioral Style Combinational Design with VHDL
IAY 0600 Digital Systems Design
Timing Model Start Simulation Delay Update Signals Execute Processes
Behavioral Style Combinational Design with VHDL
IAY 0600 Digital Systems Design
ECE 434 Advanced Digital System L08
Peter J. Ashenden The University of Adelaide
IAS 0600 Digital Systems Design
Copyright Joanne DeGroat, ECE, OSU
VHDL Discussion Subprograms
VHDL Discussion Subprograms
IAS 0600 Digital Systems Design
VHDL Programming (08 Marks)
How do you achieve deterministic concurrent simulation.
Timing & Concurrency II
RASSP Education & Facilitation
Copyright Joanne DeGroat, ECE, OSU
Timing & Concurrency II
Timing & Concurrency II
4-Input Gates VHDL for Loops
Presentation transcript:

Why Behavioral Wait statement Signal Timing Examples of Behavioral Descriptions –ROM

VHDL Behavioral Descriptions The process concept Wait statements and time modeling Behavioral versus data-flow descriptions Modeling of basic hardware components Mixed descriptions

VHDL data-flow descriptions model simple devices whose outputs are always a function of their inputs. A more general capability is required to model devices with internal (hidden) state information. A technique is required to describe device behavior in algorithmic (sequential) terms. The process statement provides a compact representation for arbitrary deterministic behavior of hardware components. The subprogram encapsulates a sequence of sequential statements. VHDL Behavioral Descriptions

Why Behavioral Description? Designers can first concentrate on the behavior of a system, and then work on different implementations later. Manufacturers can release a functionality definition without revealing proprietary details of implementation. Support top-down design methodologies. Support multi-level simulation

Processes Processes A process consists of a set of sequential statements, which are executed one by one according to their textual order. The sequential statements are similar to those in a high-level programming language: - Variable assignment statements - If and case statements - Loop statements - Procedure call and return statements Unique to VHDL - Signal assignment statements - Wait statements - Assertion statements

Processes Processes EXAMPLE architecture behavior of E is begin P1: process variable V: Natural := 0; begin for i in 1 to 100 loop V := V + 1; end loo p; S <= V after 10ns wait for 20ns; end process P1;... end behavior;

Process Semantics All processes start execution at simulation time zero. A process stops execution when it reaches a wait statement. The process resumes when the conditions specified by the wait statement are met. When the last statement of a process is executed the process begins again at the first statement.

Process Semantics If a process never waits then it will loop forever. A process which is being executed is said to be active; otherwise the process is said to be suspended. Process statements which do not assign values to signals are said to be passive. –A passive process has no outputs (it does not assign to any signals) and, therefore, cannot cause the activation of another process. –Passive process can be placed in the entity declaration.

Process Semantics Example of process semantics

The Wait Statements

Wait statements are used to control the change of state of processes. We can also use a sensitivity list to define a set of signals which a process is always sensitive to. –In this case, it is illegal to include any wait statements in the process (or in subprograms called by the process).

The Wait Statements

Signal Timing The three models of time delay are applicable here to the behavioral description. - Signals are never assigned to directly. What will be the result?

The Simulation Cycle If no driver is active, the simulation time advances to the next time at which a driver becomes active or a process times out on a “wait for” Processes that have timed out are the initial members of a list of pending processes Each active explicit signal (other than implicit) in the model is updated— events may occur on signals as a result Each implicit signal (such as GURAD, ‘DELAYED, ‘STABLE, ‘QUIET, or ‘TRANSACTION) in the model is updated— events may occur on signals as a result

The Simulation Cycle Every process waiting on a signal which has just experienced an event is added to the list of pending processes Each pending process is executed until it suspends Repeat the cycle Simulation is complete when the simulation time has advanced to the value time'high

Process Communication Processes can communicate with each other via signals (not variables). Signals are used to transmit information between processes. If there is more than one parallel assignment to the same signal the signal must be declared as a resolved signal

Process Communication - zoom

A concurrent signal assignment statement corresponds to a process Behavioral vs. Data-flow Descriptions

An example of Behavioral Description: ROM Behavioral description of a memory board:

An example (cont’d)

An example (cont’d - zoom)

Variable Assignment In VHDL 87, variables can only be declared in a process or a subprogram. A variable assignment will take effect immediately. A variable will retain its value throughout the simulation if it is declared in a process. Variables declared in subprograms are reinitialized whenever the subprogram is called. Ex.

Sources Krzysztof Kuchcinski