verilog要怎么对一组数取其中绝对值最大的那个数
时间:10-02
整理:3721RD
点击:
这个是我写的代码 然而并不对。是不是我的思路就有问题 谢谢大家的帮助
module mas( a,res,clk,rst_n);
input clk,rst_n;
input signed[31:0]a;
output signed[30:0] res;
wire[30:0]result;
wire[30:0] X[9999:0];
genvar i;
generate
for(i=1;i==10000;i=i+1) begin:abs00
mas0 u0 (.clk (clk),.rst_n (rst_n),.a (a),.result (result));
assign X[10000-i] = result;
end
endgenerate
reg signed[30:0] max;
always@(posedge clk) max <= X[N];
genvar N;
generate
for(N=10000;N==0;N=N-1) begin:ma
if(max < X[N-1])
max <= X[N-1];
end
endgenerate
module mas( a,res,clk,rst_n);
input clk,rst_n;
input signed[31:0]a;
output signed[30:0] res;
wire[30:0]result;
wire[30:0] X[9999:0];
genvar i;
generate
for(i=1;i==10000;i=i+1) begin:abs00
mas0 u0 (.clk (clk),.rst_n (rst_n),.a (a),.result (result));
assign X[10000-i] = result;
end
endgenerate
reg signed[30:0] max;
always@(posedge clk) max <= X[N];
genvar N;
generate
for(N=10000;N==0;N=N-1) begin:ma
if(max < X[N-1])
max <= X[N-1];
end
endgenerate