11 EENG 1920 Introduction to VHDL. 22 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.

Slides:



Advertisements
Similar presentations
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
Advertisements

EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
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.
© 2003 Xilinx, Inc. All Rights Reserved Architecture Wizard and PACE FPGA Design Flow Workshop Xilinx: new module Xilinx: new module.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
ECE 272 Xilinx Tutorial. Workshop Goals Learn how to use Xilinx to: Draw a schematic Create a symbol Generate a testbench Simulate your circuit.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.
FPGA BASED IMAGE PROCESSING Texas A&M University / Prairie View A&M University Over the past few decades, the improvements from machine language to objected.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
Introduction to Basys 2. Switches Slide switchesPush button switches.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Introduction to FPGA Design Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Physics 536 –
Tutorial 2: Introduction to ISE 14.6 (revised by khw)
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
Boolean Algebra (Continued) ELEC 311 Digital Logic and Circuits Dr. Ron Hayne Images Courtesy of Cengage Learning.
1 Keyboard Controller Design By Tamas Kasza Digital System Design 2 (ECE 5572) Summer 2003 A Project Proposal for.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
Spring Introduction  Today’s tutorial focuses on introducing you to Xilinx ISE and Modelsim.  These tools are used for Verilog Coding Simulation.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
1 Introduction to Xilinx ISL8.1i Schematic Capture and VHDL 1.
A VHDL Tutorial ENG2410. ENG241/VHDL Tutorial2 Goals Introduce the students to the following: –VHDL as Hardware description language. –How to describe.
1 Introduction to Xilinx ISL8.1i & 11.1 Schematic Capture 1.
ASIC 121: Practical VHDL Digital Design for FPGAs Tutorial 1 September 27, 2006.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Working with Xilinx Spartan 3 Embedded Systems Lab 2009.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
Lecture #2 Page 1 ECE 4110– Sequential Logic Design Lecture #2 Agenda 1.Logic Design Tools Announcements 1.n/a.
Getting Started with Lab 1 ECE 4401 Digital Design Lab 1.
Introducing the Nexys 2 Board CS 332 – Operating Systems 12/04/2011 by Otto Castell-R.
Programmable Logic Training Course HDL Editor
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
HARDWARE DESCRIPTION LANGUAGE (HDL). What is HDL? A type of programming language for sampling and modeling of electronic & logic circuit designs It can.
© 2005 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU HDL Co-Simulation.
Introduction to FPGA Tools
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Logic Design Dr. Oliver Faust.
Copyright (c) 2003 by Valery Sklyarov and Iouliia Skliarova: DETUA, IEETA, Aveiro University, Portugal.
Introduction to VHDL Coding Wenchao Cao, Teaching Assistant Department of EECS University of Tennessee.
Introduction to Labs Wenchao Cao, Teaching Assistant Department of EECS University of Tennessee.
VHDL ELEC 311 Digital Logic and Circuits Dr. Ron Hayne Images Courtesy of Cengage Learning.
Teaching Digital Logic courses with Altera Technology
PARBIT Tool 1 PARBIT Partial Bitfile Configuration Tool Edson L. Horta Washington University, Applied Research Lab August 15, 2001.
VHDL From Ch. 5 Hardware Description Languages. History 1980’s Schematics 1990’s Hardware Description Languages –Increased due to the use of Programming.
Copyright © 2007 by Pearson Education 1 UNIT 6A COMBINATIONAL CIRCUIT DESIGN WITH VHDL by Gregory L. Moss Click hyperlink below to select: Tutorial for.
How to use ISE Dept. of Info & Comm. Eng. Prof. Jongbok Lee.
ECE 332 Digital Electronics and Logic Design Lab Lab 3 Introduction to Starter Kit ECE 332 George Mason University.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Introduction to Vivado
Lab 1: Using NIOS II processor for code execution on FPGA
Systems Architecture Lab: Introduction to VHDL
LAB #4 Xilinix ISE Foundation Tools VHDL Design Entry “A Tutorial”
Design Entry: Schematic Capture and VHDL
Dept. of Electrical and Computer Engineering
M1.5 Foundation Tools Xilinx XC9500/XL CPLD
Implementing VHDL Modules onto Atlys Demo Board
Introduction to Programmable Logic
Dept. of Electronics & Info. Eng. Prof. Jongbok Lee
ECE 4110–5110 Digital System Design
Week 5, Verilog & Full Adder
Instructions to get MAX PLUS running
Getting Started with Vivado
Founded in Silicon Valley in 1984
Presentation transcript:

11 EENG 1920 Introduction to VHDL

22 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits. VHDL (VHSIC Very High Speed Integrated Circuit Hardware Description Language) is the industry-standard language used for programming PLDs.

33 VHDL History Developed by defense contractors as a standard for programming circuits. Currently defined by IEEE Standard Related standard for certain data types is IEEE Standard

44 VHDL Used to describe the structure or behavior of hardware. Describes how the hardware should operate (modeling). Describes how how the hardware should be built (synthesis).

55 VHDL In VHDL the designer enters text according to the syntax of the language. Syntax: The rules of construction, or “grammar”, of a programming language.

66 Entity and Architecture Two basic constructs required for all VHDL code. The entity declaration describes the inputs and outputs. The architecture body defines the relationships between the inputs and outputs.

77 VHDL Entity Defines the external aspects of the function. Each input or output is a port. –IN refers to a port used only for input. –OUT refers to a port used only for output

8 VHDL Entity Declaration 8 ENTITY majority_vote IS PORT( a, b, c: IN BIT; y : OUT BIT); END majority_vote;

99 VHDL Architecture Body ARCHITECTURE maj_vote OF majority vote IS BEGIN y <= (a and b) or (b and c) or (a and c); END maj_vote;

10 Boolean Operators in VHDL AND, OR, NOT, NAND, NOR, XOR, and XNOR are represented as written. VHDL has no order of precedence for Boolean operators. Expressions must be written explicitly with parentheses.

11 Boolean Operators Example Y <= (a and(not b)) or ((not a) and b and (not c)); Y <= not((a and b) or ((not a) and (not c)) or d);

Using Xilinx ISE 8.1i 12

Using Xilinx ISE 8.1i 1.Start/All Programs 2.Locate Modelsim / license Wizard(Click) 13

Using Xilinx ISE 8.1i 3.Click Continue 14

Using Xilinx ISE 8.1i 4. Click OK (Window should be as shown) 15

Using Xilinx ISE 8.1i 5. Click Yes 16

Using Xilinx ISE 8.1i 6. Click OK 17

Using Xilinx ISE 8.1i 7.Click OK 8.Repeat steps 1-7 one more time. 18

Using Xilinx ISE

Using Xilinx ISE Before beginning, license your Xilinx ISE. 2.Double click on Xilinx ISE Click oK on “NO license” window. 4.Click on Help. 5.Click on Manage license. 6.In the XILINX_LICENSE_FILE type: 7.Click Set 8.In the LM_ LICENSE_FILE type: 9.Click Set 10.Click Close 20

21 VHDL Entry If we choose VHDL as the design entry, we can use any text editor tool to create and edit the VHDL code and then add the VHDL file into an ISE project. For example, you can open Notepad, type (or cut and paste) in the following VHDL code, and save the model as a file such as ccb2.vhd (be sure to remove any.txt extension that Notepad adds at the end of the file name). library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_ARITH.all; use IEEE.std_logic_UNSIGNED.all; entity CCB2 is Port ( Din0 : in STD_LOGIC; Din1 : in STD_LOGIC; Sel : in STD_LOGIC; Dout : out STD_LOGIC); end CCB2; architecture Behavioral of CCB2 is begin Dout <= (Din0 and not Sel) or (Din1 and Sel); end Behavioral;

