SlideShare una empresa de Scribd logo
1 de 24
PRESENTATION MADE BY
KHUSHBOO JAIN
CONTENTS
 Subprograms
 Packages
 Use Clause
 Aliases
 Resolved Signals
 Components
 Configuration
 Generate Statements
 Concurrent statements
 Use of VHDL in Simulation and synthesis
SUBPROGRAMS
 Subprograms may exist as just a procedure body or
a function body.
 Subprograms may also have a procedure
declarations or a function declaration.
 Subprograms allows for code reuse and
simplification.
 Subprograms may also be used to reduce the
complexity of the programs.
 Mainly Subprograms of two types –
 Procedures
 Functions
Procedures
 Procedures are the subprograms that can generate
multiple outputs.
 Procedures can take input in form of parameters.
 To use the procedures there are two things :
o Procedure Declaration
o Procedure Body
SYNTAX: procedure declaration-
procedure identifier [ ( formal parameter list ) ] ;
procedure body-
procedure identifier [ ( formal parameter list ) ] is
begin
sequential statement(s)
end procedure identifier ;
 Example of procedure declaration
procedure build ( A : in integer;
B : inout signal bit_vector;
C : out real;
D : file ) ;
 Example of procedure declaration
procedure print_header is
begin
write ( my_line, string'("A B C"));
writeline ( output, my_line );
end procedure print_header ;
FUNCTION
The main difference between function and procedure
is that function can return only one value.
Functions must have a return value and return
statement and can’t modify the parameter passed to
them.
A caller statement must require for executing the
function.
SYNTAX: function declaration-
function identifier [ ( formal parameter list ) ] return a_type ;
Function body-
function identifier [ ( formal parameter list ) ]
return a_type is
Begin
sequential statement(s) return some_value; -- of type a_type
end function identifier ;
 Example of function declaration
function random return float ;
 Example of function declaration
function random return float is
begin
-- compute X
return X;
end function random ;
PACKAGES
 A VHDL PACKAGE contains subprograms,
constant definitions and type definitions to be
used throughout one or more design units.
 Package mechanism is a facility provided to
the developer so they can reuse their old code
and can save their time.
 Package mainly consists of 2 parts:
• Package declaration
• Package Body
 Package declaration format:
package package_name is
... exported constant declarations
... exported type declarations
... exported subprogram declarations
end package_name;
Example:
package ee530 is
constant maxint: integer := 16#ffff#;
type arith_mode_type is (signed, unsigned);
function minimum(constant a,b: in integer) return
integer;
end ee530;
Package body format:
package body package_name is
... exported subprogram bodies
... other internally-used declarations
end package_name;
Example:
package body ee530 is
function minimum (constant a,b: integer) return integer is variable c: integer; -- local
variable
Begin
if a < b then
c := a; -- a is min
else
c := b; -- b is min
end if;
return c;
-- return min value end;
end ee530;
USE clause
 Packages are made visible to a VHDL description
through the use of USE clause.
 This statement comes at the beginning of the
entity declaration or architecture body.
 The use clause makes visible items specified as
suffixes in selected names listed.
 SYNTAX: use library_name.package_name.item;
 EXAMPLE: use ieee.std_logic_1164.all;
ALIASES
 The alias declares an alternative name for any
existing objects, signal, variable ,constant or
file.
 Alias doesnot define a new object.
 It is just a specifc name assigned to some
existing objects.
 SYNTAX
alias alias_name : alias_type is object_name
 EXAMPLE
alias SIGN : bit is DATA(31);
RESOLVED SIGNALS
 When more than one input is connected to a
signal, the simulator has to figure out what to do.
If you send different signals in either
input, something has to come out the other side,
but what?
 The process of deciding this is called resolution.
A signal type that knows how to do this is called
a resolved signal.
 For each resolved signal the designer has to
specify an associated resolution function.
 The resolution function name is the name of a
function previously defined.
Resolution of processes
 The tricky thing is when you have one entity with
multiple processes. VHDL imagines each process as a
separate circuit. So, if you have two different
processes that each set the value of the signal T
somewhere, the simulator think of this situation.
 When this situtation comes up, it needs to do signal
resolution. This can cause unexpected results. For
example, this model has two processes that set the
signal T, so we run into the resolution problem. The
output is 'X' for most of the simulation.
COMPONENTS
 A component represents an entity/architecture pair.
 The component can be defined in package, entity,
architecture, or block declarations.
 A more universal approach is to declare a
component in the package.
 Generics and ports of a component are copies of
generics and ports of the entity the component
represents.
 SYNTAX
component component_name [ is ]
generic (generic_list);
port (port_list);
end component component_name;
Example of components
architecture STRUCTURE_2 of EXAMPLE is
component XOR_4 is
port(A,B: in BIT_VECTOR(0 to 3);
C: out BIT_VECTOR(0 to 3));
end component XOR_4;
signal S1,S2 : BIT_VECTOR(0 to 3);
signal S3 : BIT_VECTOR(0 to 3);
begin
X1 : XOR_4 port map(S1,S2,S3);
end architecture STRUCTURE_2;
CONFIGURATION
 A configuration is a construct that defines how
component instances in a given block are bound to
design entities in order to describe how design
entities are put together to form a complete design.
 The configuration declaration starts with the
configuration name and then it is associated to a
given design entity
 Declarative part of the configuration may contain use
clauses, attribute specifications and group
declarations. The main part of the configuration
declaration contains so called block configuration.
SYNTAX -
configuration configuration_name of entity_name is
for architecture_name
for instance_label:component_name
use entity library_name.entity_name(arch_name);
end for;
end for;
end [configuration] [configuration_name];
EXAMPLE -
configuration Conf_Test of Test is
for STRUCTURE_T
for T_1 : DEC use configuration CONF_E;
end for;
end for;
end configuration Conf_Test;
STATEMENTS
 The generate statement simplifies description of
regular design structures.
 Usually it is used to specify a group of identical
components using just one component specification
and repeating it using the generate mechanism.
 A generate statement consists of three main parts:
1. generation scheme (either for scheme or if scheme);
2. declarative part.
3. concurrent statements.
 The for generation scheme is used to describe regular
structures in the design.
 It is quite common that regular structures contain
some irregularities. In such cases, the if scheme is
very useful.
 SYNTAX of FOR scheme
label : for parameter in range generate
[ { declarations }
begin ]
{ concurrent_statements }
end generate [ label ] ;
 SYNTAX of IF scheme
label : if condition generate
[ { declarations }
begin ]
{ concurrent_statements }
end generate [ label ] ;
CONCURRENT
STATEMENTS
 Concurrent statements provide convenient syntax for
representing simple, commonly occurring forms of
processes, as well as regular descriptions.
 CONCURRENT SIGNAL ASSIGNMENT
STATEMENT –
represents an equivalent process statement that
assigns values to signals.
SYNTAX-
concurrent_signal_assignment_statement ::= [ label : ]
conditional_signal_assignment [ label : ]
selected_signal_assignment
CONDITIONAL SIGNAL ASSIGNMENT
represents a process statement in which the signal
transform is an if statement.
SYNTAX-
Conditional_signal_assignment ::= target <= options
conditional_waveforms ;
Conditional_waveforms ::= { waveform when condition
else } waveform [ when condition ];
SELECTED SIGNAL ASSIGNMENT
represents a process statement in which the signal
transform is a case statement.
SYNTAX-
selected_signal_assignment ::= with expression select
target <= options selected_waveforms;
selected_waveforms ::= { waveform when choices , }
waveform when choices
USE OF VHDL IN SIMULATION
AND SYNTHESIS
 Simulation is the execution of a model in the
software environment. This is done using the ALDEC
VHDL simulator.
 Test bench is a program whose purpose is to
verify that the behavior of our system is as expected.
The test bench is used in ALDEC to simulate our
design by specifying the inputs into the system.
 Synthesis is the process of translating a design
description to another level of abstraction, i.e, from
behaviour to structure. We achieved synthesis by
using a Synthesis tool like Foundation Express .It is
similar to the compilation of a high level
PPT ON VHDL subprogram,package,alias,use,generate and concurrent statments and more

Más contenido relacionado

La actualidad más candente

Verilog overview
Verilog overviewVerilog overview
Verilog overviewposdege
 
Verilog data types -For beginners
Verilog data types -For beginnersVerilog data types -For beginners
Verilog data types -For beginnersDr.YNM
 
Design and implementation of 32 bit alu using verilog
Design and implementation of 32 bit alu using verilogDesign and implementation of 32 bit alu using verilog
Design and implementation of 32 bit alu using verilogSTEPHEN MOIRANGTHEM
 
Verilog Tutorial - Verilog HDL Tutorial with Examples
Verilog Tutorial - Verilog HDL Tutorial with ExamplesVerilog Tutorial - Verilog HDL Tutorial with Examples
Verilog Tutorial - Verilog HDL Tutorial with ExamplesE2MATRIX
 
An Introductory course on Verilog HDL-Verilog hdl ppr
An Introductory course on Verilog HDL-Verilog hdl pprAn Introductory course on Verilog HDL-Verilog hdl ppr
An Introductory course on Verilog HDL-Verilog hdl pprPrabhavathi P
 
Verilog Lecture1
Verilog Lecture1Verilog Lecture1
Verilog Lecture1Béo Tú
 
Day2 Verilog HDL Basic
Day2 Verilog HDL BasicDay2 Verilog HDL Basic
Day2 Verilog HDL BasicRon Liu
 
Verilog Tasks & Functions
Verilog Tasks & FunctionsVerilog Tasks & Functions
Verilog Tasks & Functionsanand hd
 
Basic structures in vhdl
Basic structures in vhdlBasic structures in vhdl
Basic structures in vhdlRaj Mohan
 
verilog code for logic gates
verilog code for logic gatesverilog code for logic gates
verilog code for logic gatesRakesh kumar jha
 
Overview of digital design with Verilog HDL
Overview of digital design with Verilog HDLOverview of digital design with Verilog HDL
Overview of digital design with Verilog HDLanand hd
 
Data flow model -Lecture-4
Data flow model -Lecture-4Data flow model -Lecture-4
Data flow model -Lecture-4Dr.YNM
 

La actualidad más candente (20)

Verilog tutorial
Verilog tutorialVerilog tutorial
Verilog tutorial
 
Verilog overview
Verilog overviewVerilog overview
Verilog overview
 
Verilog data types -For beginners
Verilog data types -For beginnersVerilog data types -For beginners
Verilog data types -For beginners
 
Behavioral modelling in VHDL
Behavioral modelling in VHDLBehavioral modelling in VHDL
Behavioral modelling in VHDL
 
Design and implementation of 32 bit alu using verilog
Design and implementation of 32 bit alu using verilogDesign and implementation of 32 bit alu using verilog
Design and implementation of 32 bit alu using verilog
 
Verilog Tasks and functions
Verilog Tasks and functionsVerilog Tasks and functions
Verilog Tasks and functions
 
VERILOG CODE FOR Adder
VERILOG CODE FOR AdderVERILOG CODE FOR Adder
VERILOG CODE FOR Adder
 
Verilog Tutorial - Verilog HDL Tutorial with Examples
Verilog Tutorial - Verilog HDL Tutorial with ExamplesVerilog Tutorial - Verilog HDL Tutorial with Examples
Verilog Tutorial - Verilog HDL Tutorial with Examples
 
Registers siso, sipo
Registers siso, sipoRegisters siso, sipo
Registers siso, sipo
 
An Introductory course on Verilog HDL-Verilog hdl ppr
An Introductory course on Verilog HDL-Verilog hdl pprAn Introductory course on Verilog HDL-Verilog hdl ppr
An Introductory course on Verilog HDL-Verilog hdl ppr
 
VHDL - Part 2
VHDL - Part 2VHDL - Part 2
VHDL - Part 2
 
Verilog Lecture1
Verilog Lecture1Verilog Lecture1
Verilog Lecture1
 
Day2 Verilog HDL Basic
Day2 Verilog HDL BasicDay2 Verilog HDL Basic
Day2 Verilog HDL Basic
 
Vhdl introduction
Vhdl introductionVhdl introduction
Vhdl introduction
 
Verilog Tasks & Functions
Verilog Tasks & FunctionsVerilog Tasks & Functions
Verilog Tasks & Functions
 
Basic structures in vhdl
Basic structures in vhdlBasic structures in vhdl
Basic structures in vhdl
 
verilog code for logic gates
verilog code for logic gatesverilog code for logic gates
verilog code for logic gates
 
Verilog tutorial
Verilog tutorialVerilog tutorial
Verilog tutorial
 
Overview of digital design with Verilog HDL
Overview of digital design with Verilog HDLOverview of digital design with Verilog HDL
Overview of digital design with Verilog HDL
 
Data flow model -Lecture-4
Data flow model -Lecture-4Data flow model -Lecture-4
Data flow model -Lecture-4
 

Similar a PPT ON VHDL subprogram,package,alias,use,generate and concurrent statments and more

VHDL Subprograms and Packages
VHDL Subprograms and PackagesVHDL Subprograms and Packages
VHDL Subprograms and PackagesRamasubbu .P
 
INTRODUCTION TO VHDL
INTRODUCTION    TO    VHDLINTRODUCTION    TO    VHDL
INTRODUCTION TO VHDLkarthikpunuru
 
Vhdl introduction
Vhdl introductionVhdl introduction
Vhdl introductionashokqis
 
Unit 2 CMath behind coding.pptx
Unit 2 CMath behind coding.pptxUnit 2 CMath behind coding.pptx
Unit 2 CMath behind coding.pptxPragatheshP
 
1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdfSemsemSameer1
 
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...RSathyaPriyaCSEKIOT
 
chapter-2.ppt
chapter-2.pptchapter-2.ppt
chapter-2.pptXanGwaps
 
CH.4FUNCTIONS IN C_FYBSC(CS).pptx
CH.4FUNCTIONS IN C_FYBSC(CS).pptxCH.4FUNCTIONS IN C_FYBSC(CS).pptx
CH.4FUNCTIONS IN C_FYBSC(CS).pptxSangeetaBorde3
 
Assembler directives and basic steps ALP of 8086
Assembler directives and basic steps ALP of 8086Assembler directives and basic steps ALP of 8086
Assembler directives and basic steps ALP of 8086Urvashi Singh
 
Verilog presentation final
Verilog presentation finalVerilog presentation final
Verilog presentation finalAnkur Gupta
 

Similar a PPT ON VHDL subprogram,package,alias,use,generate and concurrent statments and more (20)

VHDL Subprograms and Packages
VHDL Subprograms and PackagesVHDL Subprograms and Packages
VHDL Subprograms and Packages
 
Hd6
Hd6Hd6
Hd6
 
INTRODUCTION TO VHDL
INTRODUCTION    TO    VHDLINTRODUCTION    TO    VHDL
INTRODUCTION TO VHDL
 
DSD
DSDDSD
DSD
 
Vhdl introduction
Vhdl introductionVhdl introduction
Vhdl introduction
 
Unit 2 CMath behind coding.pptx
Unit 2 CMath behind coding.pptxUnit 2 CMath behind coding.pptx
Unit 2 CMath behind coding.pptx
 
ece223-vhdl-lab1-w07.ppt
ece223-vhdl-lab1-w07.pptece223-vhdl-lab1-w07.ppt
ece223-vhdl-lab1-w07.ppt
 
ece223-vhdl-lab1-w07.ppt
ece223-vhdl-lab1-w07.pptece223-vhdl-lab1-w07.ppt
ece223-vhdl-lab1-w07.ppt
 
1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf
 
Ppt of c vs c#
Ppt of c vs c#Ppt of c vs c#
Ppt of c vs c#
 
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...
UNIT-1 notes(Data Types – Variables – Operations – Expressions and Statements...
 
chapter-2.ppt
chapter-2.pptchapter-2.ppt
chapter-2.ppt
 
Functions in c
Functions in cFunctions in c
Functions in c
 
CH.4FUNCTIONS IN C_FYBSC(CS).pptx
CH.4FUNCTIONS IN C_FYBSC(CS).pptxCH.4FUNCTIONS IN C_FYBSC(CS).pptx
CH.4FUNCTIONS IN C_FYBSC(CS).pptx
 
VHDL lecture 2.ppt
VHDL lecture 2.pptVHDL lecture 2.ppt
VHDL lecture 2.ppt
 
Introduction%20C.pptx
Introduction%20C.pptxIntroduction%20C.pptx
Introduction%20C.pptx
 
Assembler directives and basic steps ALP of 8086
Assembler directives and basic steps ALP of 8086Assembler directives and basic steps ALP of 8086
Assembler directives and basic steps ALP of 8086
 
Verilog presentation final
Verilog presentation finalVerilog presentation final
Verilog presentation final
 
Ddhdl 17
Ddhdl 17Ddhdl 17
Ddhdl 17
 
CP Handout#2
CP Handout#2CP Handout#2
CP Handout#2
 

Más de Khushboo Jain

Marketing Strategies for an innovative product- customisable antimicrobial be...
Marketing Strategies for an innovative product- customisable antimicrobial be...Marketing Strategies for an innovative product- customisable antimicrobial be...
Marketing Strategies for an innovative product- customisable antimicrobial be...Khushboo Jain
 
Microeconomic analysis of Samsung
Microeconomic analysis of SamsungMicroeconomic analysis of Samsung
Microeconomic analysis of SamsungKhushboo Jain
 
stress management by music
stress management by musicstress management by music
stress management by musicKhushboo Jain
 

Más de Khushboo Jain (6)

Marketing Strategies for an innovative product- customisable antimicrobial be...
Marketing Strategies for an innovative product- customisable antimicrobial be...Marketing Strategies for an innovative product- customisable antimicrobial be...
Marketing Strategies for an innovative product- customisable antimicrobial be...
 
Microeconomic analysis of Samsung
Microeconomic analysis of SamsungMicroeconomic analysis of Samsung
Microeconomic analysis of Samsung
 
stress management by music
stress management by musicstress management by music
stress management by music
 
Process state in OS
Process state in OSProcess state in OS
Process state in OS
 
Entrepreneurship
EntrepreneurshipEntrepreneurship
Entrepreneurship
 
Hyperloop ppt.
Hyperloop ppt.Hyperloop ppt.
Hyperloop ppt.
 

Último

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

PPT ON VHDL subprogram,package,alias,use,generate and concurrent statments and more

  • 2. CONTENTS  Subprograms  Packages  Use Clause  Aliases  Resolved Signals  Components  Configuration  Generate Statements  Concurrent statements  Use of VHDL in Simulation and synthesis
  • 3. SUBPROGRAMS  Subprograms may exist as just a procedure body or a function body.  Subprograms may also have a procedure declarations or a function declaration.  Subprograms allows for code reuse and simplification.  Subprograms may also be used to reduce the complexity of the programs.  Mainly Subprograms of two types –  Procedures  Functions
  • 4. Procedures  Procedures are the subprograms that can generate multiple outputs.  Procedures can take input in form of parameters.  To use the procedures there are two things : o Procedure Declaration o Procedure Body SYNTAX: procedure declaration- procedure identifier [ ( formal parameter list ) ] ; procedure body- procedure identifier [ ( formal parameter list ) ] is begin sequential statement(s) end procedure identifier ;
  • 5.  Example of procedure declaration procedure build ( A : in integer; B : inout signal bit_vector; C : out real; D : file ) ;  Example of procedure declaration procedure print_header is begin write ( my_line, string'("A B C")); writeline ( output, my_line ); end procedure print_header ;
  • 6. FUNCTION The main difference between function and procedure is that function can return only one value. Functions must have a return value and return statement and can’t modify the parameter passed to them. A caller statement must require for executing the function. SYNTAX: function declaration- function identifier [ ( formal parameter list ) ] return a_type ; Function body- function identifier [ ( formal parameter list ) ] return a_type is Begin sequential statement(s) return some_value; -- of type a_type end function identifier ;
  • 7.  Example of function declaration function random return float ;  Example of function declaration function random return float is begin -- compute X return X; end function random ;
  • 8. PACKAGES  A VHDL PACKAGE contains subprograms, constant definitions and type definitions to be used throughout one or more design units.  Package mechanism is a facility provided to the developer so they can reuse their old code and can save their time.  Package mainly consists of 2 parts: • Package declaration • Package Body
  • 9.  Package declaration format: package package_name is ... exported constant declarations ... exported type declarations ... exported subprogram declarations end package_name; Example: package ee530 is constant maxint: integer := 16#ffff#; type arith_mode_type is (signed, unsigned); function minimum(constant a,b: in integer) return integer; end ee530;
  • 10. Package body format: package body package_name is ... exported subprogram bodies ... other internally-used declarations end package_name; Example: package body ee530 is function minimum (constant a,b: integer) return integer is variable c: integer; -- local variable Begin if a < b then c := a; -- a is min else c := b; -- b is min end if; return c; -- return min value end; end ee530;
  • 11. USE clause  Packages are made visible to a VHDL description through the use of USE clause.  This statement comes at the beginning of the entity declaration or architecture body.  The use clause makes visible items specified as suffixes in selected names listed.  SYNTAX: use library_name.package_name.item;  EXAMPLE: use ieee.std_logic_1164.all;
  • 12. ALIASES  The alias declares an alternative name for any existing objects, signal, variable ,constant or file.  Alias doesnot define a new object.  It is just a specifc name assigned to some existing objects.  SYNTAX alias alias_name : alias_type is object_name  EXAMPLE alias SIGN : bit is DATA(31);
  • 13. RESOLVED SIGNALS  When more than one input is connected to a signal, the simulator has to figure out what to do. If you send different signals in either input, something has to come out the other side, but what?  The process of deciding this is called resolution. A signal type that knows how to do this is called a resolved signal.  For each resolved signal the designer has to specify an associated resolution function.  The resolution function name is the name of a function previously defined.
  • 14. Resolution of processes  The tricky thing is when you have one entity with multiple processes. VHDL imagines each process as a separate circuit. So, if you have two different processes that each set the value of the signal T somewhere, the simulator think of this situation.  When this situtation comes up, it needs to do signal resolution. This can cause unexpected results. For example, this model has two processes that set the signal T, so we run into the resolution problem. The output is 'X' for most of the simulation.
  • 15. COMPONENTS  A component represents an entity/architecture pair.  The component can be defined in package, entity, architecture, or block declarations.  A more universal approach is to declare a component in the package.  Generics and ports of a component are copies of generics and ports of the entity the component represents.  SYNTAX component component_name [ is ] generic (generic_list); port (port_list); end component component_name;
  • 16. Example of components architecture STRUCTURE_2 of EXAMPLE is component XOR_4 is port(A,B: in BIT_VECTOR(0 to 3); C: out BIT_VECTOR(0 to 3)); end component XOR_4; signal S1,S2 : BIT_VECTOR(0 to 3); signal S3 : BIT_VECTOR(0 to 3); begin X1 : XOR_4 port map(S1,S2,S3); end architecture STRUCTURE_2;
  • 17. CONFIGURATION  A configuration is a construct that defines how component instances in a given block are bound to design entities in order to describe how design entities are put together to form a complete design.  The configuration declaration starts with the configuration name and then it is associated to a given design entity  Declarative part of the configuration may contain use clauses, attribute specifications and group declarations. The main part of the configuration declaration contains so called block configuration.
  • 18. SYNTAX - configuration configuration_name of entity_name is for architecture_name for instance_label:component_name use entity library_name.entity_name(arch_name); end for; end for; end [configuration] [configuration_name]; EXAMPLE - configuration Conf_Test of Test is for STRUCTURE_T for T_1 : DEC use configuration CONF_E; end for; end for; end configuration Conf_Test;
  • 19. STATEMENTS  The generate statement simplifies description of regular design structures.  Usually it is used to specify a group of identical components using just one component specification and repeating it using the generate mechanism.  A generate statement consists of three main parts: 1. generation scheme (either for scheme or if scheme); 2. declarative part. 3. concurrent statements.  The for generation scheme is used to describe regular structures in the design.  It is quite common that regular structures contain some irregularities. In such cases, the if scheme is very useful.
  • 20.  SYNTAX of FOR scheme label : for parameter in range generate [ { declarations } begin ] { concurrent_statements } end generate [ label ] ;  SYNTAX of IF scheme label : if condition generate [ { declarations } begin ] { concurrent_statements } end generate [ label ] ;
  • 21. CONCURRENT STATEMENTS  Concurrent statements provide convenient syntax for representing simple, commonly occurring forms of processes, as well as regular descriptions.  CONCURRENT SIGNAL ASSIGNMENT STATEMENT – represents an equivalent process statement that assigns values to signals. SYNTAX- concurrent_signal_assignment_statement ::= [ label : ] conditional_signal_assignment [ label : ] selected_signal_assignment
  • 22. CONDITIONAL SIGNAL ASSIGNMENT represents a process statement in which the signal transform is an if statement. SYNTAX- Conditional_signal_assignment ::= target <= options conditional_waveforms ; Conditional_waveforms ::= { waveform when condition else } waveform [ when condition ]; SELECTED SIGNAL ASSIGNMENT represents a process statement in which the signal transform is a case statement. SYNTAX- selected_signal_assignment ::= with expression select target <= options selected_waveforms; selected_waveforms ::= { waveform when choices , } waveform when choices
  • 23. USE OF VHDL IN SIMULATION AND SYNTHESIS  Simulation is the execution of a model in the software environment. This is done using the ALDEC VHDL simulator.  Test bench is a program whose purpose is to verify that the behavior of our system is as expected. The test bench is used in ALDEC to simulate our design by specifying the inputs into the system.  Synthesis is the process of translating a design description to another level of abstraction, i.e, from behaviour to structure. We achieved synthesis by using a Synthesis tool like Foundation Express .It is similar to the compilation of a high level