[an error occurred while processing this directive]
|
module bbb (inp, outp);
parameter CHANNELS = 64;
input [CHANNELS-1:0] inp;
wire [CHANNELS-1:0] inp;
output [7:0] outp;
reg [7:0] outp;
integer j;
always @ (inp) begin
outp = 'dx;
for (j = CHANNELS-1; j >= 0; j = j - 1) begin
if (inp[j] != 0) begin
outp = j;
end
end
end
endmodule
Будучи оттранслирован для Циклона с быстродействием 6, обеспечивает быстродействие порядка 10нс, что вполне для моего случая достаточно.
P.S. Не в обиду, хороший компилятор часто оказывается умнее программиста +(:->)=
E-mail: info@telesys.ru