SlideShare a Scribd company logo
Digital System Design
Subject Name : Digital System Design
Course Code : IT-314
Text-books
1. Digital System Design using VHDL by
C.H. Roth.
2. Circuit Design with VHDL by Volnei A.
Pedroni;
Reference Book
1. VHDL Primer by J. Bhasker; Addison Wesley Longman Pub.
2. Introduction to Digital Systems by M. Ercegovec, T. Lang and L.J.
Moreno; Wiley
3. VHDL: Analysis & Modeling of Digital Systems by Z. Navabi; MGH
4. VHDL Programming by Examples by Douglas L. Perry; TMH
5. VHDL by Douglas Perry
6. The Designer Guide to VHDL by P.J. Ashendem; Morgan Kaufmann
Pub.
7. Digital System Design with VHDL by Mark Zwolinski; Prentice Hall
Pub.
8. Digital Design Principles and Practices by John F. Wakerly, Prentice
Hall (third Edition) 2001 includes Xilinx student edition).
Overview
What is digital system design?
– Use of available digital components
• Microprocessor, e.g. Pentium
• Micro-controller, e.g. 8051
• Digital processing units, e.g. counters, shift registers.
– Combine them to become a useful system
Programmable logic
vs. microcontrollers in prototyping
• In some situation you can design a digital system using
programmable logic or microcontrollers
• Programmable logic – more general and flexible, economic
for mass production
• Microcontrollers – more specific and less flexible, cost
more in mass production
VHDL
• What is VHDL?
V H I S C  Very High Speed Integrated Circuit
Hardware
Description
Language
IEEE Standard 1076-1993
History of VHDL
• Designed by IBM, Texas Instruments, and Intermetrics as part of the
DoD funded VHSIC program
• Standardized by the IEEE in 1987: IEEE 1076-1987
• Enhanced version of the language defined in 1993: IEEE 1076-1993
• Additional standardized packages provide definitions of data types and
expressions of timing data
– IEEE 1164 (data types)
– IEEE 1076.3 (numeric)
– IEEE 1076.4 (timing)
Traditional vs. Hardware Description Languages
• Procedural programming languages provide the how or recipes
– for computation
– for data manipulation
– for execution on a specific hardware model
• Hardware description languages describe a system
– Systems can be described from many different points of view
• Behavior: what does it do?
• Structure: what is it composed of?
• Functional properties: how do I interface to it?
• Physical properties: how fast is it?
Usage
• Descriptions can be at different levels of abstraction
– Switch level: model switching behavior of transistors
– Register transfer level: model combinational and sequential logic
components
– Instruction set architecture level: functional behavior of a
microprocessor
• Descriptions can used for
– Simulation
• Verification, performance evaluation
– Synthesis
• First step in hardware design
Why do we Describe Systems?
• Design Specification
– unambiguous definition of components and
interfaces in a large design
• Design Simulation
– verify system/subsystem/chip performance
prior to design implementation
• Design Synthesis
– automated generation of a hardware design
Digital System Design Flow
Requirements
Functional Design
Register Transfer
Level Design
Logic Design
Circuit Design
Physical Design
Description for Manufacture
Behavioral Simulation
RTL Simulation
Validation
Logic Simulation
Verification
Timing Simulation
Circuit Analysis
Design Rule Checking
Fault Simulation
• Design flows operate at multiple
levels of abstraction
• Need a uniform description to
translate between levels
• Increasing costs of design and
fabrication necessitate greater
reliance on automation via CAD
tools
– $5M - $100M to design new
chips
– Increasing time to market
pressures
A Synthesis Design Flow
Requirements
Functional Design
Register Transfer
Level Design
Synthesis
Place and Route
Timing Extraction
VHDL Model
(
VHDL)
VHDL Model
Logic Simulation
Behavioral Simulation
• Automation of design refinement steps
• Feedback for accurate simulation
• Example targets: ASICs, FPGAs
The Role of Hardware Description Languages
cells
modules
chips
boards
algorithms
register transfers
Boolean expressions
transfer functions
processors
registers
gates
transistors
PHYSICAL
BEHAVIORAL STRUCTURAL
[Gajski and Kuhn]
• Design is structured around a hierarchy of representations
• HDLs can describe distinct aspects of a design at multiple
levels of abstraction
Domains and Levels of Modeling
high level of
abstraction
Functional
Structural
Geometric “Y-chart” due to
Gajski & Kahn
low level of
abstraction
Domains and Levels of Modeling
Functional
Structural
Geometric “Y-chart” due to
Gajski & Kahn
Algorithm
(behavioral)
Register-Transfer
Language
Boolean Equation
Differential Equation
Domains and Levels of Modeling
Functional
Structural
Geometric “Y-chart” due to
Gajski & Kahn
Processor-Memory
Switch
Register-Transfer
Gate
Transistor
Domains and Levels of Modeling
Functional
Structural
Geometric “Y-chart” due to
Gajski & Kahn
Polygons
Sticks
Standard Cells
Floor Plan
Basic VHDL Concepts
• Interfaces
• Modeling (Behavior, Dataflow, Structure)
• Test Benches
• Analysis, elaboration, simulation
• Synthesis
Basic Structure of a VHDL File
• Entity
– Entity declaration:
interface to outside
world; defines input
and output signals
– Architecture: describes
the entity, contains
processes, components
operating concurrently
Entity Declaration
entity NAME_OF_ENTITY is
port (signal_names: mode type;
signal_names: mode type;
:
signal_names: mode type);
end [NAME_OF_ENTITY] ;
• NAME_OF_ENTITY: user defined
• signal_names: list of signals (both input and
output)
• mode: in, out, buffer, inout
• type: boolean, integer, character, std_logic
Architecture
• Behavioral Model:
architecture architecture_name of NAME_OF_ENTITY
is
-- Declarations
…..
…..
begin
-- Statements
end architecture_name;
Half Adder
library ieee;
use ieee.std_logic_1164.all;
entity half_adder is
port(
x,y: in std_logic;
sum, carry: out std_logic);
end half_adder;
architecture myadd of half_adder is
begin
sum <= x xor y;
carry <= x and y;
end myadd;
Entity Examples …
entity half_adder is
port(
x,y: in std_logic;
sum, carry: out std_logic);
end half_adder;
FULLADDER
A
B
C
SUM
CARRY
Architecture Examples: Behavioral Description
• Entity FULLADDER is
port ( A, B, C: in std_logic;
SUM, CARRY: in std_logic);
end FULLADDER;
• Architecture CONCURRENT of FULLADDER is
begin
SUM <= A xor B xor C after 5 ns;
CARRY <= (A and B) or (B and C) or (A and C) after 3
ns;
end CONCURRENT;
Architecture Examples: Structural Description …
• architecture STRUCTURAL of FULLADDER is
signal S1, C1, C2 : bit;
component HA
port (I1, I2 : in bit; S, C : out bit);
end component;
component OR
port (I1, I2 : in bit; X : out bit);
end component;
begin
INST_HA1 : HA port map (I1 => B, I2 => C, S => S1, C => C1);
INST_HA2 : HA port map (I1 => A, I2 => S1, S => SUM, C => C2);
INST_OR : OR port map (I1 => C2, I2 => C1, X => CARRY);
end STRUCTURAL;
I1 S
HA
I2 C
I1 S
HA
I2 C I1
OR
I2 x
A
C
B
CARRY
SUM
S1
C1
C2
… Architecture Examples: Structural
Description
Entity HA is
PORT (I1, I2 : in bit; S, C : out bit);
end HA ;
Architecture behavior of HA is
begin
S <= I1 xor I2;
C <= I1 and I2;
end behavior;
Entity OR is
PORT (I1, I2 : in bit; X : out bit);
end OR ;
Architecture behavior of OR is
begin
X <= I1 or I2;
end behavior;
One Entity Many Descriptions
• A system (an entity) can be specified with different
architectures
Entity
Architecture
A
Architecture
B
Architecture
C
Architecture
D
Test Benches
• Testing a design by simulation
• Use a test bench model
– an architecture body that includes an instance
of the design under test
– applies sequences of test values to inputs
– monitors values on output signals
• either using simulator
• or with a process that verifies correct operation

