blob: 85cf60fba8504581076abd76e301a943c0576f57 [file] [log] [blame]
`timescale 1ns / 1ps
module el_t_mid#(
parameter IN_NUM = 3
)
(
//------------------------------------
input [IN_NUM-1 : 0] in,
//---------OUT------------------------
output out
//------------------------------------
);
localparam SUM_W = 32; //Could use clog2, dont want to risk it being unsuported
reg [SUM_W - 1:0] sum = 0;
reg out_r = 0;
assign out = out_r;
integer in_idx;
always@(*)
begin
sum = 0;
for (in_idx = 0; in_idx < IN_NUM; in_idx = in_idx + 1)
begin
sum = sum + in[in_idx];
end
if(sum >= ((IN_NUM+1)/2) )
begin
out_r = 1;
end
else
begin
out_r = 0;
end
end
endmodule