You are on page 1of 5

`timescale 1 ns / 1 ns

module histRGB_fixpt
(rr,
gg,
bb,
nbins,
rhist [0:255],
ghist [0:255],
bhist [0:255]);

input [7:0] rr; // ufix8


input [6:0] gg; // ufix7
input [5:0] bb; // ufix6
output [8:0] nbins; // ufix9
output rhist [0:255];
output ghist [0:255];
output bhist [0:255];

wire [8:0] nBins_1; // ufix9


wire signed [31:0] tmp; // int32
real idx; // double
wire tmp_1;
wire signed [7:0] y_y [0:255]; // int8 [256]
wire signed [31:0] tmp_2; // int32
reg signed [7:0] y_y_1 [0:255]; // int8 [256]
reg signed [7:0] y_y_2 [0:255]; // int8 [256]
wire signed [7:0] tmp_3 [0:255]; // int8 [256]
wire [0:255] tmp_4; // ufix1 [256]
wire signed [31:0] tmp_5; // int32
real idx_1; // double
wire tmp_6;
wire signed [7:0] y_y_3 [0:255]; // int8 [256]
wire signed [31:0] tmp_7; // int32
reg signed [7:0] y_y_4 [0:255]; // int8 [256]
reg signed [7:0] y_y_5 [0:255]; // int8 [256]
wire signed [7:0] tmp_8 [0:255]; // int8 [256]
wire [0:255] tmp_9; // ufix1 [256]
wire signed [31:0] tmp_10; // int32
real idx_2; // double
wire tmp_11;
wire signed [7:0] y_y_6 [0:255]; // int8 [256]
wire signed [31:0] tmp_12; // int32
reg signed [7:0] y_y_7 [0:255]; // int8 [256]
reg signed [7:0] y_y_8 [0:255]; // int8 [256]
wire signed [7:0] tmp_13 [0:255]; // int8 [256]
wire [0:255] tmp_14; // ufix1 [256]
reg signed [31:0] p0y_t_0; // int32
reg signed [31:0] p0y_t_01; // int32
reg signed [31:0] p0y_t_02; // int32
reg signed [31:0] p0y_t_03; // int32
reg signed [31:0] p0y_t_04; // int32
reg signed [31:0] p0y_t_05; // int32
integer i;

assign nBins_1 = 9'b100000000;


assign nbins = nBins_1;

assign tmp = {24'b0, rr};

always @* idx = (tmp * 255.0) + 0.5;

assign tmp_1 = idx > 255.0;

for (i=0;i<=255;i=i+1)
begin
assign y_y[i] = 8'sd0;
end

assign tmp_2 = $rtoi(idx);

always @* begin
//HDL code generation from MATLAB function: histRGB_fixpt_falseregionp27

for(p0y_t_0 = 32'sd0; p0y_t_0 <= 32'sd255; p0y_t_0 = p0y_t_0 + 32'sd1) begin


y_y_1[p0y_t_0] = y_y[p0y_t_0];
end

y_y_1[tmp_2] = 8'sd1;
end

always @* begin
//HDL code generation from MATLAB function: histRGB_fixpt_trueregionp27

for(p0y_t_01 = 32'sd0; p0y_t_01 <= 32'sd255; p0y_t_01 = p0y_t_01 + 32'sd1)


begin
y_y_2[p0y_t_01] = y_y[p0y_t_01];
end

y_y_2[255] = 8'sd1;
end

for (i=0;i<=255;i=i+1)
assign tmp_3[i] = (tmp_1 == 1'b0 ? y_y_1[i] :
y_y_2[i]);

for (i=0;i<=255;i=i+1)
assign tmp_4[i] = tmp_3[i][0];
for (i=0;i<=255;i=i+1)
assign rhist[i] = tmp_4[i];

assign tmp_5 = {25'b0, gg};

always @* idx_1 = (tmp_5 * 255.0) + 0.5;

assign tmp_6 = idx_1 > 255.0;

for (i=0;i<=255;i=i+1)
assign y_y_3[i] = 8'sd0;

assign tmp_7 = $rtoi(idx_1);

always @* begin

for(p0y_t_02 = 32'sd0; p0y_t_02 <= 32'sd255; p0y_t_02 = p0y_t_02 + 32'sd1)


begin
y_y_4[p0y_t_02] = y_y_3[p0y_t_02];
end

y_y_4[tmp_7] = 8'sd1;
end

always @* begin

for(p0y_t_03 = 32'sd0; p0y_t_03 <= 32'sd255; p0y_t_03 = p0y_t_03 + 32'sd1)


begin
y_y_5[p0y_t_03] = y_y_3[p0y_t_03];
end

y_y_5[255] = 8'sd1;
end

for (i=0;i<=255;i=i+1)
assign tmp_8[i] = (tmp_6 == 1'b0 ? y_y_4[i] :
y_y_5[i]);

for (i=0;i<=255;i=i+1)
assign tmp_9[i] = tmp_8[i][0];

for (i=0;i<=255;i=i+1)
assign ghist[i] = tmp_9[i];

assign tmp_10 = {26'b0, bb};

always @* idx_2 = (tmp_10 * 255.0) + 0.5;

assign tmp_11 = idx_2 > 255.0;

for (i=0;i<=255;i=i+1)
assign y_y_6[i] = 8'sd0;

assign tmp_12 = $rtoi(idx_2);

always @* begin

for(p0y_t_04 = 32'sd0; p0y_t_04 <= 32'sd255; p0y_t_04 = p0y_t_04 + 32'sd1)


begin
y_y_7[p0y_t_04] = y_y_6[p0y_t_04];
end

y_y_7[tmp_12] = 8'sd1;
end

always @* begin

for(p0y_t_05 = 32'sd0; p0y_t_05 <= 32'sd255; p0y_t_05 = p0y_t_05 + 32'sd1)


begin
y_y_8[p0y_t_05] = y_y_6[p0y_t_05];
end

y_y_8[255] = 8'sd1;
end

for (i=0;i<=255;i=i+1)
assign tmp_13[i] = (tmp_11 == 1'b0 ? y_y_7[i] :
y_y_8[i]);

for (i=0;i<=255;i=i+1)
assign tmp_14[i] = tmp_13[i][0];

for (i=0;i<=255;i=i+1)
assign bhist[i] = tmp_14[i];

endmodule // histRGB_fixpt

You might also like