背景:最近一个客户使用Vivado里面的ScalerIP做设计,碰到了一个奇怪的问题。过程是这样的,为了尽快熟悉scalerIP的用法,他在vivado里面搭建了一个最基本的仿真环境,scalerIP被配置成1:1的放大模式,固定分辨率,固定参数,输入输出都是axistream接口。但是当仿真环境跑起来之后,他却发现,虽然输入和输出的axi-stream控制信号(包括valid,ready,sof,last信号)都是正常的,但是输出的数据却一直都是0。
我首先帮助客户检查了输入和输出的axi-stream控制信号,确认了这些信号都是正确无误的,如下。那说明问题可能出在IP的配置上。
客户的IP配置界面如下,问题一下就暴漏了出来,原来客户没有设置滤波器系数初始化文件,这样所有的滤波器的系数值都是0,当然最后输出的结果也都是0。
Xilinx的Scaler IP提供了一套默认的滤波器系数供客户选择使用,可以在CoefficientFile一栏选择如下设置:
当然用户也可以设计自己的滤波器系数来使用。Scaler IP对图像放大和缩小的效果,跟滤波器系数有着显著直接的关系,如何设计适合的滤波器系数,就得需要深厚的数字信号处理理论功底了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)