Advertisement
Guest User

Untitled

a guest
May 8th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module Mealy_style_2(
  2.     input clk,reset,
  3.     input [2:0] x,
  4.     output reg [2:0] y);
  5.    
  6.     (* keep *) reg [1:0] state, next;
  7.    
  8.     localparam [1:0]
  9.         s0=2'b00,
  10.         s1=2'b01,
  11.         s2=2'b10,
  12.         s3=2'b11;
  13.    
  14.     always @(posedge clk, negedge reset)
  15.         if (~reset)     state <= s0;
  16.         else       
  17.             case (state)
  18.                 s0: state = s1;
  19.                 s1: if (~x[0])          state = s2;
  20.                     else if (~x[1] && x[0])     state = s3;
  21.                     else if (~x[2] && x[1] && x[0]) state = s0;
  22.                     else                state = s0;
  23.                 s2: if (~x[2])  state = s0;
  24.                     else        state = s0;
  25.                 s3: state = s0;
  26.             endcase
  27.     always @(*)
  28.         case (state)
  29.             s0: y = 3'b011;
  30.             s1: if (~x[0])        y = 3'b101;
  31.                 else if (~x[1] && x[0])     y = 3'b001;
  32.                 else if (~x[2] && x[1] && x[0]) y = 3'b100;
  33.                 else                y = 3'b010;
  34.             s2: if (~x[2])  y = 3'b100;
  35.                 else        y = 3'b010;
  36.             s3: y = 3'b100;
  37.         endcase
  38. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement