Reconfigurable Computing - VHDL John Morris Chung-Ang University The University of Auckland.

Slides:



Advertisements
Similar presentations
1 Introduction to VHDL (Continued) EE19D. 2 Basic elements of a VHDL Model Package Declaration ENTITY (interface description) ARCHITECTURE (functionality)
Advertisements

Verilog Intro: Part 1.
LECTURE 4: The VHDL N-bit Adder
Introduction to VHDL CLASS MATERIALS EECE 255. Very High Speed Integrated Circuit Hardware Description Language Industry standard language to describe.
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.
Mridula Allani Fall 2010 (Refer to the comments if required) ELEC Fall 2010, Nov 21(Adopted from Profs. Nelson and Stroud)
Introduction to VHDL (Lecture #5) ECE 331 – Digital System Design The slides included herein were taken from the materials accompanying Fundamentals of.
© Dr. Alaaeldin Amin 1 Hardware Modeling & Synthesis Using VHDL Very High Speed Integrated Circuits Start Of VHDL Development First Publication.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Introduction to VHDL CSCE 496/896: Embedded Systems Witawas Srisa-an.
ELEN 468 Lecture 191 ELEN 468 Advanced Logic Design Lecture 19 VHDL.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
VHDL. What is VHDL? VHDL: VHSIC Hardware Description Language  VHSIC: Very High Speed Integrated Circuit 7/2/ R.H.Khade.
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.
ECE 331 – Digital System Design
CSET 4650 Field Programmable Logic Devices Dan Solarek VHDL Behavioral & Structural.
EENG 2910 – Digital Systems Design Fall Course Introduction Class Time: M9:30am-12:20pm Location: B239, B236 and B227 Instructor: Yomi Adamo
Modeling styles: 1. Structural Modeling: As a set of interconnected components (to represent structure), 2. Dataflow Modeling: As a set of concurrent assignment.
ENG6090 RCS1 ENG6090 Reconfigurable Computing Systems Hardware Description Languages Part 4: Modeling Dataflow.
ECE 2372 Modern Digital System Design
Reconfigurable Computing - VHDL - Types John Morris Chung-Ang University The University of Auckland.
VHDL TUTORIAL Preetha Thulasiraman ECE 223 Winter 2007.
VHDL – Dataflow and Structural Modeling and Testbenches ENGIN 341 – Advanced Digital Design University of Massachusetts Boston Department of Engineering.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #17 – Introduction.
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.
L26 – Datapath ALU implementation
CWRU EECS 317 EECS 317 Computer Design LECTURE 1: The VHDL Adder Instructor: Francis G. Wolff Case Western Reserve University.
Basic Overview of VHDL Matthew Murach Slides Available at:
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Reconfigurable Computing - VHDL John Morris Computer Science/ Electrical and Computer Engineering The University of Auckland Iolanthe racing off Fremantle,
HARDWARE DESCRIPTION LANGUAGE (HDL). What is HDL? A type of programming language for sampling and modeling of electronic & logic circuit designs It can.
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.
ECE 331 – Digital System Design Single-bit Adder Circuits and Adder Circuits in VHDL (Lecture #11) The slides included herein were taken from the materials.
M. Balakrishnan Dept of Computer Science & Engg. I.I.T. Delhi
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
Reconfigurable Computing - VHDL - Types John Morris Chung-Ang University The University of Auckland.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Hardware Description Languages Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
Hardware languages "Programming"-language for modelling of (digital) hardware 1 Two main languages: VHDL (Very High Speed Integrated Circuit Hardware Description.
Reconfigurable Computing - Options in Circuit Design John Morris Chung-Ang University The University of Auckland ‘Iolanthe’ at 13 knots on Cockburn Sound,
Digital System Projects
CWRU EECS 318 EECS 318 CAD Computer Aided Design LECTURE 3: The VHDL N-bit Adder Instructor: Francis G. Wolff Case Western Reserve.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
Chapter1: Introduction Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 1-1 Chapter 1: Introduction Prof. Ming-Bo.
Verilog Intro: Part 1. Hardware Description Languages A Hardware Description Language (HDL) is a language used to describe a digital system, for example,
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
1 Computer Architecture & Assembly Language Spring 2009 Dr. Richard Spillman Lecture 11 – ALU Design.
Structural style Modular design and hierarchy Part 1
Basic Language Concepts
Systems Architecture Lab: Introduction to VHDL
Behavioral Style Combinational Design with VHDL
Reconfigurable Computing - VHDL - Types
Lecture 2 Supplement Verilog-01
Structural style Modular design and hierarchy Part 1
Behavioral Style Combinational Design with VHDL
HDL Programming Fundamentals
VHDL VHSIC Hardware Description Language VHSIC
Structural style Modular design and hierarchy Part 1
VHDL (VHSIC Hardware Description Language)
Hardware Descriptive Languages these notes are taken from Mano’s book
VHDL Introduction.
Supplement on Verilog adder examples
Hardware Modeling & Synthesis Using VHDL
CprE / ComS 583 Reconfigurable Computing
Presentation transcript:

Reconfigurable Computing - VHDL John Morris Chung-Ang University The University of Auckland

Resources  These notes  Will be available on the Web  Temporarily, you can download them from  I will arrange a local (CAU) site ASAP  ASAP = ‘as soon as possible’!  Other resources  Links will be available on the same web site  VHDL text  Any text on VHDL will be adequate!  Recommended P J Ashenden, …………… (A fellow Australian!)

Background  US Department of Defense ‘High Order Language’ project  Aim: One language for all defense needs  Result: Ada  Ada  General purpose programming language  Based on Pascal  Original Ada was not Object-Oriented  Ada’95 has OO capabilities  Named after Ada, Countess of Lovelace  Never write it ADA – it’s not an acronym!  But VHDL is one

VHDL  VHSIC Hardware Design Language  VHSIC = Very High Speed Integrated Circuit  Standardized  IEEE (VHDL’87)  IEEE (VHDL’93)  Note: Verilog did not achieve standardization until 199x  Based on Ada  Extensions added to support Hardware Design  VHDL compiler should accept simple Ada programs  Ada compiler should accept VHDL functions

VHDL - Basics  Case insensitive  Convention  Keywords in upper case BEGIN, END, ENTITY, ARCHITECTURE, LOOP, ….  Variables in lower case i, j, k, clock, …  Types in lower case integer, std_logic, std_logic_vector  This is just a convention – you can choose your own!  For these slides, I will use this font and colour  ENTITY adder IS …  for anything that you could type into a VHDL model

Assignment operator is := Type follows variable list Statement terminated by ; VHDL - Basics  Statements similar to Pascal  Variable declaration  x, y : integer;  Assigment  x := 5.0*y + 2;  Program blocks delimited by BEGIN … END;  Example PROCEDURE SQR( x: integer ) RETURNS integer IS VARIABLE z : integer; BEGIN z := x * x; RETURN z; END; VHDL is quite verbose (long winded!)

VHDL – Entities and Architectures  VHDL supports abstraction through  Entities  Defines interface for a module  Architectures  Implementation of a module  There may be several architectures corresponding to one entity Generally, there are several ways (circuits) that will produce the same result

VHDL – Entities  Example: n -bit adder ENTITY adder IS a, b : std_logic_vector; sum : std_logic_vector; carry_out : std_logic; END adder; adder 8 8 a b sum 8 carry_out There are several ways of Implementing an n-bit adder … but all have the same interface or ENTITY in VHDL

Architectures  An architecture contains the implementation details  At a high level, a designer is only interested in the interface – information which is contained in the VHDL ENTITY  Each ARCHITECTURE is associated with an ENTITY ENTITY adder IS … END adder; ARCHITECTURE ripple OF adder IS … END ripple; ARCHITECTURE c_select OF adder IS … END c_select; One entity One or more architectures

Architecture – Style  Styles of architecture  You can design a circuit in several ways  In VHDL, you can build a model for a circuit in several ways too!  Behavioural aDataflow bAlgorithmic  Structural

Architectures – Style example  Example  Consider a full adder:  Logic equations are: adder 1 1 a c_in sum 1 carry_out 1 b 1 sum := a xor b xor c; carry_out := (a and b) or (b and c) or (a and c); ENTITY full_adder IS a, b : std_logic; sum : std_logic; carry_out : std_logic; END adder;

Architectures – Dataflow style  Example  Consider a full adder:  Logic equations are:  Dataflow architecture is adder 1 1 a c_in sum 1 carry_out 1 b 1 sum := a xor b xor c; carry_out := (a and b) or (b and c) or (a and c); ENTITY full_adder IS a, b : IN std_logic; sum, carry_out : OUT std_logic; END full_adder;

Architectures – Behavioural (Dataflow ) style  Example  Consider a full adder:  Logic equations are:  Dataflow architecture is adder 1 1 a c_in sum 1 carry_out 1 b 1 sum := a xor b xor c; carry_out := (a and b) or (b and c) or (a and c); ENTITY full_adder IS a, b : IN std_logic; sum, carry_out : OUT std_logic; END full_adder; Note that these are signal assignments. Although they are similar to ordinary assignments (using :=), there are some important differences which we will consider soon! ARCHITECTURE df OF full_adder IS BEGIN sum <= a xor b xor c; carry_out <= (a and b) or (b and c) or (a and c); END df;

Architectures – Structural style  Example  Consider a full adder:  Logic equations are:  A Structural model builds a model from other models adder 1 1 a c_in sum 1 carry_out 1 b 1 sum := a xor b xor c; carry_out := (a and b) or (b and c) or (a and c); ENTITY full_adder IS a, b : IN std_logic; sum, carry_out : OUT std_logic; END full_adder;

Architectures – Structural style  Build basic models for internal elements:  xor  or  and  Build the full adder from these elements ENTITY xor IS a, b : IN std_logic; c : OUT std_logic; END xor; ENTITY or IS a, b : IN std_logic; c : OUT std_logic; END xor; ENTITY and IS a, b : IN std_logic; c : OUT std_logic; END xor;

Architectures – Structural style  Build basic models for internal elements:  xor  or  and  For these, the architectures are trivial ENTITY xor IS a, b : IN std_logic; c : OUT std_logic; END xor; ARCHITECTURE A OF xor IS c <= a xor b; END xor;

Instantiate a second xor circuit, label it x2 x2 Instantiate an xor circuit, label it x1 x1 Architectures – Structural style  Now you ‘wire up’ the basic elements to make the full adder circuit  Considering the sum part only a b c sum ab Map the signals in xor’s ENTITY to actual wires in this circuit ARCHITECTURE structural OF full_adder IS SIGNAL ab: std_logic; BEGIN x1: xor PORT MAP( a => a, b => b, c => ab ); x2: xor PORT MAP( a => ab, b => c, c => sum ); … -- or / and circuits to compute carry out END xor;

Architectures – Algorithmic style & mixtures  Algorithmic models can include any type of construct that you find in a high level language – if … then … else, case, loop, procedure calls, etc.  We will look at some examples of this style after we’ve reviewed VHDL statements  Note that styles can be mixed in one model  A structural style model may include some dataflow statements and some algorithmic blocks, etc.

Architectures – Architectural style  Exercise  Complete the structural model for a full adder by adding the `circuitry’ for the carry out signal  Write a (very short) paragraph describing how your additions to the full adder model work. If you do this, I will also try to help you improve your technical English by carefully correcting your paragraph. (Hopefully, if we start with some short, simple exercises, you will become much more fluent before the end of semester!)  Bring your exercise to the lecture on Tuesday morning.