你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

XILINX V6 CRC使用注意事项【经验分享】

发布者:jackzhang 时间:2012-11-28 18:33:03

转自EETOP论坛,原文链接:http://bbs.eetop.cn/thread-311517-1-2.html

在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改掉即可放心使用。

最新课程

  • 深入浅出玩儿转FPGA

    本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

  • 从零开始大战FPGA基础篇

    本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

  • Verilog基础及典型数字

    课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了