Я разрабатываю код verilog для метода кумулятивной гистограммы для медианного фильтра. он использует вложенные циклы for, так что ввод второго цикла for зависит от вывода первого цикла for. проблема заключается здесь. Второй цикл for не принимает этот ввод. пожалуйста помоги. код
module median(a, b,k,n,h);
input [4:0] a;
output [255:0] b;
output k,n,h;
reg [255:0] b;
reg [255:0]k,n,h;
always @(a) begin
for (n=0;n < 256;n=n+1)
b[n]=0;
for (n=0;n<=4;n=n+1) begin
b[a[n]]=b[a[n]]+1;
h=a[n]+1;
for ( k = h;k <=255;k = k+1) begin
b[k]=b[k]+1;
end
end
for (n=0;n<=255 ;n=n+1) begin
if(b[n]==3)begin
$display ("the median is %d",n);
end
end
end
endmodule
n
в качестве выхода, в моделировании это всегда будет выглядеть как максимальное значение. Я бы рекомендовал писать как синхронизированный процесс и использовать несколько тактов для вычисления результата. - person Morgan   schedule 27.02.2016