More Related Content

Similar to L1_vhdl_Intro (1).ppt (20)

PPTX
Embedded system
ashraf eltholth
 
PDF
Chapter 01
Amirul Islam
 
PPTX
vhdl
NAGASAI547
 
PPTX
hardware description language power point presentation
dhananjeyanrece
 
PDF
Summer training vhdl
Arshit Rai
 
PPT
VHDL-PRESENTATION.ppt
Dr.YNM
 
PPT
Introduction to VHDL language VHDL_Intro.ppt
DrVikasMahor
 
DOC
Wi Fi documantation
vijaykumar vodnala
 
PPT
Summer training vhdl
Arshit Rai
 
PPTX
Cockatrice: A Hardware Design Environment with Elixir
Hideki Takase
 
PPTX
Designmethodology1
kollatiMeenakshi
 
PDF
System on Chip Design and Modelling Dr. David J Greaves
Satya Harish
 
PPT
Verilog Lecture1
Béo Tú
 
PPTX
Dpsd course introduction
PragadeswaranS
 
PPT
Short.course.introduction.to.vhdl for beginners
Ravi Sony
 
PPTX
Introduction to Computer Architecture and Organization
Dr. Balaji Ganesh Rajagopal
 
PPT
ASIC design Flow (Digital Design)
Sudhanshu Janwadkar
 
