FPGA时序Bug分析

时间:2025-04-28  作者:Diven  阅读:0

最近做项目遇到一个bug。

FPGA时序Bug分析

Bug的现象是这样的,假设我们跑一次test,结果正确为T,结果不正确为F。
那么如果连续跑多次test,开始几次的test结果都为T,从第N次开始,结果为F。
关键N不是一个固定的值。

考虑到单次test没有外部事件的干扰,N为一个随机值就让我感觉很像是因为时序出错的原因导致的。

这里的时序出错不是setup/hold violation,而是类似握手信号这样的时序关系。

后来检查出错部分相关的代码,发现果然是因为ready信号导致的时序错误。
ready信号会随机拉高,在某种case下便导致了时序错误。

再仔细想想,如果testbench写得完整一些,这个bug完全是可以避免的。
比如一个设计要发送一个TCP包,但是testbench只检查 TCP包的data部分,而不检查header部分。
那如果tcp checksum算错,testbench是发现不了的。
上板子测试才发现,去debug,花费的时间力气就不是一个量级的了。


审核编辑:刘清

猜您喜欢

橡皮圈是由橡胶或合成材料制成的环状物品,通常用于固定、绑扎或密封物品。主要特点是弹性强、耐磨损,能够在一定程度上恢复原形。橡皮圈应用于日常生活中,例如用来束紧包...
2009-05-18 00:00:00

一、简介1.MPU6050是一种常用的六轴姿态传感器模块,结合了三轴陀螺仪和三轴加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion ...
2023-09-27 13:49:00

贴片电阻上的「252」标识并非直接代表阻值,而是采用数字编码表示。其中,「25」代表有效数字,而最后的「2」代表10的幂次方。具体来说,「25」代表有效数字25...
2024-11-26 11:29:20

1 xilinx fir ip 简介1)符合 AXI4-Stream 的接口2)高性能有限脉冲响应(FIR),多相抽取器,多相内插器,半带,半带抽取器和半带...
2020-08-29 09:44:00

红色发光二极管(LED)因其高效、耐用和色彩鲜艳而应用于各种照明和显示设备中。尽管红色LED的工作原理相对简单,但了解其工作电流对于确保其正常运行和延长使用寿命...
2025-03-31 08:00:02

LED灯带以其节能、环保、寿命长等优点,在家居照明、商业照明等领域得到越来越的应用。然而,要打造出完美的灯光效果,选对合适的LED灯带驱动器很重要。一、了解灯带...
2024-10-14 00:00:00

链条扳手是应用于多个领域的工具,因其独特的设计和强大的功能而受到青睐。在机械维修和保养中,链条扳手可以轻松拆卸和安装各种链条齿轮,确保设备的正常运转。在汽车行业...
2010-08-13 00:00:00



印台与印油,作为日常办公与创意表达不可少的工具,其应用领域而有趣。在正式场合,化身商务名片、合同文件的规范标识,确保信息传递的专业与权威。教育领域内,学生用其创...
2024-12-23 00:00:00