SlideShare una empresa de Scribd logo
1 de 34
Agenda
• Introduction
• VHDL Invariants
• Basic structures in VHDL
• Data objects
• VHDL operators
• Sequential statements
• Concurrent statements
• Reference
12/22/2019 Introduction to VHDL 2
Reading Assignment
Introduction
V
H
D
L
Hardware
Description
Language
V
H
S
I
C
High
Integrated
Circuit
Very
• Designed to develop a very high speed
integrated circuit.
Speed
12/22/2019 Introduction to VHDL 3
Introduction…
• It is an industry standard language used to
describe hardware from the abstract to
concrete level.
• It is human and machine readable
• It supports both behavioral and structural
description of a system
• It has a standard package
• It support both synchronous and asynchronous
timing model
12/22/2019 Introduction to VHDL 4
VHDL Invariants
• Qualities of VHDL:
• It is not case sensitive
• Example:
• It is not sensitive to white space (spaces and tabs)
• Example:
• Comments in VHDL begin with “--“ (two
consecutive dashes)
• Example:
12/22/2019 Introduction to VHDL 5
Dout <= A and B; doUt <= a AND b;
nQ <= In_a or In_b; nQ <= in_a OR in_b;
-- This next section of code is used to blah-blah
VHDL Invariants…
• Qualities of VHDL…
• VHDL is relatively lax on its requirement for using
parenthesis
• Example:
• every VHDL statement is terminated with a
semicolon
12/22/2019 Introduction to VHDL 6
if x = ‘0’ and y = ‘0’ or z = ‘1’ then
-- statements;
End if;
if ( ((x = ‘0’) and (y = ‘0’)) or (z = ‘1’) ) then
-- statements;
End if;
VHDL Invariants…
• Qualities of VHDL…
• the VHDL language contains if, case, and loop
statements
• Note:
12/22/2019 Introduction to VHDL 7
• Every if statement has a corresponding then
component
• Each if statement is terminated with an “end if”
• If you need to use an “else if” construct, the VHDL
version is “elsif”
• Each case statement is terminated with an “end
case”
• Each loop statement has a corresponding “end
loop“ statement
VHDL Invariants…
• Qualities of VHDL…
• Identifiers:
• the name given to discern various items in VHDL
• Note:
12/22/2019 Introduction to VHDL 8
• Identifiers should be self-commenting
• Identifiers can be as long as you want (contain many
characters).
• Identifiers can only contain some combination of
letters (A-Z and a-z), digits (0-9), and the underscore
character (‘_’)
• Identifiers must start with an alphabetic character
• Identifiers must not end with an underscore and must
never have two consecutive underscores
VHDL Invariants…
• Qualities of VHDL…
• Identifiers…
• Example:
12/22/2019 Introduction to VHDL 9
Basic structures in VHDL
• Basic building blocks of a VHDL description
can be classified into five groups:
i. Entity
ii. Architecture
iii. Package
iv. Configuration
v. Library
12/22/2019 Introduction to VHDL 10
Basic structures in VHDL…
i. Entity:
• provides a method to abstract the functionality of a
circuit description to a higher level (i.e. does not
provide information about how a component is
implemented).
• Syntax:
12/22/2019 Introduction to VHDL 11
entity entity_name is
port (
port_name : mode data_type;
port_name : mode data_type;
port_name : mode data_type
);
end entity_name;
Mode:
specifies the
direction of a
port signal.
Data_type:
specifies the
data type of
a port,
Basic structures in VHDL…
i. Entity…
• Port modes:
• In : indicates that the signal is an input
• Out: indicates that the signal is an output of the entity
whose value can only be read by other entities that use it
• Inout: the signal can be an input and output
• Buffer: indicates that the signal is an output of the
entity whose value can be read inside the entities
architecture
12/22/2019 Introduction to VHDL 12
Basic structures in VHDL…
i. Entity…
• Types:
• A built-in or user-defined signal type.
12/22/2019 Introduction to VHDL 13
Boolean: An enumeration type with two values, false and true
Bit: An enumeration type with two values, ‘0’ and ‘1’.
Character: any printing character
Integer: Represents positive and negative numbers. Range is
specified from -2,147,483,647 to +2,147,483,647 .
Natural: Subtype of integers used for representing natural (non-
negative) numbers.
Positive: Subtype of integers used for representing positive (non-
negative, nonzero) numbers.
Basic structures in VHDL…
12/22/2019 Introduction to VHDL 14
i. Entity…
• Types…
Bit_vector: Represents an array of BIT values.
String: An array of CHARACTERs. A STRING value is
enclosed in double quotation marks.
REAL: Represents real numbers. Range is -1.0E+38 to
+1.0E+38.
Physical type Time: Represents a time value used for
simulation.
Std_logic, Std_ulogic, Std_logic_vector, Std_logic_uvector:
can have nine values to indicate the value and strength of a
signal.
Basic structures in VHDL…
i. Entity…
• Types…
• The nine std_logic types are:
12/22/2019 Introduction to VHDL 15
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
) ;
Basic structures in VHDL…
i. Entity…
• Example: 4 X 1 Multiplexer
12/22/2019 Introduction to VHDL 16
entity mux4_8 is
port (
a_data : in std_logic_vector(0 to 7);
b_data : in std_logic_vector(0 to 7);
c_data : in std_logic_vector(0 to 7);
d_data : in std_logic_vector(0 to 7);
sel1,sel0 : in std_logic;
a_st_1, a_st_2 : out std_logic_vector(0 to 7));
end mux4_8;
Basic structures in VHDL…
ii. Architecture:
• Specifies how the circuit operates and how it is
implemented (i.e. it describes what the circuit
actually does)
• Syntax:
12/22/2019 Introduction to VHDL 17
Architecture architecture_name of entity_name is
architecture_declarative_part
begin
--statements
End architecture_name;
- Components
- Signals
- Constant
- Function
- Procedure
- Type etc.
Basic structures in VHDL…
ii. Architecture…
• It defines the relationships between the inputs and
the outputs of a design entity which may be
expressed in terms of :
A) Behavioral style
B) Data flow style
C) Structural style
12/22/2019 Introduction to VHDL 18
Basic structures in VHDL…
ii. Architecture…
A) Behavioral architecture
• specifies what a particular system does in a program
like description using processes, but provides no details
as to how a design is to be implemented.
• Example:
12/22/2019 Introduction to VHDL 19
architecture behavior of FULL_ADDER is
Begin
process (A, B, CIN)
Begin
if (A=‘0’ and B=‘0’ and CIN=‘0’) then
SUM <= ‘0’;
COUT <=‘0’;
Name of
the Entity
Name of
the Port
Basic structures in VHDL…
ii. Architecture…
A) Behavioral architecture…
• Example:
12/22/2019 Introduction to VHDL 20
elsif (A=‘0’ and B=‘0’ and CIN=‘1’) or
(A=‘0’ and B=‘1’ and CIN=‘0’) or
(A=‘1’ and B=‘0’ and CIN=‘1’) then
SUM <= ‘1’;COUT <=‘0’;
elsif (A=‘0’ and B=‘1’ and CIN=‘1’) or
(A=‘1’ and B=‘0’ and CIN=‘1’) or
(A=‘1’ and B=‘1’ and CIN=‘0’) then
SUM <= ‘0’;
COUT <=‘1’;
elsif (A=‘1’ and B=‘1’ and CIN=‘1’) then
SUM <= ‘1’;COUT <=‘1’;
end if ;
end process ;
end behavior ; Signal assignment
Basic structures in VHDL…
ii. Architecture…
B) Data flow architecture
• specifies a system as a concurrent representation of the
flow of control and movement of data.
• Example:
12/22/2019 Introduction to VHDL 21
architecture DATAFLOW of
FULL_ADDER is signal S : BIT ;
Begin
S <= A xor B ;
SUM <= S xor CIN after 10ns ;
COUT <= (A and B) or (S and CIN) after
5ns ;
end DATAFLOW ;
Basic structures in VHDL…
ii. Architecture…
C) Structural architecture
• defines the structural
implementation using
component declarations and
component instantiations.
• Example:
12/22/2019 Introduction to VHDL 22
architecture STRUCTURE of
FULL_ADDER is
component HALF_ADDER
port ( L1, L2 : in BIT ;
CARRY, SUM : out BIT ) ;
end component ;
component OR_GATE
port ( L1, L2 : in BIT ;
O : out BIT ) ;
end component ;
signal N1, N2, N3 : BIT ;
Begin
HA1 : HALF_ADDER
port map (A, B, N1, N2) ;
HA2 : HALF_ADDER
port map (N2, CIN, N3, SUM) ;
OR1 : OR_GATE
port map (N1, N3, COUT) ;
end STRUCTURE ;
Basic structures in VHDL…
iii. Package
• The primary purpose of a package is to collect
elements that can be shared among two or more
design units.
• Syntax:
12/22/2019 Introduction to VHDL 23
Package package_name is
package_declarative_item
End package_name;
package body package_name is
package_declarative_item
End package_name];
Basic structures in VHDL…
iii. Package…
• Example:
12/22/2019 Introduction to VHDL 24
Package my_pkg is
constant delay : time := 10ns ;
end my_pkg ;
Variable
assignment
Basic structures in VHDL…
iv. Configuration
• used to provide fast substitutions of component
instances of a structural design.
• Syntax:
12/22/2019 Introduction to VHDL 25
Configuration configuration_name of entity_name is
{configuration_declarative_part}
For block_specification
{use_clause}
{configuration_item}
End for;
Basic structures in VHDL…
iv. Configuration…
• Example:
12/22/2019 Introduction to VHDL 26
configuration FADD_CONFIG of FULL_ADDER is
for STRUCTURE
for HA1, HA2 : HALF_ADDER use entity
burcin.HALF_ADDER(STRUCTURE) ;
for OR1 : OR_GATE use entity burcin.OR_GATE ;
end for ;
end FADD_CONFIG ;
Name of
the Entity
Name of the
architecture Library
Basic structures in VHDL…
v. Library
• Used as a place where the compiler stores
information about a design project.
• It contains the following library units:
• Packages
• Entities
• Architectures
• Configurations
12/22/2019 Introduction to VHDL 27
Basic structures in VHDL…
V. Library
• Used as a place where the compiler stores
information about a design project.
• Example:
12/22/2019 Introduction to VHDL 28
Library ieee;
Use ieee.std_logic_1164.all
Use ieee.std_logic_arith.all
Use ieee.std_logic_unsigned.all
Indicates to use
all of the
ieee.std_logic_u
nsigned package
package
Data objects
• An object which holds both a name (associated
identifier) and a specific type
• Types:
1. Constants
• Have a single value of a given type and can not be
changed during the simulation.
2. Variables
• Can have a single value, but it can be updated using a
variable assignment statement.
3. signals
• can be interpreted as wires or busses in an actual circuit.
12/22/2019 Introduction to VHDL 29
Data objects…
12/22/2019 Introduction to VHDL 30
VHDL operators
• Used to operate a signal, variable, and constant.
• Operators in VHDL are grouped into seven
different types: logical, relational, shift, addition,
unary, multiplying, and “others”
12/22/2019 Introduction to VHDL 31
12/22/2019 Introduction to VHDL 32
Reference
1. Sjoholm, S. and Lindh, L., 1997. VHDL for Designers. Prentice Hall PTR.
2. Skahill, K., 1996. VHDL for programmable logic. Addison-Wesley
Longman Publishing Co., Inc..
3. Holland, B., Vacas, M., Aggarwal, V., DeVille, R., Troxel, I. and George,
A.D., 2005, September. Survey of C-based application mapping tools for
reconfigurable computing. In Proceedings of the 8th International
Conference on Military and Aerospace Programmable Logic Devices
(MAPLD 2005), Washington, DC, USA (September 2005).
4. Sagahyroon, A.A., 2000. From AHPL to VHDL: A course in hardware
description languages. IEEE Transactions on Education, 43(4), pp.449-
454.
5. Brown, S., 2010. Fundamentals of digital logic design with VHDL.
6. Navabi, Z., 1997. VHDL: Analysis and modeling of digital systems.
McGraw-Hill, Inc..
7. Camposano, R. and Tabet, R.M., 1988. Design representation for the synthesis of
behavioral VHDL models. IBM Thomas J. Watson Research Division.
12/22/2019 Introduction to VHDL 33
Reference…
8. Camposano, R. and Tabet, R.M., 1988. Design representation for the synthesis of
behavioral VHDL models. IBM Thomas J. Watson Research Division.
9. Ferrandi, F., Fummi, F. and Sciuto, D., 1998, October. Implicit test generation for
behavioral VHDL models. In Test Conference, 1998. Proceedings.,
International (pp. 587-596). IEEE.
10. Micheli, G.D., 1994. Synthesis and optimization of digital circuits. McGraw-Hill
Higher Education.
11. Navabi, Z., 1997. VHDL: Analysis and modeling of digital systems. McGraw-Hill,
Inc..
12. Armstrong, J.R., 1989. Chip-level modeling with VHDL. Englewood Cliffs:
Prentice Hall.
13. Sieh, V., Tschache, O. and Balbach, F., 1997, June. VERIFY: Evaluation of
reliability using VHDL-models with embedded fault descriptions. In Fault-
Tolerant Computing, 1997. FTCS-27. Digest of Papers., Twenty-Seventh Annual
International Symposium on (pp. 32-36). IEEE.
14. Navabi, Z., 1997. VHDL: Analysis and modeling of digital systems. McGraw-Hill,
Inc..
12/22/2019 Introduction to VHDL 34