PPT
Computer
Ali Kamran
 
PDF
Session 01 _rtl_design_with_vhdl 101
Mahmoud Abdellatif
 
Embedded system
ashraf eltholth
 
Chapter 01
Amirul Islam
 
hardware description language power point presentation
dhananjeyanrece
 
Summer training vhdl
Arshit Rai
 
VHDL-PRESENTATION.ppt
Dr.YNM
 
Introduction to VHDL language VHDL_Intro.ppt
DrVikasMahor
 
Wi Fi documantation
vijaykumar vodnala
 
Summer training vhdl
Arshit Rai
 
Cockatrice: A Hardware Design Environment with Elixir
Hideki Takase
 
Designmethodology1
kollatiMeenakshi
 
System on Chip Design and Modelling Dr. David J Greaves
Satya Harish
 
Verilog Lecture1
Béo Tú
 
Dpsd course introduction
PragadeswaranS
 
Short.course.introduction.to.vhdl for beginners
Ravi Sony
 
Introduction to Computer Architecture and Organization
Dr. Balaji Ganesh Rajagopal
 
ASIC design Flow (Digital Design)
Sudhanshu Janwadkar
 
Computer
Ali Kamran
 
Session 01 _rtl_design_with_vhdl 101
Mahmoud Abdellatif
 

Recently uploaded (20)

PDF
Zilliz Cloud Demo for performance and scale
Zilliz
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
PDF
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PPTX
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
PDF
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
PPTX
Day2 B2 Best.pptx
helenjenefa1
 
PDF
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
PDF
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
PDF
GTU Civil Engineering All Semester Syllabus.pdf
Vimal Bhojani
 
PPTX
Worm gear strength and wear calculation as per standard VB Bhandari Databook.
shahveer210504
 
PPTX
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
PPTX
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
PPTX
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
PDF
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
PDF
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PPTX
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
Zilliz Cloud Demo for performance and scale
Zilliz
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
Lecture 1 Shell and Tube Heat exchanger-1.pptx
mailforillegalwork
 
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
Day2 B2 Best.pptx
helenjenefa1
 
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
GTU Civil Engineering All Semester Syllabus.pdf
Vimal Bhojani
 
Worm gear strength and wear calculation as per standard VB Bhandari Databook.
shahveer210504
 
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
Ad

