算法类IP由于直接比较结果数据往往debug较为困难。
所以,在算法类IP仿真中往往需要输出中间变量与算法同事编写的C model中间变量进行比对,从而定位设计问题,进行debug。
以下代码是testebench一种较为典型的中间数据输出形式,要求与算法同事商定好输出数据格式一致,用beyond conpare或是vim diff进行数据比对定位问题。
initial
begin
handle = $fopen("debug file path/debug.txt","wb");
while(1)
begin
wait(.............); //event
@(posedge .........clk)
for(...........) //对输出文件debug.txt循环写入中间结果数据
begin
if(..............) //触发事件
$fdisplay(handle,"%h",变量名); //dispaly 自动换行。将变量数据输出至文件
else if(.............) //触发事件
$fwrite(handle,"%h+空格",变量名); //输出数据和空格
end
end
本文介绍了一种用于算法类IP仿真的典型调试方法:通过输出中间变量并与Cmodel进行对比来定位设计问题。文中提供了一个具体的代码示例,展示了如何设置事件触发及数据输出格式。

被折叠的 条评论
为什么被折叠?



