i = 0; while ((sum_mag[wm-1-i]==sum_mag[wm-2-i])&& (max_exp>0)) begin sum_mag[wm-1 : 0] = {sum_mag[wm-2 : 0],0}; // signed shift max_exp = max_exp-1; i = i+1; end 比如上面的代码,由于循环次数不确定,不能通过编译 一般是通过设置一个循环上限,用if判断执行的办法转换,可是为了使代码正确,往往把上限社的比较大 这样在无须执行的时候也要处理这多次循环,所以希望大家一起探讨如何优化这个代码? |