lucien_1986的个人空间 https://blog.eetop.cn/lucien [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

V6 CRC使用注意事项

已有 998 次阅读| 2011-10-30 15:32 |个人分类:BUG跟踪公布

          在XILINX的V6系列中,如果需要使用到和V5一样的CRC32模块,但是V6芯片中没有CRC32硬核,这时FAE可能会告诉你,可以用V5系列中的CRC32仿真文件作为可综合文件来使用。这个文件为verilog文件,的确是可以综合使用的。但是有一个问题:它如果达不到时序要求是不会报错的。也就是说,即使不能满足时序要求,在ISE的Timing Report中也不会有它的错误报告。因此,如果我们跑的时钟比较高,它的布线不满足时序要求,我们是无法知道的,也就找不到错误原因。

          这个问题曾经困扰了我整整一星期,最终才找到原因,所以分享出来,让大家避免出这个错误。我是在156.25M时钟下使用的,跑出来的结果不是很稳定,有时候CRC32算出来是正确的,有时候是错误的。如果各位使用的时钟频率比较低,还是可以用该仿真文件作为可综合代码来使用的。

          迫于要在156.25M的时钟下稳定的计算CRC32,我自己写出了一个和V5中CRC32功能、时序一样的CRC32模块,代码质量还颇为不错,简洁高效。在156.25M的时钟下是能稳定工作的,最高应该能跑在160M左右。我用它在10G以太网MAC模块中计算64位输入的CRC32,运行很稳定。

         最新发现,将V5系列中的CRC32仿真文件作为可综合文件来使用时,不稳定的原因是,仿真文件代码中有一个latch,不会进行时序分析,所以即使不能满足时序在ISE时序报告中也体现不出来。将latch改掉即可放心使用。

 

-------------------------------------------------------------------------------------------------------------

更多精彩内容,请登录博客:

http://blog.163.com/fpga_ip/


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 3

    粉丝
  • 0

    好友
  • 0

    获赞
  • 32

    评论
  • 926

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 07:55 , Processed in 0.024203 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部