Más contenido relacionado

La actualidad más candente

Introduction to FPGA, VHDL
Introduction to FPGA, VHDL  Introduction to FPGA, VHDL
Introduction to FPGA, VHDL Amr Rashed
 
Complex Programmable Logic Devices(CPLD) & Field Programmable Logic Devices (...
Complex Programmable Logic Devices(CPLD) & Field Programmable Logic Devices (...Complex Programmable Logic Devices(CPLD) & Field Programmable Logic Devices (...
Complex Programmable Logic Devices(CPLD) & Field Programmable Logic Devices (...Revathi Subramaniam
 
Verilog presentation final
Verilog presentation finalVerilog presentation final
Verilog presentation finalAnkur Gupta
 
PPT ON VHDL subprogram,package,alias,use,generate and concurrent statments an...
PPT ON VHDL subprogram,package,alias,use,generate and concurrent statments an...PPT ON VHDL subprogram,package,alias,use,generate and concurrent statments an...
PPT ON VHDL subprogram,package,alias,use,generate and concurrent statments an...Khushboo Jain
 
Chapter 5 introduction to VHDL
Chapter 5 introduction to VHDLChapter 5 introduction to VHDL
Chapter 5 introduction to VHDLSSE_AndyLi
 
Distortion annalyser
Distortion annalyserDistortion annalyser
Distortion annalysermks mk
 
Bandgap Reference circuit Baased on FinFET Device
Bandgap Reference circuit Baased on FinFET DeviceBandgap Reference circuit Baased on FinFET Device
Bandgap Reference circuit Baased on FinFET DeviceYalagoud Patil
 
Variable Regulated Power Supply
Variable Regulated Power SupplyVariable Regulated Power Supply
Variable Regulated Power SupplyBhanu Bhawesh
 
VLSI Fresher Resume
VLSI Fresher ResumeVLSI Fresher Resume
VLSI Fresher Resumevikas kumar
 
Negative feedback Amplifiers
Negative feedback AmplifiersNegative feedback Amplifiers
Negative feedback AmplifiersYeshudas Muttu
 
Different types of oscillator & it's application
Different types of oscillator & it's applicationDifferent types of oscillator & it's application
Different types of oscillator & it's applicationAlamin Hossain
 
verilog code for logic gates
verilog code for logic gatesverilog code for logic gates
verilog code for logic gatesRakesh kumar jha
 
REGULATED_POWER_SUPPLY-1[1].pptx
REGULATED_POWER_SUPPLY-1[1].pptxREGULATED_POWER_SUPPLY-1[1].pptx
REGULATED_POWER_SUPPLY-1[1].pptxPratikJoshi123
 
Verilog overview
Verilog overviewVerilog overview
Verilog overviewposdege
 
555 Timer (detailed presentation)
555 Timer (detailed presentation)555 Timer (detailed presentation)
555 Timer (detailed presentation)Tanish Gupta
 

La actualidad más candente (20)

Introduction to FPGA, VHDL
Introduction to FPGA, VHDL  Introduction to FPGA, VHDL
Introduction to FPGA, VHDL
 
Complex Programmable Logic Devices(CPLD) & Field Programmable Logic Devices (...
Complex Programmable Logic Devices(CPLD) & Field Programmable Logic Devices (...Complex Programmable Logic Devices(CPLD) & Field Programmable Logic Devices (...
Complex Programmable Logic Devices(CPLD) & Field Programmable Logic Devices (...
 
Verilog
VerilogVerilog
Verilog
 
Function generator
Function generatorFunction generator
Function generator
 
Verilog Tasks and functions
Verilog Tasks and functionsVerilog Tasks and functions
Verilog Tasks and functions
 
Verilog presentation final
Verilog presentation finalVerilog presentation final
Verilog presentation final
 
PPT ON VHDL subprogram,package,alias,use,generate and concurrent statments an...
PPT ON VHDL subprogram,package,alias,use,generate and concurrent statments an...PPT ON VHDL subprogram,package,alias,use,generate and concurrent statments an...
PPT ON VHDL subprogram,package,alias,use,generate and concurrent statments an...
 
Chapter 5 introduction to VHDL
Chapter 5 introduction to VHDLChapter 5 introduction to VHDL
Chapter 5 introduction to VHDL
 
Distortion annalyser
Distortion annalyserDistortion annalyser
Distortion annalyser
 
Bandgap Reference circuit Baased on FinFET Device
Bandgap Reference circuit Baased on FinFET DeviceBandgap Reference circuit Baased on FinFET Device
Bandgap Reference circuit Baased on FinFET Device
 
Variable Regulated Power Supply
Variable Regulated Power SupplyVariable Regulated Power Supply
Variable Regulated Power Supply
 
VLSI Fresher Resume
VLSI Fresher ResumeVLSI Fresher Resume
VLSI Fresher Resume
 
Negative feedback Amplifiers
Negative feedback AmplifiersNegative feedback Amplifiers
Negative feedback Amplifiers
 
VHDL
VHDLVHDL
VHDL
 
Different types of oscillator & it's application
Different types of oscillator & it's applicationDifferent types of oscillator & it's application
Different types of oscillator & it's application
 
verilog code for logic gates
verilog code for logic gatesverilog code for logic gates
verilog code for logic gates
 
REGULATED_POWER_SUPPLY-1[1].pptx
REGULATED_POWER_SUPPLY-1[1].pptxREGULATED_POWER_SUPPLY-1[1].pptx
REGULATED_POWER_SUPPLY-1[1].pptx
 
Two port network
Two port networkTwo port network
Two port network
 
Verilog overview
Verilog overviewVerilog overview
Verilog overview
 
555 Timer (detailed presentation)
555 Timer (detailed presentation)555 Timer (detailed presentation)
555 Timer (detailed presentation)
 

Similar a Introduction to VHDL

Similar a Introduction to VHDL (20)

Lecture2 vhdl refresher
Lecture2 vhdl refresherLecture2 vhdl refresher
Lecture2 vhdl refresher
 
UNIT-I.pptx of subject in engineering bla bla bla
UNIT-I.pptx of subject in engineering bla bla blaUNIT-I.pptx of subject in engineering bla bla bla
UNIT-I.pptx of subject in engineering bla bla bla
 
Dica ii chapter slides
Dica ii chapter slidesDica ii chapter slides
Dica ii chapter slides
 
Digital principle and computer design Presentation (1).pptx
Digital principle and computer design Presentation (1).pptxDigital principle and computer design Presentation (1).pptx
Digital principle and computer design Presentation (1).pptx
 
How to design Programs using VHDL
How to design Programs using VHDLHow to design Programs using VHDL
How to design Programs using VHDL
 
Vhdl 1 ppg
Vhdl 1 ppgVhdl 1 ppg
Vhdl 1 ppg
 
Introduction to HDLs
Introduction to HDLsIntroduction to HDLs
Introduction to HDLs
 
Digital System Design-Gatelevel and Dataflow Modeling
Digital System Design-Gatelevel and Dataflow ModelingDigital System Design-Gatelevel and Dataflow Modeling
Digital System Design-Gatelevel and Dataflow Modeling
 
VHDL summer training (ppt)
 VHDL summer training (ppt) VHDL summer training (ppt)
VHDL summer training (ppt)
 
VHDL-Behavioral-Programs-Structure of VHDL
VHDL-Behavioral-Programs-Structure of VHDLVHDL-Behavioral-Programs-Structure of VHDL
VHDL-Behavioral-Programs-Structure of VHDL
 
Vhdl new
Vhdl newVhdl new
Vhdl new
 
Vhdl
VhdlVhdl
Vhdl
 
VHDL lecture 1.ppt
VHDL lecture 1.pptVHDL lecture 1.ppt
VHDL lecture 1.ppt
 
the-vhsic-.pptx
the-vhsic-.pptxthe-vhsic-.pptx
the-vhsic-.pptx
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
VHDL-PRESENTATION.ppt
VHDL-PRESENTATION.pptVHDL-PRESENTATION.ppt
VHDL-PRESENTATION.ppt
 
VHDL_VIKAS.pptx
VHDL_VIKAS.pptxVHDL_VIKAS.pptx
VHDL_VIKAS.pptx
 
hardware description language power point presentation
hardware description language power point presentationhardware description language power point presentation
hardware description language power point presentation
 
VHDL_Lecture_new1 [Autosaved].ppt
VHDL_Lecture_new1 [Autosaved].pptVHDL_Lecture_new1 [Autosaved].ppt
VHDL_Lecture_new1 [Autosaved].ppt
 

Más de Aksum Institute of Technology(AIT, @Letsgo)

Ns lecture4: Introduction to Virtual Network Protocol(VPN) and Internet Proto...
Ns lecture4: Introduction to Virtual Network Protocol(VPN) and Internet Proto...Ns lecture4: Introduction to Virtual Network Protocol(VPN) and Internet Proto...
Ns lecture4: Introduction to Virtual Network Protocol(VPN) and Internet Proto...Aksum Institute of Technology(AIT, @Letsgo)
 

Más de Aksum Institute of Technology(AIT, @Letsgo) (13)

Ns lecture5: Introduction to Computer, Information, and Network Security.
Ns lecture5: Introduction to Computer, Information, and Network Security.Ns lecture5: Introduction to Computer, Information, and Network Security.
Ns lecture5: Introduction to Computer, Information, and Network Security.
 
Ns lecture4: Introduction to Virtual Network Protocol(VPN) and Internet Proto...
Ns lecture4: Introduction to Virtual Network Protocol(VPN) and Internet Proto...Ns lecture4: Introduction to Virtual Network Protocol(VPN) and Internet Proto...
Ns lecture4: Introduction to Virtual Network Protocol(VPN) and Internet Proto...
 
Ns lecture3: Introduction to Multi Protocol Label Switching(MPLS)
Ns lecture3: Introduction to Multi Protocol Label Switching(MPLS) Ns lecture3: Introduction to Multi Protocol Label Switching(MPLS)
Ns lecture3: Introduction to Multi Protocol Label Switching(MPLS)
 
Ns lecture2: Introduction to LAN Technology
Ns lecture2: Introduction to LAN TechnologyNs lecture2: Introduction to LAN Technology
Ns lecture2: Introduction to LAN Technology
 
Ns lecture1: Introduction to Routing Protocol
Ns lecture1: Introduction to Routing ProtocolNs lecture1: Introduction to Routing Protocol
Ns lecture1: Introduction to Routing Protocol
 
Logic Simulation, Modeling, and Testing
Logic Simulation, Modeling, and TestingLogic Simulation, Modeling, and Testing
Logic Simulation, Modeling, and Testing
 
ASIC vs FPGA
ASIC vs FPGAASIC vs FPGA
ASIC vs FPGA
 
Asic design
Asic designAsic design
Asic design
 
Introduction to network security and lan technology
Introduction to network security and lan technologyIntroduction to network security and lan technology
Introduction to network security and lan technology
 
Basic Computer Organization and Design
Basic  Computer  Organization  and  DesignBasic  Computer  Organization  and  Design
Basic Computer Organization and Design
 
Weather Forecasting using Deep Learning A lgorithm for the Ethiopian Context
Weather Forecasting using Deep Learning A lgorithm for the Ethiopian ContextWeather Forecasting using Deep Learning A lgorithm for the Ethiopian Context
Weather Forecasting using Deep Learning A lgorithm for the Ethiopian Context
 
Globus and Gridbus
Globus and GridbusGlobus and Gridbus
Globus and Gridbus
 
Globus ppt
Globus pptGlobus ppt
Globus ppt
 

Último

Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdfssuserdda66b
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 

Último (20)

Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 

Introduction to VHDL

  • 1.
  • 2. Agenda • Introduction • VHDL Invariants • Basic structures in VHDL • Data objects • VHDL operators • Sequential statements • Concurrent statements • Reference 12/22/2019 Introduction to VHDL 2 Reading Assignment
  • 3. Introduction V H D L Hardware Description Language V H S I C High Integrated Circuit Very • Designed to develop a very high speed integrated circuit. Speed 12/22/2019 Introduction to VHDL 3
  • 4. Introduction… • It is an industry standard language used to describe hardware from the abstract to concrete level. • It is human and machine readable • It supports both behavioral and structural description of a system • It has a standard package • It support both synchronous and asynchronous timing model 12/22/2019 Introduction to VHDL 4
  • 5. VHDL Invariants • Qualities of VHDL: • It is not case sensitive • Example: • It is not sensitive to white space (spaces and tabs) • Example: • Comments in VHDL begin with “--“ (two consecutive dashes) • Example: 12/22/2019 Introduction to VHDL 5 Dout <= A and B; doUt <= a AND b; nQ <= In_a or In_b; nQ <= in_a OR in_b; -- This next section of code is used to blah-blah
  • 6. VHDL Invariants… • Qualities of VHDL… • VHDL is relatively lax on its requirement for using parenthesis • Example: • every VHDL statement is terminated with a semicolon 12/22/2019 Introduction to VHDL 6 if x = ‘0’ and y = ‘0’ or z = ‘1’ then -- statements; End if; if ( ((x = ‘0’) and (y = ‘0’)) or (z = ‘1’) ) then -- statements; End if;
  • 7. VHDL Invariants… • Qualities of VHDL… • the VHDL language contains if, case, and loop statements • Note: 12/22/2019 Introduction to VHDL 7 • Every if statement has a corresponding then component • Each if statement is terminated with an “end if” • If you need to use an “else if” construct, the VHDL version is “elsif” • Each case statement is terminated with an “end case” • Each loop statement has a corresponding “end loop“ statement
  • 8. VHDL Invariants… • Qualities of VHDL… • Identifiers: • the name given to discern various items in VHDL • Note: 12/22/2019 Introduction to VHDL 8 • Identifiers should be self-commenting • Identifiers can be as long as you want (contain many characters). • Identifiers can only contain some combination of letters (A-Z and a-z), digits (0-9), and the underscore character (‘_’) • Identifiers must start with an alphabetic character • Identifiers must not end with an underscore and must never have two consecutive underscores
  • 9. VHDL Invariants… • Qualities of VHDL… • Identifiers… • Example: 12/22/2019 Introduction to VHDL 9
  • 10. Basic structures in VHDL • Basic building blocks of a VHDL description can be classified into five groups: i. Entity ii. Architecture iii. Package iv. Configuration v. Library 12/22/2019 Introduction to VHDL 10
  • 11. Basic structures in VHDL… i. Entity: • provides a method to abstract the functionality of a circuit description to a higher level (i.e. does not provide information about how a component is implemented). • Syntax: 12/22/2019 Introduction to VHDL 11 entity entity_name is port ( port_name : mode data_type; port_name : mode data_type; port_name : mode data_type ); end entity_name; Mode: specifies the direction of a port signal. Data_type: specifies the data type of a port,
  • 12. Basic structures in VHDL… i. Entity… • Port modes: • In : indicates that the signal is an input • Out: indicates that the signal is an output of the entity whose value can only be read by other entities that use it • Inout: the signal can be an input and output • Buffer: indicates that the signal is an output of the entity whose value can be read inside the entities architecture 12/22/2019 Introduction to VHDL 12
  • 13. Basic structures in VHDL… i. Entity… • Types: • A built-in or user-defined signal type. 12/22/2019 Introduction to VHDL 13 Boolean: An enumeration type with two values, false and true Bit: An enumeration type with two values, ‘0’ and ‘1’. Character: any printing character Integer: Represents positive and negative numbers. Range is specified from -2,147,483,647 to +2,147,483,647 . Natural: Subtype of integers used for representing natural (non- negative) numbers. Positive: Subtype of integers used for representing positive (non- negative, nonzero) numbers.
  • 14. Basic structures in VHDL… 12/22/2019 Introduction to VHDL 14 i. Entity… • Types… Bit_vector: Represents an array of BIT values. String: An array of CHARACTERs. A STRING value is enclosed in double quotation marks. REAL: Represents real numbers. Range is -1.0E+38 to +1.0E+38. Physical type Time: Represents a time value used for simulation. Std_logic, Std_ulogic, Std_logic_vector, Std_logic_uvector: can have nine values to indicate the value and strength of a signal.
  • 15. Basic structures in VHDL… i. Entity… • Types… • The nine std_logic types are: 12/22/2019 Introduction to VHDL 15 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 ) ;
  • 16. Basic structures in VHDL… i. Entity… • Example: 4 X 1 Multiplexer 12/22/2019 Introduction to VHDL 16 entity mux4_8 is port ( a_data : in std_logic_vector(0 to 7); b_data : in std_logic_vector(0 to 7); c_data : in std_logic_vector(0 to 7); d_data : in std_logic_vector(0 to 7); sel1,sel0 : in std_logic; a_st_1, a_st_2 : out std_logic_vector(0 to 7)); end mux4_8;
  • 17. Basic structures in VHDL… ii. Architecture: • Specifies how the circuit operates and how it is implemented (i.e. it describes what the circuit actually does) • Syntax: 12/22/2019 Introduction to VHDL 17 Architecture architecture_name of entity_name is architecture_declarative_part begin --statements End architecture_name; - Components - Signals - Constant - Function - Procedure - Type etc.
  • 18. Basic structures in VHDL… ii. Architecture… • It defines the relationships between the inputs and the outputs of a design entity which may be expressed in terms of : A) Behavioral style B) Data flow style C) Structural style 12/22/2019 Introduction to VHDL 18
  • 19. Basic structures in VHDL… ii. Architecture… A) Behavioral architecture • specifies what a particular system does in a program like description using processes, but provides no details as to how a design is to be implemented. • Example: 12/22/2019 Introduction to VHDL 19 architecture behavior of FULL_ADDER is Begin process (A, B, CIN) Begin if (A=‘0’ and B=‘0’ and CIN=‘0’) then SUM <= ‘0’; COUT <=‘0’; Name of the Entity Name of the Port
  • 20. Basic structures in VHDL… ii. Architecture… A) Behavioral architecture… • Example: 12/22/2019 Introduction to VHDL 20 elsif (A=‘0’ and B=‘0’ and CIN=‘1’) or (A=‘0’ and B=‘1’ and CIN=‘0’) or (A=‘1’ and B=‘0’ and CIN=‘1’) then SUM <= ‘1’;COUT <=‘0’; elsif (A=‘0’ and B=‘1’ and CIN=‘1’) or (A=‘1’ and B=‘0’ and CIN=‘1’) or (A=‘1’ and B=‘1’ and CIN=‘0’) then SUM <= ‘0’; COUT <=‘1’; elsif (A=‘1’ and B=‘1’ and CIN=‘1’) then SUM <= ‘1’;COUT <=‘1’; end if ; end process ; end behavior ; Signal assignment
  • 21. Basic structures in VHDL… ii. Architecture… B) Data flow architecture • specifies a system as a concurrent representation of the flow of control and movement of data. • Example: 12/22/2019 Introduction to VHDL 21 architecture DATAFLOW of FULL_ADDER is signal S : BIT ; Begin S <= A xor B ; SUM <= S xor CIN after 10ns ; COUT <= (A and B) or (S and CIN) after 5ns ; end DATAFLOW ;
  • 22. Basic structures in VHDL… ii. Architecture… C) Structural architecture • defines the structural implementation using component declarations and component instantiations. • Example: 12/22/2019 Introduction to VHDL 22 architecture STRUCTURE of FULL_ADDER is component HALF_ADDER port ( L1, L2 : in BIT ; CARRY, SUM : out BIT ) ; end component ; component OR_GATE port ( L1, L2 : in BIT ; O : out BIT ) ; end component ; signal N1, N2, N3 : BIT ; Begin HA1 : HALF_ADDER port map (A, B, N1, N2) ; HA2 : HALF_ADDER port map (N2, CIN, N3, SUM) ; OR1 : OR_GATE port map (N1, N3, COUT) ; end STRUCTURE ;
  • 23. Basic structures in VHDL… iii. Package • The primary purpose of a package is to collect elements that can be shared among two or more design units. • Syntax: 12/22/2019 Introduction to VHDL 23 Package package_name is package_declarative_item End package_name; package body package_name is package_declarative_item End package_name];
  • 24. Basic structures in VHDL… iii. Package… • Example: 12/22/2019 Introduction to VHDL 24 Package my_pkg is constant delay : time := 10ns ; end my_pkg ; Variable assignment
  • 25. Basic structures in VHDL… iv. Configuration • used to provide fast substitutions of component instances of a structural design. • Syntax: 12/22/2019 Introduction to VHDL 25 Configuration configuration_name of entity_name is {configuration_declarative_part} For block_specification {use_clause} {configuration_item} End for;
  • 26. Basic structures in VHDL… iv. Configuration… • Example: 12/22/2019 Introduction to VHDL 26 configuration FADD_CONFIG of FULL_ADDER is for STRUCTURE for HA1, HA2 : HALF_ADDER use entity burcin.HALF_ADDER(STRUCTURE) ; for OR1 : OR_GATE use entity burcin.OR_GATE ; end for ; end FADD_CONFIG ; Name of the Entity Name of the architecture Library
  • 27. Basic structures in VHDL… v. Library • Used as a place where the compiler stores information about a design project. • It contains the following library units: • Packages • Entities • Architectures • Configurations 12/22/2019 Introduction to VHDL 27
  • 28. Basic structures in VHDL… V. Library • Used as a place where the compiler stores information about a design project. • Example: 12/22/2019 Introduction to VHDL 28 Library ieee; Use ieee.std_logic_1164.all Use ieee.std_logic_arith.all Use ieee.std_logic_unsigned.all Indicates to use all of the ieee.std_logic_u nsigned package package
  • 29. Data objects • An object which holds both a name (associated identifier) and a specific type • Types: 1. Constants • Have a single value of a given type and can not be changed during the simulation. 2. Variables • Can have a single value, but it can be updated using a variable assignment statement. 3. signals • can be interpreted as wires or busses in an actual circuit. 12/22/2019 Introduction to VHDL 29
  • 31. VHDL operators • Used to operate a signal, variable, and constant. • Operators in VHDL are grouped into seven different types: logical, relational, shift, addition, unary, multiplying, and “others” 12/22/2019 Introduction to VHDL 31
  • 33. Reference 1. Sjoholm, S. and Lindh, L., 1997. VHDL for Designers. Prentice Hall PTR. 2. Skahill, K., 1996. VHDL for programmable logic. Addison-Wesley Longman Publishing Co., Inc.. 3. Holland, B., Vacas, M., Aggarwal, V., DeVille, R., Troxel, I. and George, A.D., 2005, September. Survey of C-based application mapping tools for reconfigurable computing. In Proceedings of the 8th International Conference on Military and Aerospace Programmable Logic Devices (MAPLD 2005), Washington, DC, USA (September 2005). 4. Sagahyroon, A.A., 2000. From AHPL to VHDL: A course in hardware description languages. IEEE Transactions on Education, 43(4), pp.449- 454. 5. Brown, S., 2010. Fundamentals of digital logic design with VHDL. 6. Navabi, Z., 1997. VHDL: Analysis and modeling of digital systems. McGraw-Hill, Inc.. 7. Camposano, R. and Tabet, R.M., 1988. Design representation for the synthesis of behavioral VHDL models. IBM Thomas J. Watson Research Division. 12/22/2019 Introduction to VHDL 33
  • 34. Reference… 8. Camposano, R. and Tabet, R.M., 1988. Design representation for the synthesis of behavioral VHDL models. IBM Thomas J. Watson Research Division. 9. Ferrandi, F., Fummi, F. and Sciuto, D., 1998, October. Implicit test generation for behavioral VHDL models. In Test Conference, 1998. Proceedings., International (pp. 587-596). IEEE. 10. Micheli, G.D., 1994. Synthesis and optimization of digital circuits. McGraw-Hill Higher Education. 11. Navabi, Z., 1997. VHDL: Analysis and modeling of digital systems. McGraw-Hill, Inc.. 12. Armstrong, J.R., 1989. Chip-level modeling with VHDL. Englewood Cliffs: Prentice Hall. 13. Sieh, V., Tschache, O. and Balbach, F., 1997, June. VERIFY: Evaluation of reliability using VHDL-models with embedded fault descriptions. In Fault- Tolerant Computing, 1997. FTCS-27. Digest of Papers., Twenty-Seventh Annual International Symposium on (pp. 32-36). IEEE. 14. Navabi, Z., 1997. VHDL: Analysis and modeling of digital systems. McGraw-Hill, Inc.. 12/22/2019 Introduction to VHDL 34