Lecture #9 Page 1 Lecture #9 Agenda 1.VHDL : Structural Design Announcements 1.n/a ECE 4110– Digital Logic Design.

Slides:



Advertisements
Similar presentations
HDL Programming Fundamentals
Advertisements

Simulation executable (simv)
1 Introduction to VHDL (Continued) EE19D. 2 Basic elements of a VHDL Model Package Declaration ENTITY (interface description) ARCHITECTURE (functionality)
ECE C03 Lecture 131 Lecture 13 VHDL Structural Modeling Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
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.
EE 261 – Introduction to Logic Circuits Module #5 Page 1 EE 261 – Introduction to Logic Circuits Module #5 - VHDL Topics A.Hardware Description Languages.
Introduction to VHDL (Lecture #5) ECE 331 – Digital System Design The slides included herein were taken from the materials accompanying Fundamentals of.
Lab Lecture 3 VHDL Architecture styles and Test Bench -Aahlad.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 2 Microcomputer Systems Design (Embedded Systems)
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi Some of the slides were taken from K Gaj’s lecture slides from GMU’s.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi Some of the slides were taken from K Gaj’s lecture slides from GMU’s.
N Structural Modeling: n Entities n Ports n Architectures n Packages.
ECE 331 – Digital System Design Course Introduction and VHDL Fundamentals (Lecture #1)
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
Simple Testbenches Behavioral Modeling of Combinational Logic
ECE 331 – Digital System Design Single-bit Adder Circuits and Adder Circuits in VHDL (Lecture #12) The slides included herein were taken from the materials.
EE 367 – Logic Design Lecture #17
EELE 367 – Logic Design Module 3 – VHDL Agenda
Lecture #6 Page 1 Lecture #6 Agenda 1.VHDL - Architecture 2.VHDL - Packages Announcements 1.HW #3 assigned ECE 4110– Sequential Logic Design.
1 Data Object Object Types A VHDL object consists of one of the following: –Signal, Which represents interconnection wires that connect component instantiation.
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
Modeling styles: 1. Structural Modeling: As a set of interconnected components (to represent structure), 2. Dataflow Modeling: As a set of concurrent assignment.
Data Flow Modeling of Combinational Logic Simple Testbenches
IAY 0600 Digitaalsüsteemide disain Event-Driven Simulation Alexander Sudnitson Tallinn University of Technology.
A.7 Concurrent Assignment Statements Used to assign a value to a signal in an architecture body. Four types of concurrent assignment statements –Simple.
VHDL TUTORIAL Preetha Thulasiraman ECE 223 Winter 2007.
A VHDL Tutorial ENG2410. ENG241/VHDL Tutorial2 Goals Introduce the students to the following: –VHDL as Hardware description language. –How to describe.
Tutorial 1 Combinational Logic Synthesis. Introduction to VHDL VHDL = Very high speed Hardware Description Language VHDL and Verilog are the industry.
ENG6090 RCS1 ENG6090 Reconfigurable Computing Systems Hardware Description Languages Part 5: Modeling Structure.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
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.
1/26 VHDL VHDL Structural Modeling Digital Logic.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #16 – Introduction.
Module 1.2 Introduction to Verilog
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
VHDL Very High Speed Integrated Circuit Hardware Description Language Shiraz University of shiraz spring 2011.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL VHDL Refresher Lecture 2.
ECE 332 Digital Electronics and Logic Design Lab Lab 6 Concurrent Statements & Adders.
ECE 331 – Digital System Design Multiplexers and Demultiplexers (Lecture #13)
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
IAY 0600 Digital Systems Design VHDL discussion Dataflow Style Combinational Design Alexander Sudnitson Tallinn University of Technology.
George Mason University Simple Testbenches ECE 545 Lecture 4.
Lecture #18 Page 1 ECE 4110– Sequential Logic Design Lecture #18 Agenda 1.MSI Demultiplexers 2.MSI Tri-State Buffers 3.MSI Comparators Announcements 1.HW.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
IAY 0600 Digital Systems Design Event-Driven Simulation VHDL Discussion Alexander Sudnitson Tallinn University of Technology.
Slide 1 3.VHDL/Verilog Description Elements. Slide 2 To create a digital component, we start with…? The component’s interface signals Defined in MODULE.
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.
Lecture #17 Page 1 ECE 4110–5110 Digital System Design Lecture #17 Agenda 1.MSI Multiplexers 2.MSI Encoders Announcements Test 1 closed book, Wednesday.
George Mason University Data Flow Modeling of Combinational Logic ECE 545 Lecture 5.
Lecture #12 Page 1 ECE 4110– Digital Logic Design Lecture #12 Agenda 1.VHDL : Behavioral Design (Processes) Announcements 1.n/a.
Lecture #11 Page 1 Lecture #11 Agenda 1.Decoders using Structural VHDL 2.VHDL : Generics and Constants Announcements 1.n/a ECE 4110– Digital Logic Design.
ECE 4110–5110 Digital System Design
A Case Study of the Rehosting from VHDL to Matlab/C
Structural style Modular design and hierarchy Part 1
ECE 4110–5110 Digital System Design
ECE 4110–5110 Digital System Design
Dataflow Style Combinational Design with VHDL
ECE 4110–5110 Digital System Design
ECE 4110–5110 Digital System Design
Structural style Modular design and hierarchy Part 1
ECE 4110–5110 Digital System Design
ECE 4110–5110 Digital System Design
Structural style Modular design and hierarchy Part 1
Instructions to get MAX PLUS running
CprE / ComS 583 Reconfigurable Computing
4-Input Gates VHDL for Loops
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

Lecture #9 Page 1 Lecture #9 Agenda 1.VHDL : Structural Design Announcements 1.n/a ECE 4110– Digital Logic Design

Lecture #9 Page 2 Structural Design Structural Design - we can specify functionality in an architecture in two ways 1) Structurally : text based schematic, manual instantiation of another system 2) Behaviorally : abstract description of functionality - we will start with learning Structural VHDL design Components - blocks that already exist and are included into a higher level design - we need to know the entity declaration of the system we are calling - we "declare" a component using the keyword "component" - we declare the component in the architecture which indicates we wish to use it

Lecture #9 Page 3 Structural Design Component Syntax component component-name port (signal-name : mode signal-type; signal-name : mode signal-type); -- exactly the same as the Entity declaration without the keyword is end component; Let's build this…

Lecture #9 Page 4 Structural Design Component Example - let's use these pre-existing entities "xor2" & "or2" entity xor2 is port (In1, In2 : inSTD_LOGIC; Out1 : outSTD_LOGIC); end entity xor2; entity or2 is port (In1, In2 : inSTD_LOGIC; Out1 : outSTD_LOGIC); end entity or2;

Lecture #9 Page 5 Structural Design Component Example - now let's include the pre-existing entities "xor2" & "or2" into our "TOP" design entity TOP is port (A,B,C : inSTD_LOGIC; X : outSTD_LOGIC); end entity TOP; architecture TOP_arch of TOP is component xor2 -- declaration of xor2 component port (In1, In2 : inSTD_LOGIC; Out1 : outSTD_LOGIC); end component; component or2 -- declaration of or2 component port (In1, In2 : inSTD_LOGIC; Out1 : outSTD_LOGIC); end component; begin …..

Lecture #9 Page 6 Structural Design Signals - now we want to connect items within an architecture, we need "signals" to do this - we defined signals within an architecture Internal "Signal" Internal "Components"

Lecture #9 Page 7 Structural Design Signal Syntax architecture TOP_arch of TOP is signal signal-name : signal-type; signal signal-name : signal-type;

Lecture #9 Page 8 Structural Design Let's put the signal declaration into our Architecture - now let's include the pre-existing entities "xor2" & "or2" into our "TOP" design architecture TOP_arch of TOP is signal node1 :STD_LOGIC; component xor2 -- declaration of xor2 component port (In1, In2 : inSTD_LOGIC; Out1 : outSTD_LOGIC); end component; component or2 -- declaration of or2 component port (In1, In2 : inSTD_LOGIC; Out1 : outSTD_LOGIC); end component; begin ….. end architecture TOP_arch; node1

Lecture #9 Page 9 Structural Design Component Instantiation - after the "begin" keyword, we can start adding components and connecting signals - we add components with a "Component Instantiation" syntax: label : component-name port map (port => signal, ……) ; NOTE: - "label" is a unique reference designator for that component (U1, INV1, UUT1) - "component-name" is the exact name as declared prior to the "begin" keyword - "port map" is a keyword - the signals with in the ( ) of the port map define how signals are connected to the ports of the instantiated component

Lecture #9 Page 10 Structural Design Port Maps - There are two ways describe the "port map" of a component 1) Positional 2) Explicit Positional Port Map - signals to be connected to the component are listed in the exact order as the components port order ex) U1 : xor2 port map (A, B, node1); Explicit Port Map - signals to be connected to the component are explicitly linked to the port names of the component using the "=>" notation (Port => Signal, Port => Signal, ….) ex) U1 : xor2 port map (In1 => A, In2 => B, Out1 => node1);

Lecture #9 Page 11 Structural Design Execution - All components are executed CONCURRENTLY - this mimics real hardware - this is different from traditional program execution (i.e., C/C++) which is executed sequentially because We are NOT writing code, we are describing hardware!!!

Lecture #9 Page 12 Structural Design Let's put everything together architecture TOP_arch of TOP is signal node1 :STD_LOGIC; component xor2 -- declaration of xor2 component port (In1, In2 : inSTD_LOGIC; Out1 : outSTD_LOGIC); end component; component or2 -- declaration of or2 component port (In1, In2 : inSTD_LOGIC; Out1 : outSTD_LOGIC); end component; begin U1 : xor2port map (In1=>A, In2=>B, Out1=>node1); U2 : or2 port map (In1=>C, In2=>node1, Out1=>X); end architecture TOP_arch; node1 U1 U2

Lecture #9 Page 13 Structural Design Generate Statement - there are times when we want to instantiate a large number of the same component (ex. on a bus) - VHDL has a "generate" statement that allows us to instantiate using a loop structure syntax: label : for identifier in range generate component instantiation end generate;

Lecture #9 Page 14 Structural Design Generate Statement ex) instantiate 8 inverters assuming X and Y are busses of equal width begin Gen1 : for i in 1 to 8 generate U1 : INV1 port map ( In1=>X(i), In2=>Y(i) ); end generate;