【发布时间】:2018-08-02 15:10:14
【问题描述】:
我正忙于获得一些使用 Xilinx Vivado 的实践经验。
从 github (https://github.com/jorisvr/vhdl_sincos_gen) 获取一个 VHDL 正弦发生器,我用它制作了一个 IP 包。我定义了端口:
所以“in_phase”端口的类型是无符号的。
打包 IP 后,我创建了一个具有块设计的新项目并实例化了 IP:
这行得通,我可以综合设计。然而模拟失败了。我在详细说明日志中收到以下错误:
Starting static elaboration
ERROR: [VRFC 10-619] entity port in_phase does not match with type std_logic_vector of component port [/home/dinne/Xilinx/projects/nexys4ddr_tst/nexys4ddr_tst.ip_user_files/bd/design_1/ip/design_1_sincos_gen_0_0/sim/design_1_sincos_gen_0_0.vhd:80]
ERROR: [VRFC 10-619] entity port out_sin does not match with type std_logic_vector of component port [/home/dinne/Xilinx/projects/nexys4ddr_tst/nexys4ddr_tst.ip_user_files/bd/design_1/ip/design_1_sincos_gen_0_0/sim/design_1_sincos_gen_0_0.vhd:81]
ERROR: [VRFC 10-619] entity port out_cos does not match with type std_logic_vector of component port [/home/dinne/Xilinx/projects/nexys4ddr_tst/nexys4ddr_tst.ip_user_files/bd/design_1/ip/design_1_sincos_gen_0_0/sim/design_1_sincos_gen_0_0.vhd:82]
不知何故,端口类型发生了变化。如果我检查例如“in_phase”端口的端口属性,我看到类型是“undef”。
此外,如果我检查生成的 IP 包装代码,我会发现端口类型已更改。同样,“in_phase”端口应该是无符号的,但是是“std_logic_vector”。
如何修复 IP 端口类型并让模拟运行?
【问题讨论】:
标签: vhdl simulation fpga xilinx vivado