matlab输入数据不对应,C-Model的输入数据和IP仿真的输入不完全一致

有很多客户在比较FFTC-Model仿真和FFTIP前仿遇到问题。今天赛灵思技术专家对此提出三种原因和解决办法。

总结下来,原因大概有三种:

C-Model的输入数据和IP仿真的输入不完全一致

C-Model的参数设置和IP的参数设置不完全一致

出现overflow

C-Model的输入数据和IP仿真的输入不完全一致

这里面需要注意的是,FFTC-Modelfixedpointinterface需要的输入数据范围在(-1,1)之间,而且是signedtwo's-complement(二进制补码有符号数),数据位宽是C_INPUT_WIDTH.小数点在C_INPUT_WIDTH–1,否则会报警.但Matlab的数据是complexdouble-precisionfloating-pointdata,所以需要用到Matlab的quantize来把数据量化.

5601b27e2c465a16e7289ecde8840e2f.png

acffbd3aba68cf2f3cb5d305458a42ad.png

cd75089d1ad3cccb9801bac94f05190b.png

显然FFTIP前仿是不需要量化的,因为对于FPGA没有小数点位.

为了保证这这个仿真的输入数据一致,建议把量化后的数据也作为FFTIP前仿的输入数据,因为量化之后是小数,可以乘以2^(C_INPUT_WIDTH–1),转为整数,注意这还是二进制补码数.

C-Model的参数设置和IP的参数设置不完全一致

scaling_sch在C-Model和IPcore的顺序是反的,例如scaling_sch[0]是第一个数据,scaling_sch[1]是第二个,但在FFTIP上需要把它们的顺序到过来,也就是scaling_sch[0]是最后一个数据,scaling_sch[1]是倒数第二个。

dd269af38c6139cf11b5d5a6a6748aa1.png

ec196e8c7b792fc8a3d7c8ed6204ba75.png

55b92efadbb175e46c7623f9e9374c42.png

Overflow

22596c161e235bb16a5b6d717d8662c4.png

责任编辑:lq

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值