查看: 2837|回复: 3

[提问] 新手求助

[复制链接]
发表于 2013-3-15 10:34:23 | 显示全部楼层 |阅读模式
下面是CRC校验码产生程序,求大神解释它是怎么实现他的功能的。我研究两天了都没搞明白。
module CRC16_SER(
    Reset,Gclk,Soc,Data_in,Crc_out);
         input Reset,Gclk,Soc,Data_in;
         output[15:0] Crc_out;
         wire Reset,Gclk,Soc,Data_in;
         reg[15:0] Crc_out;
         reg Temp;
         integer i,j,k,l;
         parameter U_DLY=1;
         always@(posedge Reset or posedge Gclk)
      begin
       if(Reset)
         Crc_out<=#U_DLY 16'b0;
       else if(Soc==1'b1)
         Crc_out<=#U_DLY 16'b0;
        else
          begin
            Temp=Data_in^Crc_out[15];
            for(j=15;j>12;j=j-1)
               Crc_out[j]<=#U_DLY Crc_out[j-1];
             Crc_out[12]<=#U_DLY Temp^Crc_out[11];
             for(k=11;k>5;k=k-1)
                Crc_out[k]<=#U_DLY Crc_out[k-1];
              Crc_out[5]<=#U_DLY Temp^Crc_out[4];
              for(l=4;l>0;l=l-1)
                 Crc_out<=#U_DLY Crc_out[l-1];
               Crc_out[0]<=#U_DLY Temp;
end
end                                       


endmodule
发表于 2013-3-17 00:52:54 | 显示全部楼层
有什么看不懂?哪儿看不懂?

这个应该是仿真的代码,for是不能综合的语句哈

看不懂我估计是对verilog语法不熟吧,呵呵,这个只能先把这些基本问题搞定再说了
发表于 2013-3-18 11:45:35 | 显示全部楼层
谢谢lelee!
发表于 2013-4-6 14:17:24 | 显示全部楼层
谢谢你
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表