1.debug 设计之直方图
在芯片测试过程和定位过程中,我们经常需要了解数据的分布规律,例如发起读请求到收到读返回的延时,单位周期内发起的、接收到的、已处理的请求数量的分布。例如,PCIe 发起 memrd 到收到 cpld 的延时分布,从而判断是否存在少量 cpld 返回的延时过大,从而对整体性能造成影响。例如,根据单位时间内发包数量的分布规律,从而判断数据的处理是否稳定,是否存在较大的突发流量以及是否存在较多的低流量周期。
(此图是虚构图)
2.直方图的统计原理
统计原理很简单,如果输入的数据 i_data_val 小于第一个阈值 i_cfg_th[0],则统计 o_cnt[0]加 1,如果输入的数据 i_data_val 大于第 1 个阈值 i_cfg_th[0]且小于第 2 个阈值 i_cfg_th[1],则统计 o_cnt[1]加 1,如果输入的数据 i_data_val 大于第 2 个阈值 i_cfg_th[1]且小于第 3 个阈值 i_cfg_th[2],则统计 o_cnt[2]加 1,依次类推,完成所有统计判断。
3.如何使用
在部分场景中,直方图的输入需要其他模块配合,例如首先要获得固定周期内统计数据,例如统计 1ms 内的发包数量分布规律,首先需要其他模块完成 1ms 内的发包数量统计计数,然后将此计数作为 i_data_val 并且产生 i_data_vld。例如获取读返回的延时分布,首先需求其他模块完成延时统计,然后作为 i_data_val 和 i_data_vld 信号送给直方图统计模块。
更多 debug 设计见“debug 设计合集”
END
作者:IC小鸽
文章来源:IC小鸽
推荐阅读
https://aijishu.com/a/1060000...
更多 IC 设计干货请关注IC设计专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。