Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Mealy_style_2(
- input clk,reset,
- input [2:0] x,
- output reg [2:0] y);
- (* keep *) reg [1:0] state, next;
- localparam [1:0]
- s0=2'b00,
- s1=2'b01,
- s2=2'b10,
- s3=2'b11;
- always @(posedge clk, negedge reset)
- if (~reset) state <= s0;
- else
- case (state)
- s0: state = s1;
- s1: if (~x[0]) state = s2;
- else if (~x[1] && x[0]) state = s3;
- else if (~x[2] && x[1] && x[0]) state = s0;
- else state = s0;
- s2: if (~x[2]) state = s0;
- else state = s0;
- s3: state = s0;
- endcase
- always @(*)
- case (state)
- s0: y = 3'b011;
- s1: if (~x[0]) y = 3'b101;
- else if (~x[1] && x[0]) y = 3'b001;
- else if (~x[2] && x[1] && x[0]) y = 3'b100;
- else y = 3'b010;
- s2: if (~x[2]) y = 3'b100;
- else y = 3'b010;
- s3: y = 3'b100;
- endcase
- endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement