微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > modelsim仿真结果出问题,求大神帮忙

modelsim仿真结果出问题,求大神帮忙

时间:10-02 整理:3721RD 点击:
我做一个单精度浮点加减法器,modelsim仿真结果出来一个不正确的地方,我找到了问题代码的位置,可是这里逻辑和语法根本没有问题,求大神看看,下面是问题verilog代码: always@(posedgeclk or negedge rst)
if(!rst)
       C<=0;
else  if(C_m==0) C<=0;
else  if(sum_w[24]==1)
          C<={C_f,(C_m+1),sum_w[23:1]};
else  if(sum_w[23]==1)
          C<={C_f,C_m,sum_w[22:0]};
else  if(sum_w[22]==1)
          C<={C_f,(C_m-1),sum_w[21:0],1'b0};
else  if(sum_w[21]==1)
          C<={C_f,(C_m-2),sum_w[20:0],2'b00};
else  if(sum_w[20]==1)
          C<={C_f,(C_m-3),sum_w[19:0],3'b000};
else  if(sum_w[19]==1)
          C<={C_f,(C_m-4),sum_w[18:0],4'b0000};
else  if(sum_w[18]==1)
          C<={C_f,(C_m-5),sum_w[17:0],5'b00000};
else  if(sum_w[17]==1)
          C<={C_f,(C_m-6),sum_w[16:0],6'b000000};
else  if(sum_w[16]==1)
          C<={C_f,(C_m-7),sum_w[15:0],7'b0000000};
else  if(sum_w[15]==1)
          C<={C_f,(C_m-8),sum_w[14:0],8'b00000000};
else  if(sum_w[14]==1)
          C<={C_f,(C_m-9),sum_w[13:0],9'b000000000};
else  if(sum_w[13]==1)
          C<={C_f,(C_m-10),sum_w[12:0],10'b0000000000};
else  if(sum_w[12]==1)
          C<={C_f,(C_m-11),sum_w[11:0],11'b00000000000};
else  if(sum_w[11]==1)
          C<={C_f,(C_m-12),sum_w[10:0],12'b000000000000};
else  if(sum_w[10]==1)
          C<={C_f,(C_m-13),sum_w[9:0],13'b0000000000000};
else  if(sum_w[9]==1)
          C<={C_f,(C_m-14),sum_w[8:0],14'b00000000000000};
else  if(sum_w[8]==1)
          C<={C_f,(C_m-15),sum_w[7:0],15'b000000000000000};
else  if(sum_w[7]==1)
          C<={C_f,(C_m-16),sum_w[6:0],16'b0000000000000000};
else  if(sum_w[6]==1)
          C<={C_f,(C_m-17),sum_w[5:0],17'b00000000000000000};
else  if(sum_w[5]==1)
          C<={C_f,(C_m-18),sum_w[4:0],18'b000000000000000000};
else  if(sum_w[4]==1)
          C<={C_f,(C_m-19),sum_w[3:0],19'b0000000000000000000};
else  if(sum_w[3]==1)
          C<={C_f,(C_m-20),sum_w[2:0],20'b00000000000000000000};
else  if(sum_w[2]==1)
          C<={C_f,(C_m-21),sum_w[1:0],21'b000000000000000000000};
else  if(sum_w[1]==1)
          C<={C_f,(C_m-22),sum_w[0],22'b0000000000000000000000};
else  if(sum_w[0]==1)
          C<={C_f,(C_m-23),23'b00000000000000000000000}; 下面是仿真结果有问题的截图:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top