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模块。