0% found this document useful (0 votes)
17 views34 pages

VHDL 4

The document discusses finite state machines and their modeling in VHDL. It covers state machine design styles, templates, and examples including a string detector and traffic light controller. Encoding styles such as binary, one-hot, and two-hot are also explained.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views34 pages

VHDL 4

The document discusses finite state machines and their modeling in VHDL. It covers state machine design styles, templates, and examples including a string detector and traffic light controller. Encoding styles such as binary, one-hot, and two-hot are also explained.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

‫جامعة نينوى‬

‫كلية هندسة اإللكترونيات‬

HDL Programming
-VHDL- 3
Textbook: Volnei A. Pedroni, “Circuit Design with
VHDL”, MIT Press London, England, 2004.

Submitted By: Hussein M. H. Aideen

1
VHDL> State Machines

 Finite state machines (FSM) constitute a special


modeling technique for sequential logic circuits.

 helpful in the design of certain types of systems,


(digital controllers, for example).

2
VHDL> State Machines

 Types of Machine modeling:


 Mealy machine: the output of
the machine depends not only
on the present state but also on
the current input.

 Moore machine: the output


depends only on the current
state.

3
VHDL> State Machines

4
VHDL> State Machines

FSM type definition:

5
VHDL> State Machines

FSM Design Styles:


Design Style #1:
 The design of the lower section is completely
separated from that of the upper section.

6
VHDL> State Machines
Design of the Lower (Sequential) Section:

7
VHDL> State Machines

Design of the Upper (Combinational) Section:

8
VHDL> State Machines
Design Style #2 (Stored Output):

 In Design style #1: Notice that in this case, if it is a Mealy


machine (one whose output is dependent on the current
input), the output might change when the input changes
(asynchronous output).

 To make Mealy machines synchronous.

9
VHDL> State Machines

State Machine Template for Design Style #2

10
VHDL> State Machines

State Machine Template for Design Style #2 – cont.

11
VHDL> State Machines

Example: Simple FSM #1

12
VHDL> State Machines

Example: Simple FSM #1

13
VHDL> State Machines

Example: Simple FSM #1

14
VHDL> State Machines

Example: Simple FSM #1

15
VHDL> State Machines

Example: Simple FSM #2

16
VHDL> State Machines

Example: Simple FSM #2

17
VHDL> State Machines

Example: Simple FSM #2

18
VHDL> State Machines
Example: String Detector
 We want to design a circuit that takes as input a serial
bit stream and outputs a „1‟ whenever the sequence
„„111‟‟ occurs. Overlaps must also be considered, that
is, if . . .0111110 . . . occurs, than the output should
remain active for three consecutive clock cycles.

19
VHDL> State Machines

Example: String Detector

20
VHDL> State Machines

Example: String Detector

21
VHDL> State Machines
Example: String Detector

22
VHDL> State Machines
Example: String Detector

23
VHDL> State Machines
Example: Traffic Light Controller (TLC)

 Three modes of operation: Regular, Test, and


Standby.
 Test mode: allows all pre-programmed times to be
overwritten (by a manual switch) with a small value,
such that the system can be easily tested during
maintenance (1 second per state).
 Standby mode: the system should activate the yellow
lights in both directions and remain so while the
standby signal is active.
 Assume that a 60 Hz clock (obtained from the power
line itself ) is available.
24
VHDL> State Machines
Example: Traffic Light Controller (TLC)

25
VHDL> State Machines
Example: Traffic Light Controller (TLC)

26
VHDL> State Machines
Example: Traffic Light Controller (TLC)

27
VHDL> State Machines
Example: Traffic Light Controller (TLC)

28
VHDL> State Machines
Example: Traffic Light Controller (TLC)

29
VHDL> State Machines
Example: Traffic Light Controller (TLC)

30
VHDL> State Machines
Example: Traffic Light Controller (TLC)

31
VHDL> State Machines
Example: Traffic Light Controller (TLC)

32
VHDL> State Machines
FSM Encoding Style:
 To encode the states of a state machine, we can
select one among several available styles.
 The default style is binary.
 requires the least number of flip-flops.
 with n flip-flops (n bits), up to 2^n states can be encoded
 requires more logic and is slower than the others.
 One-hot encoding style,
 which uses one flip-flop per state. Therefore, it demands
the largest number of flip-flops.
 with n flip-flops (n bits), only n states can be encoded.
 requires the least amount of extra logic and is the
fastest.

33
VHDL> State Machines
FSM Encoding Style:
 Two-hot encoding scheme:
 An style that is inbetween the two styles above.
 which presents two bits active per state.
 Therefore, with n flip-flops (n bits), up to n(n-1)/2 states
can be encoded.

34

You might also like