L1_vhdl_Intro (1).ppt

  • 1. Digital System Design Subject Name : Digital System Design Course Code : IT-314
  • 2. Text-books 1. Digital System Design using VHDL by C.H. Roth. 2. Circuit Design with VHDL by Volnei A. Pedroni;
  • 3. Reference Book 1. VHDL Primer by J. Bhasker; Addison Wesley Longman Pub. 2. Introduction to Digital Systems by M. Ercegovec, T. Lang and L.J. Moreno; Wiley 3. VHDL: Analysis & Modeling of Digital Systems by Z. Navabi; MGH 4. VHDL Programming by Examples by Douglas L. Perry; TMH 5. VHDL by Douglas Perry 6. The Designer Guide to VHDL by P.J. Ashendem; Morgan Kaufmann Pub. 7. Digital System Design with VHDL by Mark Zwolinski; Prentice Hall Pub. 8. Digital Design Principles and Practices by John F. Wakerly, Prentice Hall (third Edition) 2001 includes Xilinx student edition).
  • 4. Overview What is digital system design? – Use of available digital components • Microprocessor, e.g. Pentium • Micro-controller, e.g. 8051 • Digital processing units, e.g. counters, shift registers. – Combine them to become a useful system
  • 5. Programmable logic vs. microcontrollers in prototyping • In some situation you can design a digital system using programmable logic or microcontrollers • Programmable logic – more general and flexible, economic for mass production • Microcontrollers – more specific and less flexible, cost more in mass production
  • 6. VHDL • What is VHDL? V H I S C  Very High Speed Integrated Circuit Hardware Description Language IEEE Standard 1076-1993
  • 7. History of VHDL • Designed by IBM, Texas Instruments, and Intermetrics as part of the DoD funded VHSIC program • Standardized by the IEEE in 1987: IEEE 1076-1987 • Enhanced version of the language defined in 1993: IEEE 1076-1993 • Additional standardized packages provide definitions of data types and expressions of timing data – IEEE 1164 (data types) – IEEE 1076.3 (numeric) – IEEE 1076.4 (timing)
  • 8. Traditional vs. Hardware Description Languages • Procedural programming languages provide the how or recipes – for computation – for data manipulation – for execution on a specific hardware model • Hardware description languages describe a system – Systems can be described from many different points of view • Behavior: what does it do? • Structure: what is it composed of? • Functional properties: how do I interface to it? • Physical properties: how fast is it?
  • 9. Usage • Descriptions can be at different levels of abstraction – Switch level: model switching behavior of transistors – Register transfer level: model combinational and sequential logic components – Instruction set architecture level: functional behavior of a microprocessor • Descriptions can used for – Simulation • Verification, performance evaluation – Synthesis • First step in hardware design
  • 10. Why do we Describe Systems? • Design Specification – unambiguous definition of components and interfaces in a large design • Design Simulation – verify system/subsystem/chip performance prior to design implementation • Design Synthesis – automated generation of a hardware design
  • 11. Digital System Design Flow Requirements Functional Design Register Transfer Level Design Logic Design Circuit Design Physical Design Description for Manufacture Behavioral Simulation RTL Simulation Validation Logic Simulation Verification Timing Simulation Circuit Analysis Design Rule Checking Fault Simulation • Design flows operate at multiple levels of abstraction • Need a uniform description to translate between levels • Increasing costs of design and fabrication necessitate greater reliance on automation via CAD tools – $5M - $100M to design new chips – Increasing time to market pressures
  • 12. A Synthesis Design Flow Requirements Functional Design Register Transfer Level Design Synthesis Place and Route Timing Extraction VHDL Model ( VHDL) VHDL Model Logic Simulation Behavioral Simulation • Automation of design refinement steps • Feedback for accurate simulation • Example targets: ASICs, FPGAs
  • 13. The Role of Hardware Description Languages cells modules chips boards algorithms register transfers Boolean expressions transfer functions processors registers gates transistors PHYSICAL BEHAVIORAL STRUCTURAL [Gajski and Kuhn] • Design is structured around a hierarchy of representations • HDLs can describe distinct aspects of a design at multiple levels of abstraction
  • 14. Domains and Levels of Modeling high level of abstraction Functional Structural Geometric “Y-chart” due to Gajski & Kahn low level of abstraction
  • 15. Domains and Levels of Modeling Functional Structural Geometric “Y-chart” due to Gajski & Kahn Algorithm (behavioral) Register-Transfer Language Boolean Equation Differential Equation
  • 16. Domains and Levels of Modeling Functional Structural Geometric “Y-chart” due to Gajski & Kahn Processor-Memory Switch Register-Transfer Gate Transistor
  • 17. Domains and Levels of Modeling Functional Structural Geometric “Y-chart” due to Gajski & Kahn Polygons Sticks Standard Cells Floor Plan
  • 18. Basic VHDL Concepts • Interfaces • Modeling (Behavior, Dataflow, Structure) • Test Benches • Analysis, elaboration, simulation • Synthesis
  • 19. Basic Structure of a VHDL File • Entity – Entity declaration: interface to outside world; defines input and output signals – Architecture: describes the entity, contains processes, components operating concurrently
  • 20. Entity Declaration entity NAME_OF_ENTITY is port (signal_names: mode type; signal_names: mode type; : signal_names: mode type); end [NAME_OF_ENTITY] ; • NAME_OF_ENTITY: user defined • signal_names: list of signals (both input and output) • mode: in, out, buffer, inout • type: boolean, integer, character, std_logic
  • 21. Architecture • Behavioral Model: architecture architecture_name of NAME_OF_ENTITY is -- Declarations ….. ….. begin -- Statements end architecture_name;
  • 22. Half Adder library ieee; use ieee.std_logic_1164.all; entity half_adder is port( x,y: in std_logic; sum, carry: out std_logic); end half_adder; architecture myadd of half_adder is begin sum <= x xor y; carry <= x and y; end myadd;
  • 23. Entity Examples … entity half_adder is port( x,y: in std_logic; sum, carry: out std_logic); end half_adder; FULLADDER A B C SUM CARRY
  • 24. Architecture Examples: Behavioral Description • Entity FULLADDER is port ( A, B, C: in std_logic; SUM, CARRY: in std_logic); end FULLADDER; • Architecture CONCURRENT of FULLADDER is begin SUM <= A xor B xor C after 5 ns; CARRY <= (A and B) or (B and C) or (A and C) after 3 ns; end CONCURRENT;
  • 25. Architecture Examples: Structural Description … • architecture STRUCTURAL of FULLADDER is signal S1, C1, C2 : bit; component HA port (I1, I2 : in bit; S, C : out bit); end component; component OR port (I1, I2 : in bit; X : out bit); end component; begin INST_HA1 : HA port map (I1 => B, I2 => C, S => S1, C => C1); INST_HA2 : HA port map (I1 => A, I2 => S1, S => SUM, C => C2); INST_OR : OR port map (I1 => C2, I2 => C1, X => CARRY); end STRUCTURAL; I1 S HA I2 C I1 S HA I2 C I1 OR I2 x A C B CARRY SUM S1 C1 C2
  • 26. … Architecture Examples: Structural Description Entity HA is PORT (I1, I2 : in bit; S, C : out bit); end HA ; Architecture behavior of HA is begin S <= I1 xor I2; C <= I1 and I2; end behavior; Entity OR is PORT (I1, I2 : in bit; X : out bit); end OR ; Architecture behavior of OR is begin X <= I1 or I2; end behavior;
  • 27. One Entity Many Descriptions • A system (an entity) can be specified with different architectures Entity Architecture A Architecture B Architecture C Architecture D
  • 28. Test Benches • Testing a design by simulation • Use a test bench model – an architecture body that includes an instance of the design under test – applies sequences of test values to inputs – monitors values on output signals • either using simulator • or with a process that verifies correct operation