+ All Categories
Home > Documents > An Introduction to VHDL Using Altera’s Quartus II IDE

An Introduction to VHDL Using Altera’s Quartus II IDE

Date post: 06-Feb-2016
Category:
Upload: lazaro
View: 59 times
Download: 1 times
Share this document with a friend
Description:
An Introduction to VHDL Using Altera’s Quartus II IDE. Dr. William M. Jones Coastal Carolina University Numbers and Bytes Meeting 20 OCT 2008. Pre-Intro. VHDL Very Hard Difficult Language Jk VHSIC Hardware Description Language VHSIC Very High Speed Integrated Circuits Intended uses - PowerPoint PPT Presentation
44
An Introduction to VHDL Using Altera’s Quartus II IDE Dr. William M. Jones Coastal Carolina University Numbers and Bytes Meeting 20 OCT 2008
Transcript
Page 1: An Introduction to VHDL   Using Altera’s Quartus II IDE

An Introduction to VHDL Using Altera’s Quartus II IDE

Dr. William M. JonesCoastal Carolina University

Numbers and Bytes Meeting20 OCT 2008

Page 2: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 2

Pre-Intro

• VHDL– Very Hard Difficult Language– Jk– VHSIC Hardware Description Language

• VHSIC– Very High Speed Integrated Circuits

• Intended uses– Circuit simulation– Circuit synthesis (realization)

• FPGA’s, (C)PLDs, ASICs

Page 3: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 3

Some Background

• VHDL vice Verilog• Altera and Xilinx • VHDL is a language

– But, is very different from traditional languages– In general, all statements are CONCURRENT (parallel)– Traditional is SEQUENTIAL – Typically referred to as code as opposed to a program– VHDL is not case sensitive

• PROCESS, FUNCTION, PROCEDURE – Only places were sequential behavior is seen

Page 4: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 4

Basic VHDL Code Parts

• LIBRARY– Like #include <stdio.h> in C or import in JAVA– Commonly used pieces of code– 2 are generally included by default

• ENTITY– List of specifications for input and output PORTS– Kinda like function prototypes in C (provides interface)

• ARCHITECTURE– Provides a description of how the circuit should behave

Page 5: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 5

LIBRARY

LIBRARY library_name;USE library_name.package_name.package_parts;

LIBRARY ieee;USE ieee.std_logic_1164.all;

LIBRARY std; -- included by defaultUSE std.standard.all;

LIBRARY work; -- included by defaultUSE work.all;

Page 6: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 6

ENTITY (Modeling Interfaces) (VHDL-93)

• Entity declaration– describes the input/output ports of a module

entity reg4 isport ( d0, d1, d2, d3, en, clk : in bit;

q0, q1, q2, q3 : out bit );end entity reg4;

entity name port names port mode (direction)

port typereserved words

punctuation

Page 7: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 7

PORTS – Signal Modes

• IN– Unidirectional

• OUT– Unidirectional

• INOUT– Bidirectional

• BUFFER– Used when output signal needs to be used internally

Page 8: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 8

Putting Them Together

Page 9: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 9

A Simple Multiplexer

Page 10: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 10

MUX Implementation with Pure Logic

Page 11: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 11

Synthesized Hardware (Pure Logic)

But what do you do now?

Page 12: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 12

Altera DE 2 Board

Page 13: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 13

Page 14: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 14

Page 15: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 15

Page 16: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 16

Page 17: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 17

Page 18: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 18

Page 19: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 19

MUX Implementation with WHEN/ELSE

Page 20: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 20

Synthesized Hardware (WHEN/ELSE)

Page 21: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 21

A Simple ALU

Page 22: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 22

ALU Specifications

Page 23: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 23

ALU Part 1

Page 24: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 24

ALU Part 2

Page 25: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 25

ALU Part 3

Page 26: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 26

Page 27: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 27

Page 28: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 28

Page 29: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 29

Kickin’ It Up A Notch

Combinational v. Sequential LOGIC

Page 30: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 30

Concurrent v. Sequential Code

• Code placed inside a PROCESS, FUNCTION, or PROCEDURE is executed sequentially

• Otherwise the does is executed concurrently– In parallel– Order of statements would not matter– Often called ‘dataflow’ code

• With only a few exceptions purely concurrent code will only produce ‘combinational’ circuits

• Sequential code must be employed to produce sequential logic circuits (this code can produce both in fact)

Page 31: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 31

A Simple Counter (Sequential Code Intro)

Page 32: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 32

Simple Counter Code

Page 33: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 33

Synthesized Hardware (Counter)

Page 34: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 34

Counter (Zoom 1)

Page 35: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 35

Counter (Zoom 2)

Page 36: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 36

A Counter With A Display

Page 37: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 37

Counter With Display VHDL (Part 1)

Page 38: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 38

Counter With Display (Part 2)

Page 39: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 39

Counter With Display (Part 3)

Page 40: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 40

Counter With Display (Part 4)

Page 41: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 41

Synthesized HW (Partial)

Page 42: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 42

Creating A Symbol File (Schematic)

Page 43: An Introduction to VHDL   Using Altera’s Quartus II IDE

© 2007, William M. Jones, et. al.

VHDL Quick Start 43

Page 44: An Introduction to VHDL   Using Altera’s Quartus II IDE

End of N&B Presentation

Have a nice day!


Recommended