22 New Project 1.Start Xilinx ISE 8.1i project navigator by double clicking the ISE icon on your desktop. 2.Click on File and select New project

23 Project window 3. Name your project and project location, then click next

24 New Project Wizard 4. The Spartan Starter Kit PCB board uses a Xilinx Spartan3 XCS200 FPGA chip which is packaged in a flat thin 256-pin (FT256) ball Grid Array. Set these values the new project Wizard window,

25 Create New Sou rce 5. We will add our sources to this project later, so here we skip the following two steps (create source and add source). Click on Next.

26 Project Summary 6. Check the project summary and click Finish

27 VHDL 7. Now we will create a blank sheet for schematic capture. First, click the project and new Source menu.

28 VHDL 2. Click VHDL Module and type in the name for your schematic. Select add to project before clicking Next.

VHDL 29 We will program this circuit in VHDL

30 VHDL 3. Define the Module

31 VHDL 4. Check over the summary and click on Finish

32 VHDL 5. Now an empty VHDL file has been created which already has the entity and skeleton of the architecture. Type in your VHDL codes in architecture and complete your design. After you finish the design, save the file.

33 Design Verification

34 Design Verification 1. Select Behavioral Simulation and double click on CCB2.sch

35 Design Verification 2. Expand ModelSim Simulator and double click on Double click on Simulate Behavioral Model

36 Design Verification 3. This is the window that appears

37 Design Verification 4. At VSIM2> type in force signal-name state-value time as shown. Enter after run will run the simulation.

38 Synthesize the Design

39 Synthesize the Design 1. Click on Xilinx-ISE to get Design Summary and select as shown by the arrows

40 Synthesize the Design 2. Right click as shown by the arrow and click on run. A design is produced.

41 Synthesize the Design 3. Select Project/New Source

42 Synthesize the Design 4. Click as shown, type in the File name and click on Next.

43 Synthesize the Design 5. This window appears, click on Next.

44 Synthesize the Design 6. This window appears, click on Finish

45 Synthesize the Design 7. The design summary appears, click as shown by the arrow. We will assign pin numbers

46 Synthesize the Design 8.

47 Synthesize the Design 9.After saving the pin arrangement, click on OK

48 Synthesize the Design 10. After the constraints file has been completed, right click on Implement Design and select Run.

49 Synthesize the Design 11. Right click on Generate Programming file and select Run

50 Synthesize the Design 12. Finally, an FPGA configuration data (*.bit) file is generated.

51 Download and Verify The Design

52 Download and Verify The Design This is the last step in the design verification process. This section provides instructions for downloading the MUX design onto the Spartan 3 PCB. 1) Connect the 5V DC power cable to the power input on the demo board (J4). (note: you may see a sequence of numbers begin to flash on the 7- segment LEDs, this is just a test configuration stored in the flash memory on the PCB and you can manipulate the various switches and button, except for the PROG button, on the PCB to see the operation of the LEDs and 7-segment displays). 2) Connect the download cable between the PC parallel port and the demo board (J7). 3) Select Synthesis/Implementation from the drop-down list in the Sources window and select Mux_Schematic or Mux_vhdl (or whatever you named you design) in the Sources Window. In the Processes window, expand the Generate Programming File process and double-click the Configure Device (iMPACT) process.

53 Download and Verify The Design 1. Processes window, expand the Generate Programming File process and double-click the Configure Device (iMPACT) process.

54 Download and Verify The Design 2. iMPACT opens and the Configure Devices dialog box is displayed. In the Welcome dialog box, select Configure devices using Boundary-Scan (JTAG). Verify that Automatically connect to a cable and identify Boundary-Scan chain is selected. Click Finish.

55 Download and Verify The Design 3. When programming is complete, the Program Succeeded message is displayed.

56 Download and Verify The Design 4. Close iMPACT without saving. Your design is downloaded into the FPGA and you can begin to verify the design by manipulating swithes/buttons and observing LEDs as specified in your design.