vivado报错(一)vivado与modelsim联合仿真报错

报错内容

# ** Fatal: (vsim-3363) The array length (1) of VHDL port 's_axis_data_tlast' does not match the width (32) of its Verilog connection (8th connection).
#    Time: 0 ps  Iteration: 0  Instance: /FIR_TB/u_FIR/inst_fft File: ../../../../FIR.srcs/sources_1/new/FIR.v Line: 71
# FATAL ERROR while loading design
# Error loading design

原因

常见情况是在仿真时选择了混合语言,导致的端口位宽不匹配。

根本原因是混合语言库声明顺序不正确。问题可能发生在布尔信号或std_logic_vector信号上,因为VHDL和Verilog之间不存在1:1映射。

解决办法

1.将混合语言换成单一的语言仿真

tools->settings->simulation->simulation language

根据自己使用的语言选择

 2.在modelsim命令行使用如下代码,作用是设置Verilog库的优先级高于VHDL

vsim -L work -L unisims_ver -L unimacro_ver -L unisim -L unimacro -L secureip -voptargs=\"+acc\" -t 1ps glbl <filelist>

 注意:根据问题描述修改位宽是解决不了问题的,因为问题不是位宽不匹配

 参考

58541 - ISE Virtex-7 PCIe core v1.9 - "Fatal: (vsim-3363) The array length does not match the width of its verilog connection" (xilinx.com)

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值