有很多客户在比较FFT C-Model仿真和 FFTIP前仿遇到问题。今天赛灵思技术专家对此提出三种原因和解决办法。
总结下来, 原因大概有三种:
C-Model 的输入数据和 IP 仿真的输入不完全一致
C-Model 的参数设置和 IP 的参数设置不完全一致
出现 overflow
C-Model的输入数据和IP仿真的输入不完全一致
这里面需要注意的是, FFT C-Model fixedpoint interface 需要的输入数据范围在(-1,1)之间, 而且是 signed two's-complement (二进制补码有符号数), 数据位宽是 C_INPUT_WIDTH. 小数点在 C_INPUT_WIDTH – 1, 否则会报警. 但 Matlab 的数据是 complex double-precisionfloating-point data, 所以需要用到 Matlab 的 quantize 来把数据量化.



显然 FFT IP 前仿是不需要量化的,因为对于 FPGA 没有小数点位.
为了保证这这个仿真的输入数据一致, 建议把量化后的数据也作为 FFT IP 前仿的输入数据, 因为量化之后是小数, 可以乘以 2^(C_INPUT_WIDTH – 1) ,转为整数, 注意这还是二进制补码数.
C-Model的参数设置和IP的参数设置不完全一致
scaling_sch在C-Model和IP core的顺序是反的, 例如scaling_sch[0]是第一个数据, scaling_sch[1] 是第二个,但在 FFT IP 上需要把它们的顺序到过来, 也就是 scaling_sch[0] 是最后一个数据, scaling_sch[1] 是倒数第二个。



Overflow
如果设置的是 Pipelined, Streaming I/O architecture,出现 overflow,那么 C-Model 和 IP core 前仿的结果是不一致, 也就是 C-Model 的 xk_re 和 xk_im 与 FFT IP 前仿的 xk_re 和xk_im 不一致, 出现 overflow , 看 xk_re 和 xk_im 的结果是没有意义的, 需要调整 scaling 保证没有 overflow.

责任编辑:lq
-
FPGA
+关注
关注
1664文章
22508浏览量
639450 -
数据
+关注
关注
8文章
7349浏览量
95046 -
二进制
+关注
关注
2文章
809浏览量
43211
原文标题:开发者分享 | 调试 FFT C-Model 仿真和 FFTIP 前仿
文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
IP2615_datasheet _30V输入耐压的OVP,支持C口双向检测过压
IP2617C_datasheet _支持C口充放电双向过压保护IC
IP2610_datasheet _32V输入耐压的OVP
CQB200 - 24S28替代V24B28LT200B2破交货周期困局
MUN12AD05-SMFL:非隔离DC/DC电源模块的国产化替代新选择
Neway电机方案的替代兼容性体现在哪些方面
稳压二极管真的可以稳压吗
Vivado浮点数IP核的握手信号
镜头不一致的问题原因分析
使用nncase模拟器验证转换效果出现报错sim.load_model(kmodel) RuntimeError怎么解决?
操作笔记 | GNSS模拟仿真软件Skydel如何让所有卫星输出的功率一致?
C-Model的输入数据和IP仿真的输入不完全一致
评论