Topics of Lecture Configuration Test Bench Encapsulation Structural Decomposition.

Slides:



Advertisements
Similar presentations
VHDL Lecture 1 Megan Peck EECS 443 Spring 08.
Advertisements

COE 405 VHDL Basics Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh Computer Engineering.
VHDL Programming in CprE 381 Zhao Zhang CprE 381, Fall 2013 Iowa State University Last update: 9/15/2013.
LECTURE 4: The VHDL N-bit Adder
L18 – VHDL for other counters and controllers. Other counters  More examples Gray Code counter Controlled counters  Up down counter  Ref: text Unit.
Discussed in class and on Fridays n FSMs (only synchronous, with asynchronous reset) –Moore –Mealy –Rabin-Scott n Generalized register: –With D FFs, –With.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 2 Microcomputer Systems Design (Embedded Systems)
Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.
ELEN 468 Lecture 191 ELEN 468 Advanced Logic Design Lecture 19 VHDL.
Topics of Lecture Structural Model Procedures Functions Overloading.
CSCI 660 EEGN-CSCI 660 Introduction to VLSI Design Lecture 3 Khurram Kazi Some of the slides were taken from K Gaj ’ s lecture slides from GMU ’ s VHDL.
Topics Entity DeclarationsEntity Declarations Port ClausePort Clause Component DeclarationComponent Declaration Configuration DeclarationConfiguration.
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.
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.
Simple Testbenches Behavioral Modeling of Combinational Logic
Introduction to VHDL (part 2)
Advanced FPGA Based System Design Lecture-9 & 10 VHDL Sequential Code By: Dr Imtiaz Hussain 1.
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.
Design Verification VHDL ET062G & ET063G Lecture 5 Najeem Lawal 2012.
A.7 Concurrent Assignment Statements Used to assign a value to a signal in an architecture body. Four types of concurrent assignment statements –Simple.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #17 – Introduction.
Assertion Based Testing. Testing and verification Does the design function according to the specifications? Example.
CprE / ComS 583 Reconfigurable Computing
ENG241 Digital Design Week #4 Combinational Logic Design.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
1 ECE 545—Digital System Design with VHDL Lecture 6 Behavioral VHDL Coding (for Synthesis): Finite State Machines and ASMs 9/30/08.
L16 – VHDL for State Machines with binary encoding.
29/10/58 1 Copyright  1997, KJH Introduction to VHDL Lecture 3 Prof. K. J. Hintz Department of Electrical and Computer Engineering George Mason University.
VHDL for Combinational Circuits. VHDL We Know Simple assignment statements –f
Fall 2004EE 3563 Digital Systems Design EE 3563 VHDL – Basic Language Elements  Identifiers: –basic identifier: composed of a sequence of one or more.
George Mason University ECE 545 – Introduction to VHDL Variables, Functions, Memory, File I/O ECE 545 Lecture 7.
Copyright(c) 1996 W. B. Ligon III1 Getting Started with VHDL VHDL code is composed of a number of entities Entities describe the interface of the component.
VHDL Very High Speed Integrated Circuit Hardware Description Language Shiraz University of shiraz spring 2011.
Mixed Style RTL Modeling
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics VHDL register-transfer modeling: –basics using traffic light controller; –synthesis.
Topics AliasesSubprograms Generics & Configurations.
1 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.
Discussed in class and on Fridays n FSMs (only synchronous, with asynchronous reset) –Moore –Mealy –Rabin-Scott n Generalized register: –With D FFs, –With.
Generate Statement A generate statement provides a mechanism for iterative or conditional elaboration of a portion of description. The iterative elaboration.
George Mason University Simple Testbenches ECE 545 Lecture 4.
Finite state machines Modelling FSM in VHDL. Types of automata (FSM) A sequential automaton has: –Inputs –States (a finite number of states) –Outputs.
Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
1 Part III: VHDL CODING. 2 Design StructureData TypesOperators and AttributesConcurrent DesignSequential DesignSignals and VariablesState Machines A VHDL.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
CEC 220 Digital Circuit Design VHDL in Sequential Logic Wednesday, March 25 CEC 220 Digital Circuit Design Slide 1 of 13.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
Relational Operators Result is boolean: greater than (>) less than (=) less than or equal to (
George Mason University Behavioral Modeling of Sequential-Circuit Building Blocks ECE 545 Lecture 8.
Case Study: Xilinx Synthesis Tool (XST). Arrays & Records 2.
1 Introduction to Engineering Spring 2007 Lecture 19: Digital Tools 3.
Maj Jeffrey Falkinburg Room 2E46E
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
ECE 4110–5110 Digital System Design
Sequential Design.
VHDL Hierarchy in XILINX
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
CPE 528: Lecture #5 Department of Electrical and Computer Engineering University of Alabama in Huntsville.
Behavioral Modeling of Sequential-Circuit Building Blocks
ECE 545 Lecture 5 Simple Testbenches.
Finite state machines Modelling FSM in VHDL.
Design units Lecture 2.
Design of Networks for Arithmetic Operation
CprE / ComS 583 Reconfigurable Computing
Sequntial-Circuit Building Blocks
System Controller Approach
디 지 털 시 스 템 설 계 UP2 Kit를 이용한 카운터 설계
(Sequential-Circuit Building Blocks)
(Simple Testbenches & Arithmetic Operations)
Presentation transcript:

Topics of Lecture Configuration Test Bench Encapsulation Structural Decomposition

TestBench

Testbench Example Configuration Clock Test Bench Behavioral to Structural After J. Pick, VHDL Techniques, Experiments, and Caveats,McGraw-Hill, 1996.

Counter Test Bench Entity entity Counter_Wrapper_TB is end Counter_Wrapper_TB ; No port clause since encapsulating counter to test it.

First Counter Architecture architecture Count_1 of Counter_Wrapper_TB is signal Clock : bit := ‘0’ ; begin

Local Clock Clock_P_1 : process begin Clock <= not Clock after 50 ns; wait on Clock ; end process Clock_P_1 ;

Counter Process Inc_Cntr: process variable Count_Now : integer := 0 ; begin --wait for trailing edge wait until Clock = ‘0’ ;

Increment Counter --increment mod 8 if Count_Now = 7 then Count_now := 0 ; else Count_now := Count_Now + 1 ; end if ; end process Inc_Cntr ; end Count_1 ;

2nd Counter Architecture 2nd Counter Architecture architecture Count_2 of Counter_Wrapper_TB is signal Clock : bit := ‘0’ ; begin -- no change

Local Clock with Static Sensitivity List Clock_P_2 : process ( Clock ) begin Clock <= not Clock after 50 ns; -- removed... wait on Clock ; end process Clock_P_2 ;

Counter Process Inc_Cntr: process variable Count_Now : integer := 0 ; begin --wait for trailing edge wait until Clock = ‘0’ ; -- no change

Increment Counter --increment mod 8 if Count_Now = 7 then Count_now := 0 ; else Count_now := Count_Now + 1 ; end if ; -- no change end process Inc_Cntr ; end Count_2 ; -- no change

3rd Counter Same As Others Except for Clock Generator Concurrent Clock Instead of Process Wrapper Slides Not Repeated Here

Concurrent Local Clock Clock_P_3 : -- removed process ( Clock ) -- removed begin Clock <= not Clock after 50 ns; -- removed... wait on Clock ; -- removed end process Clock_P_2;

Specific Configuration of Counter configuration Conf_KJH_1 of Counter_Wrapper_TB is --no ambiguity here --only one entity per library for Count_1 --ambiguity so need to --specify architecture

End Configuration end for ; end Conf_KJH_1 ; --architecture is now bound --to entity

Encapsulation Counter_Wrapper_TB Conf_KJH_1 Count_1

2nd Specific Configuration of Counter configuration Conf_KJH_2 of Counter_Wrapper_TB is --no ambiguity here --only one entity per library for Count_2 --ambiguity so need to --specify architecture

End Configuration end for ; end Conf_KJH_2 ; --different architecture is --now bound to same entity --mutually exclusive bindings

Encapsulation Counter_Wrapper_TB Conf_KJH_2 Count_2

Encapsulation Conf_KJH_? Counter_Wrapper_TB Count_? Count_1 Count_2 Count_3 Architectures

Structural Decomposition of Counter_Wrapper_TB Counter_Wrapper_TB Count_3 Counter Counter_Wrapper_TB Clock Verify

SD Counter Clock Component architecture Count_SD of Counter_Wrapper_TB is component Clock generic (PW : time ) ; port ( Clock : out bit ); end component Clock ;

SD Counter Component component Counter_Mod_8 port ( Clock : in bit ; DataOut : out bit_vector (2 downto 0 ) ); end component Counter_Mod_8 ;

SD Verify Component component Verify port ( DataIn : in bit_vector (2 downto 0 ) ); end component Verify ;

SD Signals signal Clock_Tic : bit := ‘0’ ; signal Count_Data : bit_vector (2 downto 0 ) := ( others => ‘0’ ); --initializes all values to ‘0’

Clock Instantiation begin Synch : Clock generic map ( PW => 50 ns ) --no ; required cause port next port map ( Clock_Tic ) ;

Counter Instantiation Counter_Instance : Counter_Mod_8 port map ( Clock_Tic, Count_Data ) ;

Verify Instantiation Verify_Instance : Verify port map ( DataIn => Count_Data ) ; end Count_SD ;

Block Diagram of SD Clock out Clock in DataOut (2) DataOut (1) DataOut (0) Count_SD Counter_Mod_8 DataIn (2) DataIn (1) DataIn (0) Verify

Approach Turn Counter_Mod_8 into an entity and put in a library after it has been verified Count_SD is a good start to a testbench where the counter drives a signal generator which creates the sequential signals to excite the device under test Verify is a component which needs to be expanded with assert/report statements to verify performance

End of Lecture Configuration Test Bench Structural Decomposition

Sources Prof. K. J. Hintz Department of Electrical and Computer Engineering George Mason University