SlideShare a Scribd company logo
1 of 23
Content of the Course
• Types of Modeling
• Constructs in VHDL
– Process Declaration
– Signal and constants Declaration
– Variable Declaration
– Packages
– File operation
12/29/2023 VAC VEC
Design Hierarchy Levels ( Modeling
Styles
12/29/2023 VAC VEC
• Structural
– Define explicit components and the connections between them.
• Dataflow
– Most are like assigning expressions to signals
• Behavioral
– Write an algorithm that describes the circuit’s output
Dataflow Level
• Dataflow description
– The detail is less with data dependencies described, not the
components and connections
– Includes “when” and “select” (case) statements
12/29/2023 VAC VEC
Full Adder - Data flow
12/29/2023 VAC VEC
• A structural description is like the schematic, describing the components
and their interconnections precisely
– Includes concurrent statements
• A component statement is a concurrent statement
12/29/2023 VAC VEC
Structural Level
4-bit Ripple-Carry Adder - Structural
Description
12/29/2023 VAC VEC
12/29/2023 VAC VEC
4-bit Ripple-Carry Adder - Structural Description cntd.
8
Constructs in VHDL
• A process statement is a concurrent statement,
but all statements contained in it are sequential
statement (statements that executes serially, one
after the other).
• The use of processes makes your code more
modular, more readable, and allows you to
separate combinational logic from sequential
logic.
9
The sensitivity list
• List of all signals that the process is sensitive to.
Sensitive means that a change in the value of
these signals will cause the process to be
invoked.
10
Incomplete sensitivity list effect
a
b
z (VHDL)
z (gate level)
11
VHDL Object Types
• Constants
• Signals
• Variables
• Files
12
Signals
• It is a physical signal (you can think of it like a piece of
wire)
• A signal is a sequence of time-value pairs
• A signal assignment takes effect only after a certain delay
(the smallest possible delay is called a “delta time”).
• It is possible to define global signals (signals that can be
shared among entities)
• But more often signals are just locally defined for a given
architecture
13
Variables
• Assignment to variables are scheduled immediately (the
assignment takes effect immediately)
• If a variable is assigned a value, the corresponding
location in memory is written with the new value while
destroying the old value.
– This effectively happen immediately so if the next
executing statement in the program uses the value of
the variable, it is the new value that is used.
• Typically, variables are used as a local storage
mechanism, visible only inside a process
14
Signals vs. Variables
• Signals assignments are scheduled after a certain
delay d
• Variables assignments happen immediately, there
is no delay
15
Packages
• Packages offers a mechanism to globally define
and share values, types, components, functions
and procedures that are commonly used.
• package declaration and package body
16
Subprograms
• Procedures can return more than one value
(they can have both input and output
parameters)
• Functions return always just one value (can
have only input parameters)
Example: conversion functions, resolution
functions, …
17
Attributes
• Info attached to VHDL objects
• Some predefined attributes:
‘left  the leftmost value of a type
‘right
‘high  the greatest value of a type
‘low
‘length  the number of elements in an array
‘event  a change on a signal or variable
‘range  the range of the elements of an array object
18
Component (socket mechanism)
• Declare the name and interface of a “sub-unit”, to be used in
the current level of design hierarchy.
component adder
port (
in_a, in_b: in std_logic_vector;
z : std_logic_vector; carry: std_logic);
end component;
adder
instance #1
adder
instance #2
19
ASSERT statement
• The ASSERT checks a boolean expression
and if the value is true does nothing, else
will output a text string to std output.
It can have different severity levels:
NOTE, WARNING, ERROR, FAILURE
ASSERT false
REPORT “End of TestBench”
SEVERITY ERROR;
20
COMPLEX TYPES:
• enumerated types
TYPE color is (red, blue, yellow, green)
• ARRAY
TYPE dbus is ARRAY (31 downto 0) of
std_logic
21
COMPLEX TYPES:
• RECORD
TYPE instruction is
RECORD
opcode: integer;
src: integer;
dest: integer;
END RECORD
22
COMPLEX TYPES:
• FILE
TYPE ram_data_file_t IS FILE OF INTEGER;
FILE ram_data_file : ram_data_file_t IS IN
“/claudio/vhdl/tb/ram.txt”
23
More on FILEs
• use std.textio.all;
• READ, WRITE, READLINE, WRITELINE,
ENDFILE, …
• VHDL supports overloading

More Related Content

Similar to session two hardware description language

Similar to session two hardware description language (20)

Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
Verilog
VerilogVerilog
Verilog
 
Chapter 5 introduction to VHDL
Chapter 5 introduction to VHDLChapter 5 introduction to VHDL
Chapter 5 introduction to VHDL
 
DLD5.pdf
DLD5.pdfDLD5.pdf
DLD5.pdf
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
L03_4.pdf
L03_4.pdfL03_4.pdf
L03_4.pdf
 
hardware description language power point presentation
hardware description language power point presentationhardware description language power point presentation
hardware description language power point presentation
 
VHDL_VIKAS.pptx
VHDL_VIKAS.pptxVHDL_VIKAS.pptx
VHDL_VIKAS.pptx
 
Summer training vhdl
Summer training vhdlSummer training vhdl
Summer training vhdl
 
the-vhsic-.pptx
the-vhsic-.pptxthe-vhsic-.pptx
the-vhsic-.pptx
 
VHDL course
VHDL courseVHDL course
VHDL course
 
Vhdl 1 ppg
Vhdl 1 ppgVhdl 1 ppg
Vhdl 1 ppg
 
Dica ii chapter slides
Dica ii chapter slidesDica ii chapter slides
Dica ii chapter slides
 
Vhdl
VhdlVhdl
Vhdl
 
Vhdl
VhdlVhdl
Vhdl
 
Hd2
Hd2Hd2
Hd2
 
Journey into Reactive Streams and Akka Streams
Journey into Reactive Streams and Akka StreamsJourney into Reactive Streams and Akka Streams
Journey into Reactive Streams and Akka Streams
 
VHDL summer training (ppt)
 VHDL summer training (ppt) VHDL summer training (ppt)
VHDL summer training (ppt)
 
Lecture2 vhdl refresher
Lecture2 vhdl refresherLecture2 vhdl refresher
Lecture2 vhdl refresher
 

Recently uploaded

Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
dharasingh5698
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 

session two hardware description language

  • 1. Content of the Course • Types of Modeling • Constructs in VHDL – Process Declaration – Signal and constants Declaration – Variable Declaration – Packages – File operation 12/29/2023 VAC VEC
  • 2. Design Hierarchy Levels ( Modeling Styles 12/29/2023 VAC VEC • Structural – Define explicit components and the connections between them. • Dataflow – Most are like assigning expressions to signals • Behavioral – Write an algorithm that describes the circuit’s output
  • 3. Dataflow Level • Dataflow description – The detail is less with data dependencies described, not the components and connections – Includes “when” and “select” (case) statements 12/29/2023 VAC VEC
  • 4. Full Adder - Data flow 12/29/2023 VAC VEC
  • 5. • A structural description is like the schematic, describing the components and their interconnections precisely – Includes concurrent statements • A component statement is a concurrent statement 12/29/2023 VAC VEC Structural Level
  • 6. 4-bit Ripple-Carry Adder - Structural Description 12/29/2023 VAC VEC
  • 7. 12/29/2023 VAC VEC 4-bit Ripple-Carry Adder - Structural Description cntd.
  • 8. 8 Constructs in VHDL • A process statement is a concurrent statement, but all statements contained in it are sequential statement (statements that executes serially, one after the other). • The use of processes makes your code more modular, more readable, and allows you to separate combinational logic from sequential logic.
  • 9. 9 The sensitivity list • List of all signals that the process is sensitive to. Sensitive means that a change in the value of these signals will cause the process to be invoked.
  • 10. 10 Incomplete sensitivity list effect a b z (VHDL) z (gate level)
  • 11. 11 VHDL Object Types • Constants • Signals • Variables • Files
  • 12. 12 Signals • It is a physical signal (you can think of it like a piece of wire) • A signal is a sequence of time-value pairs • A signal assignment takes effect only after a certain delay (the smallest possible delay is called a “delta time”). • It is possible to define global signals (signals that can be shared among entities) • But more often signals are just locally defined for a given architecture
  • 13. 13 Variables • Assignment to variables are scheduled immediately (the assignment takes effect immediately) • If a variable is assigned a value, the corresponding location in memory is written with the new value while destroying the old value. – This effectively happen immediately so if the next executing statement in the program uses the value of the variable, it is the new value that is used. • Typically, variables are used as a local storage mechanism, visible only inside a process
  • 14. 14 Signals vs. Variables • Signals assignments are scheduled after a certain delay d • Variables assignments happen immediately, there is no delay
  • 15. 15 Packages • Packages offers a mechanism to globally define and share values, types, components, functions and procedures that are commonly used. • package declaration and package body
  • 16. 16 Subprograms • Procedures can return more than one value (they can have both input and output parameters) • Functions return always just one value (can have only input parameters) Example: conversion functions, resolution functions, …
  • 17. 17 Attributes • Info attached to VHDL objects • Some predefined attributes: ‘left  the leftmost value of a type ‘right ‘high  the greatest value of a type ‘low ‘length  the number of elements in an array ‘event  a change on a signal or variable ‘range  the range of the elements of an array object
  • 18. 18 Component (socket mechanism) • Declare the name and interface of a “sub-unit”, to be used in the current level of design hierarchy. component adder port ( in_a, in_b: in std_logic_vector; z : std_logic_vector; carry: std_logic); end component; adder instance #1 adder instance #2
  • 19. 19 ASSERT statement • The ASSERT checks a boolean expression and if the value is true does nothing, else will output a text string to std output. It can have different severity levels: NOTE, WARNING, ERROR, FAILURE ASSERT false REPORT “End of TestBench” SEVERITY ERROR;
  • 20. 20 COMPLEX TYPES: • enumerated types TYPE color is (red, blue, yellow, green) • ARRAY TYPE dbus is ARRAY (31 downto 0) of std_logic
  • 21. 21 COMPLEX TYPES: • RECORD TYPE instruction is RECORD opcode: integer; src: integer; dest: integer; END RECORD
  • 22. 22 COMPLEX TYPES: • FILE TYPE ram_data_file_t IS FILE OF INTEGER; FILE ram_data_file : ram_data_file_t IS IN “/claudio/vhdl/tb/ram.txt”
  • 23. 23 More on FILEs • use std.textio.all; • READ, WRITE, READLINE, WRITELINE, ENDFILE, … • VHDL supports overloading