buzzerflyer
Newbie level 3
module (img, m, v, reset, clk, nimg);
input reset, clk;
input [7:0] img, m, v; //img = I(x,y)
//m=mean
//v=variance
output nimg;
reg [1:0] y, Y;
parameter [1:0] S0=2'b00, S1=2'b01, S2=2'b10;
//NS Logic and Image Normalization Submodule
always @ (img or y)
begin
case
S0: if (img>m) Y=S1; else Y=S2;
S1: nimg=m+sqroot(v.img^2/v); Y=S0;
S2: nimg=m-sqroot(v.img^2/v); Y=S0;
endcase
end
//State register submodule
always @ (negedge reset or posedge clk)
if (!reset) y<=S0;
else y<=Y;
endmodule
input reset, clk;
input [7:0] img, m, v; //img = I(x,y)
//m=mean
//v=variance
output nimg;
reg [1:0] y, Y;
parameter [1:0] S0=2'b00, S1=2'b01, S2=2'b10;
//NS Logic and Image Normalization Submodule
always @ (img or y)
begin
case
S0: if (img>m) Y=S1; else Y=S2;
S1: nimg=m+sqroot(v.img^2/v); Y=S0;
S2: nimg=m-sqroot(v.img^2/v); Y=S0;
endcase
end
//State register submodule
always @ (negedge reset or posedge clk)
if (!reset) y<=S0;
else y<=Y;
endmodule