Lecture #12 Page 1 ECE 4110– Digital Logic Design Lecture #12 Agenda 1.VHDL : Behavioral Design (Processes) Announcements 1.n/a.

Slides:



Advertisements
Similar presentations
Tutorial 2 Sequential Logic. Registers A register is basically a D Flip-Flop A D Flip Flop has 3 basic ports. D, Q, and Clock.
Advertisements

VHDL Lecture 1 Megan Peck EECS 443 Spring 08.
Lecture #24 Page 1 EE 367 – Logic Design Lecture #24 Agenda 1.State Machines Review Announcements 1.n/a.
Synchronous Sequential Logic
Combinational Logic.
Lecture #28 Page 1 ECE 4110– Sequential Logic Design Lecture #28 Agenda 1.Counters Announcements 1.HW #13 assigned 2.Next: Test #2 Review.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
ECE 331 – Digital System Design Latches and Flip-Flops (Lecture #17) The slides included herein were taken from the materials accompanying Fundamentals.
Lecture #4 Page 1 ECE 4110–5110 Digital System Design Lecture #4 Agenda 1.VHDL History 2.Design Abstraction Announcements 1.n/a.
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.
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.
Why Behavioral Wait statement Signal Timing Examples of Behavioral Descriptions –ROM.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
Simple Testbenches Behavioral Modeling of Combinational Logic
Lecture #6 Page 1 Lecture #6 Agenda 1.VHDL - Architecture 2.VHDL - Packages Announcements 1.HW #3 assigned ECE 4110– Sequential Logic Design.
Fall 08, Oct 29ELEC Lecture 7 (updated) 1 Lecture 7: VHDL - Introduction ELEC 2200: Digital Logic Circuits Nitin Yogi
Introduction to VHDL (part 2)
Advanced FPGA Based System Design Lecture-9 & 10 VHDL Sequential Code By: Dr Imtiaz Hussain 1.
VHDL Training ©1995 Cypress Semiconductor 1 Introduction  VHDL is used to:  document circuits  simulate circuits  synthesize design descriptions 
Lecture #23 Page 1 ECE 4110– Sequential Logic Design Lecture #23 Agenda 1.Latches and Flip-Flops Review Announcements 1.HW #11assigned.
Verilog Basics Nattha Jindapetch November Agenda Logic design review Verilog HDL basics LABs.
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
IAY 0600 Digitaalsüsteemide disain Event-Driven Simulation Alexander Sudnitson Tallinn University of Technology.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
2-Jun-16EE5141 Chapter 3 ä The concept of the signal ä Process concurrency ä Delta time ä Concurrent and sequential statements ä Process activation by.
Module 1.2 Introduction to Verilog
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.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics VHDL register-transfer modeling: –basics using traffic light controller; –synthesis.
Timing Model VHDL uses the following simulation cycle to model the stimulus and response nature of digital hardware Start Simulation Update Signals Execute.
Behavioral Modelling - 1. Verilog Behavioral Modelling Behavioral Models represent functionality of the digital hardware. It describes how the circuit.
Lecture #9 Page 1 Lecture #9 Agenda 1.VHDL : Structural Design Announcements 1.n/a ECE 4110– Digital Logic Design.
George Mason University Simple Testbenches ECE 545 Lecture 4.
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.
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)
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 6: Procedural Modeling Spring 2009 W. Rhett.
IAY 0600 Digital Systems Design Event-Driven Simulation VHDL Discussion Alexander Sudnitson Tallinn University of Technology.
55:032 - Intro. to Digital DesignPage 1 VHDL and Processes Defining Sequential Circuit Behavior.
Lecture #10 Page 1 Lecture #10 Agenda 1.VHDL : Concurrent Signal Assignments 2.Decoders using Structural VHDL Announcements 1.HW #4 due 2.HW #5 assigned.
Joal 2006 HT:1 Em3 Digital Electronics Design 1 Lecture 3-4 Sequential VHDLChap 4.
Structural Description
Overview Logistics Last lecture Today HW5 due today
ECE 4110–5110 Digital System Design
IAY 0600 Digitaalsüsteemide disain
HDL simulation and Synthesis (Marks16)
ECE 4110 – Digital Logic Design
Behavioral Style Combinational Design with VHDL
ECE 4110–5110 Digital System Design
Module Goals Introduce structural VHDL constructs Use of components
ECE 4110–5110 Digital System Design
Timing Model Start Simulation Delay Update Signals Execute Processes
ECE 4110–5110 Digital System Design
ECE 4110–5110 Digital System Design
ECE 4110–5110 Digital System Design
IAY 0600 Digital Systems Design
ECE 4110–5110 Digital System Design
CPE/EE 422/522 Advanced Logic Design L06
ECE 434 Advanced Digital System L08
IAS 0600 Digital Systems Design
IAS 0600 Digital Systems Design
IAS 0600 Digital Systems Design
Data Object By E. Thirumeni Department of Electronics
Sequntial-Circuit Building Blocks
4-Input Gates VHDL for Loops
VHDL - Introduction.
Presentation transcript:

