Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.

Slides:



Advertisements
Similar presentations
Multiplexers Section 3-7 Mano & Kime. Multiplexers & Demultiplexers Multiplexers (Selectors) Lab 1 – Behavioral VHDL -- Multiplexers MUX as a Universal.
Advertisements

Digital Design with VHDL Presented by: Amir Masoud Gharehbaghi
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.
History TTL-logic PAL (Programmable Array Logic)
1 VLSI DESIGN USING VHDL Part II A workshop by Dr. Junaid Ahmed Zubairi.
VHDL ELEC 418 Advanced Digital Systems Dr. Ron Hayne Images Courtesy of Thomson Engineering.
Introduction to VHDL (Lecture #5) ECE 331 – Digital System Design The slides included herein were taken from the materials accompanying Fundamentals of.
Introduction to VHDL VHDL Tutorial R. E. Haskell and D. M. Hanna T1: Combinational Logic Circuits.
FPGAs and VHDL Lecture L12.1. FPGAs and VHDL Field Programmable Gate Arrays (FPGAs) VHDL –2 x 1 MUX –4 x 1 MUX –An Adder –Binary-to-BCD Converter –A Register.
Introduction to VHDL Multiplexers. Introduction to VHDL VHDL is an acronym for VHSIC (Very High Speed Integrated Circuit) Hardware Description Language.
ELEN 468 Lecture 191 ELEN 468 Advanced Logic Design Lecture 19 VHDL.
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.
VHDL And Synthesis Review. VHDL In Detail Things that we will look at: –Port and Types –Arithmetic Operators –Design styles for Synthesis.
Introduction to VHDL Multiplexers Discussion D1.1.
CSCI 660 EEGN-CSCI 660 Introduction to VLSI Design Lecture 2 Khurram Kazi Some of the slides were taken from K Gaj ’ s lecture slides from GMU ’ s VHDL.
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
VHDL Training ©1995 Cypress Semiconductor 1 Introduction  VHDL is used to:  document circuits  simulate circuits  synthesize design descriptions 
ECE 332 Digital Electronics and Logic Design Lab Lab 5 VHDL Design Styles Testbenches.
ENG6090 RCS1 ENG6090 Reconfigurable Computing Systems Hardware Description Languages Part 4: Modeling Dataflow.
1 Part I: VHDL CODING. 2 Design StructureData TypesOperators and AttributesConcurrent DesignSequential DesignSignals and VariablesState Machines A VHDL.
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.
VHDL Introduction. V- VHSIC Very High Speed Integrated Circuit H- Hardware D- Description L- 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.
陳慶瀚 機器智慧與自動化技術 (MIAT) 實驗室 國立中央大學資工系 2009 年 10 月 8 日 ESD-04 VHDL 硬體描述語言概論 VHDL Hardware Description Language.
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
1 ECE 545 – Introduction to VHDL Dataflow Modeling of Combinational Logic Simple Testbenches ECE 656. Lecture 2.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
VHDL Very High Speed Integrated Circuit Hardware Description Language Shiraz University of shiraz spring 2011.
ECE 332 Digital Electronics and Logic Design Lab Lab 6 Concurrent Statements & Adders.
(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.
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 Data Flow Modeling in VHDL ECE 545 Lecture 7.
9/9/2006DSD,USIT,GGSIPU1 Concurrent vs Sequential Combinational vs Sequential logic –Combinational logic is that in which the output of the circuit depends.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
BASIC VHDL LANGUAGE ELEMENTS Digital Design for Instrumentation with VHDL 1.
VHDL Programming Fundamentals Presented By Dr. Pradyut Kumar Biswal Department of Electronics, IIIT Bhubaneswar.
Apr. 3, 2000Systems Architecture I1 Introduction to VHDL (CS 570) Jeremy R. Johnson Wed. Nov. 8, 2000.
May 9, 2001Systems Architecture I1 Systems Architecture I (CS ) Lab 5: Introduction to VHDL Jeremy R. Johnson May 9, 2001.
George Mason University Data Flow Modeling of Combinational Logic ECE 545 Lecture 5.
1 - CPRE 583 (Reconfigurable Computing): VHDL overview 1 Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 2: 8/26/2011 (VHDL Overview.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
1 Introduction to Engineering Spring 2007 Lecture 19: Digital Tools 3.
Combinational logic circuit
Basic Language Concepts
Systems Architecture Lab: Introduction to VHDL
Subject Name: FUNDAMENTALS OF HDL Subject Code: 10EC45
Design Entry: Schematic Capture and VHDL
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Part IV: VHDL CODING.
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
VHDL VHSIC Hardware Description Language VHSIC
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
Data Flow Modeling of Combinational Logic
VHDL (VHSIC Hardware Description Language)
VHDL Structural Architecture
Concurrent vs Sequential
CPE 528: Lecture #5 Department of Electrical and Computer Engineering University of Alabama in Huntsville.
VHDL Introduction.
ECE 448 Lecture 3 Combinational-Circuit Building Blocks Data Flow Modeling of Combinational Logic ECE 448 – FPGA and ASIC Design with VHDL.
Data Flow Description of Combinational-Circuit Building Blocks
Data Flow Description of Combinational-Circuit Building Blocks
Sequntial-Circuit Building Blocks
4-Input Gates VHDL for Loops
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an

VHDL VHSIC Hardware Discription Language –VHSIC Very High Speed Integrated Circuit –Industrial Standard (IEEE-1076) –portability of designs –hierarchy in design description –technology independence

VHDL as a language strongly typed –type check at compile time –allows user defined types –case insensitive –two consecutive dashes (--) is used for comment

Level of Abstraction in VHDL ENTITY mux is … architecture dataflow of mux is … architecture behav of mux is … architecture struct of mux is … A B Sel Y The block diagram of mux if Sel == 0 Y <= A; else Y <= B;

Entity Entity mux is PORT (a, b, sel: in bit; y: out bit); END mux; ARCHITECTURE dataflow of mux IS BEGIN y <= (sel and a) OR (NOT sel AND b); END dataflow; variable mode type set of concurrent assignments to represent dataflow

Architecture Body Four modeling styles –concurrent assignments (dataflow) –interconnected component (structure) –sequential assignment statements (behavior) –combination of the above three Example: ARCHITECTURE dataflow OF mux IS -- signals, variables declaration BEGIN … END dataflow;

Dataflow concurrent signal assignment statements include: –simple signal assignment (<=) –select signal statement –conditional signal statement

Dataflow simple signal assignment y <= (sel AND a) OR (NOT sel AND b); -- y : target signal -- <= : signal assignment operator –six logical operators are AND OR NAND NOR XOR NOT –relational operators =, /=,, >=

Dataflow Selected Signal Assignment –concurrent signal ENTITY mux_df IS PORT (a, b, sel: in bit; y: out bit); END mux_df; ARCHITECTURE dataflow of mux_df IS BEGIN WITH sel SELECT y <= a when ‘1’, b when ‘0’; END dataflow;

Dataflow Entity mux2_df is PORT (data : in BIT_VECTOR(3 DOWNTO 0); sel: in INTEGER RANGE 0 to 3; f: out bit); END mux2_df; ARCHITECTURE dataflow of mux2_df IS BEGIN WITH sel SELECT f <= data(0) when 0, data(1) when 1, data(2) when 2, data(3) when 3; END dataflow; BIT_VECTOR is an array of bits which is of type BIT

Dataflow Decoder is another example of selected signal assignment construct a0 a1 a2 s0 s1 s2 s3 s4 s5 s6 s7 decoder

Dataflow library ieee; use ieee.std_logic_1164.all; entity dcd_3_8 is port ( a: in std_logic_vector(2 downto 0); s: out std_logic_vector(7 downto 0) ); end dcd_3_8; architecture dataflow of dcd_3_8 is begin with a SELECT s <= “ ” when “000”, “ ” when “001” | “00Z”, “ ” when “010” | “0Z0”, “ ” when “011” | “0ZZ”, “ ” when “100” | “Z00”, “ ” when “101” | “Z0Z”, “ ” when “110” | “ZZ0”, “ ” when “111” | “ZZZ”, “xxxxxxxx” when OTHERS; end dataflow;

Dataflow type STD_LOGIC is ( ‘U’ – uninitialized ‘X’ – Forcing unknown ‘0’ – Forcing low ‘1’ – Forcing high ‘Z’ – High Impedance ‘W’ – Weak Unknown ‘L’ – Weak Low ‘H’ – Weak High ‘-’ – Don’t Care ); DinDout OE Din OEDout X0Z Tri-state Buffer

Dataflow Bus Controller device Adevice B 8-bit bus 8 8

Dataflow ENTITY mux_df2 IS port ( a, b, sel : in bit; y : out bit ); END mux_df2; ARCHITECTURE dataflow of mux_df2 is BEGIN y <= a WHEN sel = ‘1’ ELSE b; END dataflow; Conditional Signal Assignment

Dataflow Entity mux2_df is PORT (data : in BIT_VECTOR(3 DOWNTO 0); sel: in INTEGER RANGE 0 to 3; f: out bit); END mux2_df; ARCHITECTURE dataflow of mux2_df IS BEGIN f <= data(0) when sel = 0 ELSE, data(1) when sel = 1 ELSE, data(2) when sel = 2 ELSE, data(3); END dataflow; When a conditional signal assignment statement is simulated, each Boolean expression is tested in the order that it was written.

Behavioral Descriptions contain “PROCESS” statement. –statements appearing inside a process are simulated sequentially. However, a process statement is a concurrent statement. –also contain a sensitivity list or WAIT statement. –variables can be used locally (keyword VARIABLE). := is used for a variable assignment. can contain multiple processes. –signals are used for communication –information can only be transferred between processes through signals.

Behavioral ENTITY mux_proc IS port (a, b, sel: in bit; y: out bit); END mux_proc; architecture behv of mux_proc is begin PROCESS (a, b, sel) BEGIN IF(sel = ‘0’) THEN y <= b; ELSIF(sel = ‘1’) THEN y <= a; END IF; END PROCESS; END behv;

Behavioral ENTITY unknown IS port (a, b: in bit; y, z: out bit); END unknown; architecture behv of unknown is begin PROCESS (a, b) BEGIN IF((a or b) = ‘0’) THEN y <= ‘1’; ELSE z <= a or b; END IF; END PROCESS; END behv; Look at differences between simulation and synthesis.

Behavioral ENTITY dff_mux2 IS port (reset, clock, din, sel: in std_logic; dout : out std_logic); END dff_mux2; architecture inference of dff_mux2 is signal q_out1, q_out2: std_logic; begin PROCESS -- no sensitivity list here BEGIN WAIT_UNTIL (clock’EVENT and clock = ‘1’); q_out1 <= din; q_out2 <= q_out1; END PROCESS; dout <= q_out1 when sel = ‘1’ else q_out2; END inference; D D Q Q R R dout q_out1 q_out2 sel clk din