UPGRADE YOUR BROWSER
We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!
修改时间 10-20-2018 04:45 PM
Hi, @juvanto
从报错信息来看是Axi-stream的data端口数据位宽不匹配的问题。你有检查过相关端口吗?
修改时间 10-22-2018 09:41 AM
上述错误所报的positioning.v line 73是对应什么样的代码呢?
能否把示例工程打包上传看一下?
修改时间 10-23-2018 08:42 AM
你发过来的只是顶层及IP wrapper文件,从positioning.v报错部分看,是例化了floating point IP,需要再看一下IP的模型文件。
请将工程打包( File > Project > Archive)上传。如果文件太大,可以去除仿真结果( <project>.sim/sim_1文件夹)再打包,同时打包对话框中去除Include Run Results选项。
修改时间 10-24-2018 09:47 AM
那么你将两个IP的配置文件上传吧,我可以本地尝试重建复现。
FFTprocess1_0.xci
positioning_0.xci
修改时间 10-24-2018 04:18 PM
这两个不是IP Catalog的自带IP,是自己打包生成的,所以还是需要相应的IP文件才能在本地生成。
从EzMove给你发了链接,你注册的邮箱会收到两封邮件,包含地址和临时用户名密码,请登陆上传之前压缩的整个工程。
修改时间 10-26-2018 05:29 PM
@juvanto我在本地打开工程跑仿真获取FFTprocess1_0的文件失败,尝试重新生成这个IP也无法成功。
CRITICAL WARNING: [IP_Flow 19-663] Failed to copy file 'e:/position/testFFT/fftnpo/fftnpo/posi.v', it does not exist.
CRITICAL WARNING: [IP_Flow 19-157] Failed to copy file from 'e:/position/testFFT/fftnpo/fftnpo/posi.v' to '/fftnpo/fftnpo.srcs/sources_1/ip/FFTprocess1_0/e:/position/testFFT/fftnpo/fftnpo/posi.v'.
ERROR: [IP_Flow 19-167] Failed to deliver one or more file(s).
ERROR: [IP_Flow 19-3505] IP Generation error: Failed to generate IP 'FFTprocess1_0'. Failed to generate 'Synthesis' outputs:
是否还有其他自定义打包的IP文件没有包含进来?
positioning_0可以生成。
另外,我看了一下positioning.v,报错的floating point IP输入管脚s_axis_a_tdata由以下内部信号驱动,
reg signed [63:0] p_rec_led_reci_s_data;
但此信号并没有驱动源。
修改时间 10-29-2018 05:24 PM
新发送的工程可以复现此错误。原因是两个自定义的IP中包含的floating_point_0.vhd对于s_axis_a_tdata有不同的位宽定义。
到工程目录的fftnpo1\fftnpo1.sim\sim_1\behav,打开VHDL编译列表testbench_vhdl.prj,
# compile vhdl design source files
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/positioning_0/src/floating_point_0_1/sim/floating_point_0.vhd"
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/floating_point_1/sim/floating_point_1.vhd"
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/xfft_0/sim/xfft_0.vhd"
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/floating_point_0/sim/floating_point_0.vhd"
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/floating_point_2/sim/floating_point_2.vhd"
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/floating_point_3/sim/floating_point_3.vhd"
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/floating_point_4/sim/floating_point_4.vhd"
注意到有两个同名的vhdl文件,这两个文件中对报错端口定义是不一样的。
在编译的打印log中,也可以看到相关告警:
INFO: [VRFC 10-307] analyzing entity floating_point_0
WARNING: [VRFC 10-1193] overwriting existing primary unit floating_point_0 [xxx/fftnpo1/fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/floating_point_0/sim/floating_point_0.vhd:59]
修改时间 11-01-2018 12:12 PM
避免同名的module有不同的定义。
修改时间 11-05-2018 09:00 AM
我的理解是底层的文件名应随IP命名而改变,以区分不同的配置。在你的这个例子里,floating_point_0_1和floating_point_0都对应了同样的文件名floating_point_0.vhd。
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/positioning_0/src/floating_point_0_1/sim/floating_point_0.vhd"
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/floating_point_1/sim/floating_point_1.vhd"
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/xfft_0/sim/xfft_0.vhd"
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/floating_point_0/sim/floating_point_0.vhd"
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/floating_point_2/sim/floating_point_2.vhd"
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/floating_point_3/sim/floating_point_3.vhd"
vhdl xil_defaultlib "../../../fftnpo1.srcs/sources_1/ip/FFTprocess1_0/ip/floating_point_4/sim/floating_point_4.vhd"
可以看到,其他的IP都有对应同名的文件名,比如floating_point_1 --> floating_point_1.vhd。
建议均改为完全不同的后缀名试一下。