Vivado综合 - Vivado Synthesis是否通过工作库支持VHDL实体中的Verilog模块实例化?

描述

Vivado综合工具是否支持VHDL实体中的以下Verilog模块实例化?

GATE_INST:实体work.gate

Vivado综合工具目前不支持使用工作库从VHDL实体访问Verilog模块的混合语言支持功能。在这种情况下,Vivado Synthesis将导致以下错误消息:

“错误:[Synth-493]没有这样的设计单位'gate_inst'[box.vhd:19]”

Vivado综合开发团队将重新审视这些类型的混合语言问题,并在将来客户反复提出请求时进行修复。

要解决此问题,请将Verilog模块声明为VHDL实体中的VHDL组件声明,然后将Verilog模块实例化为常规VHDL实例化。 Vivado Synthesis支持这种解决方案,并且综合成功完成。

以下是Vivado综合工具成功综合的解决方案示例:

库IEEE; 
使用IEEE.STD_LOGIC_1164.ALL;
实体框是
端口(A:在STD_LOGIC;
B:在STD_LOGIC中;
C:输出STD_LOGIC);
结束箱;
建筑行为的框架是
COMPONENT gate PORT(
答:在std_logic中;
B:在std_logic中;
C:out std_logic);
结束组成部分;
开始
GATE_INST:门
港口映射(
A => A,
B => B,
C => C);
结束行为;

在上面的例子中,实例门是一个表示AND门的简单Verilog模块。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 14:53:53 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它