Lecture #12 Page 1 ECE 4110– Digital Logic Design Lecture #12 Agenda 1.VHDL : Behavioral Design (Processes) Announcements 1.n/a

Lecture #12 Page 2 Behavioral VHDL Behavioral Design - we've learned the basic constructs of VHDL (entity, architecture, packages) - we've learned how to use structural VHDL to instantiate lower-level systems and to create text-based schematics - now we want to go one level higher in abstraction and design using "Behavioral Descriptions" of HW - when we design at the Behavioral level, we now rely on Synthesis tools to create the ultimate gate level schematic - we need to be aware of what we CAN and CAN'T synthesis - Remember, VHDL was invented to model systems, not for synthesis - This means we can simulate a lot more functionality that could ever by synthesized

Lecture #12 Page 3 Behavioral VHDL : Process Processes - a way to describe interaction between signals - a process executes a SEQUENCE of operations - the new values in a process (i.e., the LHS) depend on the current and past values of the other signals - the new values in a process (i.e., the LHS) do not get their value until the process terminates - a process goes in the architecture after the "begin" keyword syntax: name : process (sensitivity list) declarations begin sequential statements end process name;

Lecture #12 Page 4 Behavioral VHDL : Process Process Execution - Real systems start on certain conditions - they then perform an operation - they then wait for the next start condition ex) Button pushed? Clock edge present? Reset? Change on Inputs? - to mimic real HW, we want to be able to START and STOP processes - otherwise, the simulation would get stuck in an infinite loop or "hang"

Lecture #12 Page 5 Behavioral VHDL : Process Process Execution - Processes execute in Sequence (i.e., one after another, in order) - these are NOT concurrent - this is a difficult concept to grasp and leads to difficulty in describing HW ex) name : process (sensitivity list) begin sequential statement; sequential statement; sequential statement; end process name; - these signal assignments are called "Sequential Signal Assignments" (as opposed to "Concurrent Signal Assignments")

Lecture #12 Page 6 Behavioral VHDL : Process Starting and Stopping a Process - There are two ways to start and stop a process 1) Sensitivity List 2) Wait Statement Sensitivity List - A list of signal names - The process will begin executing if there is a change on any of the signals in the list ex) FLOP : process (clock) begin Q <= D; end process FLOP; - Each time there is a change on "clock", the process will execute ONCE. - Not exactly a D Flip flop (yet). - The process ends (suspends) after the last statement.

Lecture #12 Page 7 Behavioral VHDL : Process Wait Statements - The keyword "wait" can be used inside of a process to start/stop it - The process executes the sequences 1-by-1 until hitting the wait statement - We don't use "waits" and "sensitivity lists" together ex) DOIT : process DOIT : process begin begin statement 1; statement 1; statement 2; statement 2; statement 3; wait; end process DOIT; end process DOIT; (No Start/Stop Control, loops forever) (w/ Start/Stop Control, executes until "wait" then stops) - We need to have a conditional operator associated with the wait statement, otherwise it just stops the process and it will never start again.

Lecture #12 Page 8 Behavioral VHDL : Process Wait Statements - The wait statements can be followed by keywords "for" or "until" to describe the wait condition - The wait statement can wait for: 1) type-expression ex) wait for 10ns; wait for period/2; 2) condition ex) wait until Clock='1‘; wait until Data>16;

Lecture #12 Page 9 Behavioral VHDL : Process Signals and Processes - Rules of a Process 1) Signals cannot be declared inside of a process 2) Assignment to a Signal takes effect only after the process suspends. Until it suspends, signals keeps their previous value 3) Only the last signal assignment to a signal in the list has an effect. So there's no use making multiple assignments to the same signal. ex) DOIT : process (A,B) -- initially A=2, B=2… then A changes to 7 begin -- Y = NOT Y = B <= A+1; Y <= A+B; end process DOIT;

Lecture #12 Page 10 Behavioral VHDL : Process Signals and Processes - But what if we want this behavior? ex) DOIT : process (A,B) -- initially A=2, B=2… then A changes to 7 begin B <= A+1; -- we WANT B to be assigned A+1 = 8? Y <= A+B; -- we WANT Y to be assigned A + B = 15? end process DOIT; - Can’t work - we need something other than a Signal to hold the interim value - we need a "Variable"