nd
else begin
max_p1_1<=0;
max_p1_2<=0;
max_p1_3<=0;
min_p1_1<=0;
min_p1_2<=0;
min_p1_3<=0;
med_p1_1<=0;
med_p1_2<=0;
med_p1_3<=0;
end
end
//---------------------------------------------------------------------- 第二阶段
//最大值的大中小
compare u14_compare(
.data_a (max_p1_1) ,
.data_b (max_p1_2) ,
.data_c (max_p1_3) ,
.data_max(max_2_max) ,
.data_min(max_2_min) ,
.data_med(max_2_med)
);
//最小值中的大中小
compare u15_compare(
.data_a (min_p1_1) ,
.data_b (min_p1_2) ,
.data_c (min_p1_3) ,
.data_max(min_2_max) ,
.data_min(min_2_min) ,
.data_med(min_2_med)
);
//中的大中小
compare u16_compare(
.data_a (med_p1_1) ,
.data_b (med_p1_2) ,
.data_c (med_p1_3) ,
.data_max(med_2_max) ,
.data_min(med_2_min) ,
.data_med(med_2_med)
);
always @(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
//max_p2_max<=0;
max_p2_min<=0;
max_p2_med<=0;
min_p2_max<=0;
// min_p2_min<=0;
min_p2_med<=0;
med_p2_max<=0;
med_p2_min<=0;
med_p2_med<=0;
end
else if(per_href_ff2==1&&flag_do==1) begin
// max_p2_max<= max_2_max; //舍弃最大值
max_p2_min<= max_2_min;
max_p2_med<= max_2_med;
min_p2_max<= min_2_max;
// min_p2_min<= min_2_min;//舍弃的最小值
min_p2_med<= min_2_med;
med_p2_max<= med_2_max ;
med_p2_min<= med_2_min ;
med_p2_med<= med_2_med ;
end
else begin
// max_p2_max<=0;
max_p2_min<=0;
max_p2_med<=0;
min_p2_max<=0;
// min_p2_min<=0;
min_p2_med<=0;
med_p2_max<=0;
med_p2_min<=0;
med_p2_med<=0;
end
end
//----------------------------------------------------------------------第三阶段ff4
//最大
compare u17_compare(
. data_a (max_p2_med),
. data_b (min_p2_max),
. data_c (med_p2_max),
. data_max(),
. data_min(max_3_min),
. data_med(max_3_med)
);
//最小
compare u18_compare(
. data_a (max_p2_min),
. data_b (med_p2_min),
. data_c (min_p2_med),
. data_max(min_3_max),
. data_min(),
. data_med(min_3_med)
);
always @(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
max_p3_med <=0 ;
max_p3_min <=0 ;
med_p3 <=0 ;
min_p3_max <=0 ;
min_p3_med <=0 ;
end
else if(per_href_ff3==1&&flag_do==1)begin
max_p3_med <= max_3_med ;
max_p3_min <= max_3_min ;
med_p3 <= med_p2_med;
min_p3_max <= min_3_max ;
min_p3_med <= min_3_med ;
end
else begin
max_p3_med <=0 ;
max_p3_min <=0 ;
med_p3 <=0 ;
min_p3_max <=0 ;
min_p3_med <=0 ;
end
end
//----------------------------------------------------------------------第4阶段
compare_2 u1_compare_2(
.dat_1 (max_p3_med) ,
.dat_2 (max_p3_min),
.dat_max (max_4_max),
.dat_min (max_4_min)
);
compare u19_compare(
. data_a (med_p3),
. data_b (min_p3_max),
. data_c (min_p3_med),
. data_max(min_4_max),
. data_min(min_4_med),
. data_med(min_4_min)
);
always @(posedge clk or negedge rst_n)begin
if(rst_n==1'b0)begin
max_p4_max <=0 ;
max_p4_min <=0 ;
min_p4_max <=0 ;
min_p4_med <=0 ;
min_p4_min <=0 ;
end
else if(per_href_ff4&&flag_do==1)begin
max_p4_max <=max_4_max ;
max_p4_min <=max_4 |