Section 5.6  Synthesizable HDL Models of Sequential Circuits    223
// JK fl ip-fl op from D fl ip-fl op and gates (V2001, 2005)
module  JKFF ( output   reg  Q,  input  J, K, Clk, rst);
wire  JK;
assign  JK = (J & ~Q) ∣ (~K & Q);
// Instantiate D fl ip-fl op
DFF JK1 (Q, JK, Clk, rst);
endmodule 
// D fl ip-fl op (V2001, V2005)
module  DFF ( output   reg  Q,  input  D, Clk, rst);
always @  ( p osedge Clk,  negedge  rst)
if  (!rst) Q <= 1'b0;
else  Q <= D;
endmodule   
HDL Example 5.4 shows another way to describe a  JK  flip-flop. Here, we describe 
the flip-flop by using the characteristic table rather than the characteristic equation. The 
case  multiway branch condition checks the two-bit number obtained by concatenating 
the bits of  J  and  K . The  case  expression ({ J, K }) is evaluated and compared with the 
values in the list of statements that follows. The first value that matches the true condi-
tion is executed. Since the concatenation of  J  and  K  produces a two-bit number, it can 
be equal to 00, 01, 10, or 11. The first bit gives the value of  J  and the second the value of 
K . The four possible conditions specify the value of the next state of  Q  after the applica-
tion of a positive-edge clock. 
HDL Example 5.4 (JK Flip-Flop) 
// Functional description of JK fl ip-fl op (V2001, 2005)
module JK_FF ( input  J, K, Clk,  output   reg  Q,  output  Q_b);
assign  Q_b = ~ Q ;
always   @  ( posedge  Clk)
case  ({J,K})
2'b00: Q <= Q;
2'b01: Q <= 1'b0;
2'b10: Q <= 1'b1;
2'b11: Q <= !Q;
endcase 
endmodule    
State diagram-Based HDL Models 
An HDL model of the operation of a sequential circuit can be based on the format of the 
circuit’s state diagram. A Mealy HDL model is presented in HDL Example 5.5 for the 
zero-detector machine described by the sequential circuit in  Fig.   5.15    and its state diagram 
shown in  Fig.   5.16   . The input, output, clock, and reset are declared in the usual manner. 
Convert pdf to powerpoint with - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
how to add pdf to powerpoint presentation; add pdf to powerpoint
Convert pdf to powerpoint with - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
converting pdf to powerpoint slides; convert pdf file to powerpoint
224    Chapter 5  Synchronous Sequential Logic
The state of the flip-flops is declared with identifiers  state  and  next_state . These variables 
hold the values of the present state and the next value of the sequential circuit. The state’s 
binary assignment is done with a  parameter  statement. (Verilog allows constants to be 
defined in a module by the keyword  parameter .) The four states  S0  through  S3  are assigned 
binary 00 through 11. The notation    S2 =2′b10    is preferable to the alternative    S2 =2.    The 
former uses only two bits to store the constant, whereas the latter results in a binary num-
ber with 32 (or 64) bits because an unsized number is interpreted and sized as an integer. 
HDL Example 5.5 (Mealy Machine: Zero Detector) 
// Mealy FSM zero detector (See Fig. 5.15 and  Fig.   5.16   ) 
Verilog 2001, 2005 syntax
module  Mealy_Zero_Detector (
output reg y_out,
input x_in, clock, reset
);
reg [1: 0] 
state, next_state;
parameter 
S0 = 2'b00, S1 = 2'b01, S2 = 2'b10, S3 = 2'b11;
always  @  ( posedge  clock,  negedge  reset) Verilog 2001, 2005 syntax
if (reset == 0) state <= S0;
else state <= next_state;
always @ (state, x_in) 
// Form the next state
case (state)
S0: 
if  (x_in) next_state = S1;  else  next_state = S0;
S1: 
if  (x_in) next_state = S3;  else  next_state = S0;
S2: 
if  (~x_in) next_state = S0;  else  next_state = S2;
S3: 
if  (x_in) next_state = S2;  else  next_state = S0;
endcase
always  @  (state, x_in) 
// Form the Mealy output
case (state)
S0:   y_out = 0;
S1, S2, S3: y_out = ~x_in;
endcase
endmodule 
module  t_Mealy_Zero_Detector;
wire  t_y_out;
reg 
t_x_in, t_clock, t_reset;
Mealy_Zero_Detector M0 (t_y_out, t_x_in, t_clock, t_reset);
initial  #200  $finish ;
initial   begin  t_clock = 0;  forever  #5 t_clock = ~t_clock;  end 
initial   fork 
t_reset = 0;
#2 t_reset = 1;
#87 t_reset = 0;
#89 t_reset = 1;
Online Convert PowerPoint to PDF file. Best free online export
Download Free Trial. Convert a PPTX/PPT File to PDF. Then just wait until the conversion from Powerpoint to PDF is complete and download the file.
how to change pdf to powerpoint; changing pdf to powerpoint file
C# PDF Convert to Jpeg SDK: Convert PDF to JPEG images in C#.net
C# PDF - Convert PDF to JPEG in C#.NET. C#.NET PDF to JPEG Converting & Conversion Control. Convert PDF to JPEG Using C#.NET. Add necessary references:
change pdf to powerpoint; how to convert pdf to ppt for
Section 5.6  Synthesizable HDL Models of Sequential Circuits    225
#10 t_x_in = 1;
#30 t_x_in = 0;
#40 t_x_in = 1;
#50 t_x_in = 0;
#52 t_x_in = 1;
#54 t_x_in = 0;
#70 t_x_in = 1;
#80 t_x_in = 1;
#70 t_x_in = 0;
#90 t_x_in = 1;
#100 t_x_in = 0;
#120 t_x_in = 1;
#160 t_x_in = 0;
#170 t_x_in = 1;
join 
endmodule   
The circuit I HDL Example 5.5 detects a 0 following a sequence of 1s in a serial bit 
stream. Its Verilog model uses three always blocks that execute concurrently and inter-
act through common variables. The first  always  statement resets the circuit to the initial 
state    S0 = 00    and specifies the synchronous clocked operation. The statement  state <= 
next_state  is synchronized to a positive-edge transition of the clock. This means that any 
change in the value of  next_state  in the second  always  block can affect the value of  state  
only as a result of a  posedge  event of  clock . The second  always  block determines the 
value of the next state transition as a function of the present state and input. The value 
assigned to  state  by the nonblocking assignment is the value of  next_state  immediately 
before the rising edge of  clock . Notice how the multiway branch condition implements 
the state transitions specified by the annotated edges in the state diagram of  Fig.  5.16   . 
The third  always  block specifies the output as a function of the present state and the 
input. Although this block is listed as a separate behavior for clarity, it could be com-
bined with the second block. Note that the value of output  y_out  may change if the value 
of input  x_in  changes while the circuit is in any given state. 
So let’s summarize how the model describes the behavior of the machine: At every ris-
ing edge of  clock if  reset  is not asserted, the state of the machine is updated by the first 
always  block; when  state  is updated by the first  always  block, the change in  state  is detected 
by the sensitivity list mechanism of the second  always  block; then the second  always  block 
updates the value of  next_state  (it will be used by the first  always  block at the next tick of 
the clock); the third  always  block also detects the change in  state  and updates the value of 
the output. In addition, the second and third  always  blocks detect changes in  x_in  and 
update  next_state  and  y_out  accordingly. The test bench provided with  Mealy_Zero_ 
Detector  provides some waveforms to stimulate the model, producing the results shown in 
Fig.   5.22   . Notice how t_ y_out  responds to changes in both the state and the input, and has 
a glitch (a transient logic value). We display both to  state [1:0] and  next_state [1:0] to illus-
trate how changes in  t_x_in  influence the value of next_state and t_y_out. The Mealy glitch 
in  t_y_out  is due to the (intentional) dynamic behavior of  t_x_in . The input,  t_x_in,  settles 
VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.
Convert PDF to Image; Convert Word to PDF; Convert Excel to PDF; Convert PowerPoint to PDF; Convert Image to PDF; Convert Jpeg to PDF;
converting pdf to powerpoint online; how to change pdf file to powerpoint
VB.NET PDF Convert to HTML SDK: Convert PDF to html files in vb.
Convert PDF to HTML. |. Home ›› XDoc.PDF ›› VB.NET PDF: PDF to HTML. Convert PDF to HTML in VB.NET Demo Code. Add necessary references:
convert pdf into ppt online; how to change pdf to powerpoint slides
226    Chapter 5  Synchronous Sequential Logic
to a value of 0 immediately before the clock, and at the clock, the state makes a transition 
from 0 to 1, which is consistent with  Fig.   5.16   . The output is 1 in state  S 1 immediately before 
the clock, and changes to 0 as the state enters  S 0. 
The description of waveforms in the test bench uses the  fork . . . join  construct. State-
ments with the  fork . . . join  block execute in parallel, so the time delays are relative to 
a common reference of t = 0, the time at which the block begins execution.  
2
It is usually 
more convenient to use the  fork . . . join  block instead of the  begin . . . end  block in 
describing waveforms. Notice that the waveform of reset is triggered “on the fly” to 
demonstrate that the machine recovers from an unexpected (asynchronous) reset con-
dition during any state.  
How does our Verilog model  Mealy_Zero_Detector  correspond to hardware? The first 
always  block corresponds to a  D  flip-flop implementation of the state register in  Fig.   5.21   ; 
the second  always  block is the combinational logic block describing the next state; the 
third  always  block describes the output combinational logic of the zero-detecting Mealy 
machine. The register operation of the state transition uses the nonblocking assignment 
operator (< =) because the (edge-sensitive) flip-flops of a sequential machine are updated 
concurrently by a common clock. The second and third  always  blocks describe combina-
tional logic, which is level sensitive, so they use the blocking (=) assignment operator. 
t_clock
t_reset
t_x_in
state[1:0]
next_state[1:0]
t_y_out
0
Stream of 1s
30
60
90
0
1
0
3
1
2
3
0
1
3
1
0
0
1
1
0
3
1
0
0
Mealy glitch
valid Mealy output
0
FIGURE 5.22 
Simulation output of Mealy_Zero_Detector       
2  A  fork . . . join  block completes execution when the last executing statement within it completes its 
execution. 
C# powerpoint - Convert PowerPoint to PDF in C#.NET
C# PowerPoint - Convert PowerPoint to PDF in C#.NET. C# Demo: Convert PowerPoint to PDF Document. Add references: RasterEdge.Imaging.Basic.dll.
convert pdf to ppt online; and paste pdf into powerpoint
C# PDF Convert to HTML SDK: Convert PDF to html files in C#.net
Convert PDF to HTML. |. C#.NET PDF SDK - Convert PDF to HTML in C#.NET. How to Use C# .NET XDoc.PDF SDK to Convert PDF to HTML Webpage in C# .NET Program.
changing pdf to powerpoint; pdf conversion to powerpoint
Section 5.6  Synthesizable HDL Models of Sequential Circuits    227
Their sensitivity lists include both the state and the input because their logic must respond 
to a change in either or both of them. 
Note: The modeling style illustrated by  Mealy_Zero_Detector  is commonly used by 
designers because it has a close relationship to the state diagram of the machine that is 
being described. Notice that the reset signal is associated with the  always  block that 
synchronizes the state transitions. In this example, it is modeled as an active-low reset. 
Because the reset condition is included in the description of the state transitions, there 
is no need to include it in the combinational logic that specifies the next state and the 
output, and the resulting description is less verbose, simpler, and more readable. 
HDL Example 5.6 presents the Verilog behavioral model of the Moore FSM shown 
in  Fig.   5.18    and having the state diagram given in  Fig.   5.19   . The model illustrates an 
alternative style in which the state transitions of the machine are described by a single 
clocked (i.e., edge-sensitive) cyclic behavior, i.e., by one  always  block. The present state 
of the circuit is identified by the variable state, and its transitions are triggered by the 
rising edge of the clock according to the conditions listed in the  case  statement. The 
combinational logic that determines the next state is included in the nonblocking assign-
ment to state. In this example, the output of the circuits is independent of the input and 
is taken directly from the outputs of the flip-flops. The two-bit output y_out is specified 
with a continuous assignment statement and is equal to the value of the present state 
vector.  Figure   5.23    shows some simulation results for Moore_Model_Fig_5_19. Here 
aresome important observations: (1) the output depends on only the state, (2) reset 
“on-the-fly” forces the state of the machine back to S0 (00), and (3) the state transitions 
are consistent with  Fig.   5.19   . 
HDL Example 5.6 (Moore Machine: Zero Detector) 
// Moore model FSM (see  Fig.   5.19   ) 
Verilog 2001, 2005 syntax
module  Moore_Model_Fig_5_19 (
output  [1: 0]  
y_out,
input  
x_in, clock, reset
);
reg  [1: 0] 
state;
parameter  
S0 = 2'b00, S1 = 2'b01, S2 = 2'b10, S3 = 2'b11;
always  @ ( posedge  clock,  negedge  reset)
if  (reset == 0) state <= S0; 
// Initialize to state S0
else   case  (state)
S0: 
if  (~x_in) state <= S1;  else  state <= S0;
S1:  
if  (x_in)  state <= S2;  else  state <= S3;
S2: 
if  (~x_in) state <= S3;  else  state <= S2;
S3:  
if  (~x_in) state <= S0;  else  state <= S3;
endcase 
assign  y_out = state; 
// Output of fl ip-fl ops
endmodule     
VB.NET PDF Convert to Word SDK: Convert PDF to Word library in vb.
VB.NET PDF - Convert PDF to MS Office Word in VB.NET. VB.NET Tutorial for How to Convert PDF to Word (.docx) Document in VB.NET. Best
export pdf into powerpoint; add pdf to powerpoint presentation
VB.NET PDF Convert to Tiff SDK: Convert PDF to tiff images in vb.
VB.NET PDF - Convert PDF to TIFF Using VB in VB.NET. Free VB.NET Guide to Render and Convert PDF Document to TIFF in Visual Basic Class.
adding pdf to powerpoint; how to change pdf to powerpoint on
228    Chapter 5  Synchronous Sequential Logic
Structural Description of Clocked Sequential Circuits 
Combinational logic circuits can be described in Verilog by a connection of gates 
(primitives and UDPs), by dataflow statements (continuous assignments), or by level-
sensitive cyclic behaviors ( always  blocks). Sequential circuits are composed of com-
binational logic and flip-flops, and their HDL models use sequential UDPs and 
behavioral statements (edge-sensitive cyclic behaviors) to describe the operation of 
flip-flops. One way to describe a sequential circuit uses a combination of dataflow 
and behavioral statements. The flip-flops are described with an  always  statement. The 
combinational part can be described with  assign  statements and Boolean equations. 
The separate modules can be combined to form a structural model by instantiation 
within a  module . 
The structural description of a Moore-type zero detector sequential circuit is shown 
in HDL Example 5.7. We want to encourage the reader to consider alternative ways to 
model a circuit, so as a point of comparison, we first present  Moore_Model_Fig_5_20,  
a Verilog behavioral description of a binary counter having the state diagram examined 
earlier shown in  Fig.   5.20   (b). This style of modeling follows directly from the state dia-
gram. An alternative style, used in  Moore_Model_STR_Fig_5_20 represents the struc-
ture shown in  Fig.   5.20   (a). This style uses two modules. The first describes the circuit of 
Fig.   5.20   (a). The second describes the  T  flip-flop that will be used by the circuit. We also 
show two ways to model the T flip-flop. The first asserts that, at every clock tick, the 
value of the output of the flip-flop toggles if the toggle input is asserted. The second 
model describes the behavior of the toggle flip-flop in terms of its characteristic equa-
tion. The first style is attractive because it does not require the reader to remember the 
characteristic equation. Nonetheless, the models are interchangeable and will synthesize 
to the same hardware circuit. A test bench module provides a stimulus for verifying the 
functionality of the circuit. The sequential circuit is a two-bit binary counter controlled 
by input  x_in . The output,  y_out is enabled when the count reaches binary 11. Flip-flops 
0
30
60
reset on-the-fly
90
t_clock
t_reset
t_x_in
state[1:0]
t_y_out[1:0]
0
0
1
1
2
2
3
3
0
0
1
1
0
0
1
1
3
3
FIGURE 5.23 
Simulation output of HDL Example 5.6       
Section 5.6  Synthesizable HDL Models of Sequential Circuits    229
A  and  B  are included as outputs in order to check their operation. The flip-flop input 
equations and the output equation are evaluated with continuous assignment (assign) 
statements having the corresponding Boolean expressions. The instantiated  T  flip-flops 
use  TA  and  TB  as defined by the input equations. 
The second module describes the  T  flip-flop. The  reset  input resets the flip-flop to 0 
with an active-low signal. The operation of the flip-flop is specified by its characteristic 
equation,    Q(+ 1) = Q{T.    
The test bench includes both models of the machine. The stimulus module provides 
common inputs to the circuits to simultaneously display their output responses. The 
first initial block provides eight clock cycles with a period of 10 ns. The second  initial  
block specifies a toggling of input  x_in  that occurs at the negative edge transition of 
the clock. The result of the simulation is shown in  Fig.   5.24   . The pair ( A, B ) goes 
through the binary sequence 00, 01, 10, 11, and back to 00. The change in the count is 
triggered by a positive edge of the clock, provided that    x_in= 1.    If    x_in= 0,    the 
count does not change.  y_out  is equal to 1 when both  A  and  B  are equal to 1. This 
verifies the main functionality of the circuit, but not a recovery from an unexpected 
reset event. 
HDL Example 5.7 (Binary Counter_Moore Model) 
// State-diagram-based model (V2001, 2005)
module  Moore_Model_Fig_5_20 (
output  y_out,
input  x_in, clock, reset
);
reg  [1: 0] 
state;
parameter  
S0 = 2'b00, S1 = 2'b01, S2 = 2'b10, S3 = 2'b11;
always   @  ( posedge  clock,  negedge  reset)
if  (reset == 0) state <= S0; 
// Initialize to state S0
else   case  (state)
S0:   if  (x_in)  state <= S1;  else  state <= S0;
S1:   if  (x_in)  state <= S2;  else  state <= S1;
S2:   if  (x_in)  state <= S3;  else  state <= S2;
S3:   if  (x_in)  state <= S0;  else  state <= S3;
endcase 
assign  y_out = (state == S3); 
// Output of fl ip-fl ops
endmodule 
// Structural model
module  Moore_Model_STR_Fig_5_20 (
output  y_out, A, B,
input  
x_in, clock, reset
);
wire  
TA, TB;
// Flip-fl op input equations
assign  TA = x_in & B;
230    Chapter 5  Synchronous Sequential Logic
assign  TB = x_in;
// Output equation
assign  y_out = A & B;
// Instantiate Toggle fl ip-fl ops
Toggle_fl ip_fl op_3 M_A (A, TA, clock, reset);
Toggle_fl ip_fl op_3 M_B (B, TB, clock, reset);
endmodule 
module  Toggle_fl ip_fl op (Q, T, CLK, RST_b);
output   Q;
input  
T, CLK, RST_b;
reg   
Q;
always   @  ( posedge  CLK,  negedge  RST_b)
if  (RST_b == 0) Q <= 1'b0;
else   if  (T) Q <= ~Q; 
endmodule 
// Alternative model using characteristic equation
//   module  Toggle_fl ip_fl op (Q, T, CLK, RST_b);
//   output   Q;
//   input  T, CLK, RST_b;
//   reg   
Q;
//   always   @  ( posedge  CLK,  negedge  RST)
//    if  (RST_b == 0) Q <= 1'b0;
//    else  Q <= Q ^ T;
//   endmodule 
module  t_Moore_Fig_5_20;
wire   
t_y_out_2, t_y_out_1;
reg  
t_x_in, t_clock, t_reset;
Moore_Model_Fig_5_20  
M1(t_y_out_1, t_x_in, t_clock, t_reset);
Moore_Model_STR_Fig_5_20 
M2 (t_y_out_2, A, B, t_x_in, t_clock, t_reset);
initial  #200  $finish ;
initial   begin 
t_reset = 0;
t_clock = 0;
#5 t_reset = 1;
repeat  (16)
#5 t_clock = ~t_clock;
end 
initial begin 
t_x_in = 0;
#15 t_x_in = 1;
repeat  (8)
#10 t_x_in = ~t_x_in;
end 
endmodule      
Section 5.7  State Reduction and Assignment    231
Name
0
50
100
150
t_clock
t_reset
t_x_in
t_y_out_1
t_y_out_2
A
B
FIGURE 5.24 
Simulation output of HDL Example 5.7       
5.7    STATE REDUCTION AND ASSIGNMENT 
The  analysis  of sequential circuits starts from a circuit diagram and culminates in a state 
table or diagram. The  design  (synthesis) of a sequential circuit starts from a set of 
specifications and culminates in a logic diagram. Design procedures are presented in 
Section 5.8. Two sequential circuits may exhibit the same input–output behavior, but 
have a different number of internal states in their state diagram. The current section 
discusses certain properties of sequential circuits that may simplify a design by reduc-
ing the number of gates and flip-flops it uses. In general, reducing the number of flip-
flops reduces the cost of a circuit. 
State Reduction 
The reduction in the number of flip-flops in a sequential circuit is referred to as the 
state-reduction  problem. State-reduction algorithms are concerned with procedures for 
reducing the number of states in a state table, while keeping the external input–output 
requirements unchanged. Since  m  flip-flops produce    2
m
states, a reduction in the number 
of states may (or may not) result in a reduction in the number of flip-flops. An unpre-
dictable effect in reducing the number of flip-flops is that sometimes the equivalent 
circuit (with fewer flip-flops) may require more combinational gates to realize its next 
state and output logic. 
We will illustrate the state-reduction procedure with an example. We start with a sequen-
tial circuit whose specification is given in the state diagram of  Fig.   5.25   . In our example, only 
the input–output sequences are important; the internal states are used merely to provide 
the required sequences. For that reason, the states marked inside the circles are denoted 
232    Chapter 5  Synchronous Sequential Logic
by letter symbols instead of their binary values. This is in contrast to a binary counter, 
wherein the binary value sequence of the states themselves is taken as the outputs.  
There are an infinite number of input sequences that may be applied to the circuit; 
each results in a unique output sequence. As an example, consider the input sequence 
01010110100 starting from the initial state  a . Each input of 0 or 1 produces an output 
of 0 or 1 and causes the circuit to go to the next state. From the state diagram, we obtain 
the output and state sequence for the given input sequence as follows: With the circuit 
in initial state  a an input of 0 produces an output of 0 and the circuit remains in state  a . 
With present state  a  and an input of 1, the output is 0 and the next state is  b . With pres-
ent state  b  and an input of 0, the output is 0 and the next state is  c . Continuing this 
process, we find the complete sequence to be as follows:   
state 
 
 
 
 
 
 
 
 
 
 
 
 
input 
output 
In each column, we have the present state, input value, and output value. The next state 
is written on top of the next column. It is important to realize that in this circuit the states 
themselves are of secondary importance, because we are interested only in output 
sequences caused by input sequences. 
Now let us assume that we have found a sequential circuit whose state diagram has 
fewer than seven states, and suppose we wish to compare this circuit with the circuit 
whose state diagram is given by  Fig.   5.25   . If identical input sequences are applied to the 
two circuits and identical outputs occur for all input sequences, then the two circuits are 
said to be equivalent (as far as the input–output is concerned) and one may be replaced 
by the other. The problem of state reduction is to find ways of reducing the number of 
states in a sequential circuit without altering the input–output relationships. 
a
b
c
d
e
g
f
0/0
1/1
1/1
1/1
1/1
1/0
1/0
1/0
0/0
0/0
0/0
0/0
0/0
0/0
FIGURE 5.25 
State diagram       
Documents you may be interested
Documents you may be interested