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!

AR# 47454

Vivado 合成 - Vivado 合成で VHDL エンティティでの work ライブラリを使用した Verilog モジュールのインスタンシエートはサポートされるか

説明

Vivado 合成で、次のような VHDL エンティティ内での Verilog モジュールのインスタンシエートはサポートされますか。

GATE_INST: entity work.gate

ソリューション

現在のところ、Vivado 合成では VHDL エンティティから work ライブラリを使用して Verilog モジュールにアクセスする混合言語機能はサポートされていません。この場合、Vivado 合成で次のようなエラー メッセージが表示されます。

"ERROR: [Synth-493] no such design unit 'gate_inst' [box.vhd:19]"

ザイリンクスでは、この種の混合言語の問題に関する要望が多ければ、将来的に修正する予定です。

この問題を回避するには、VHDL エンティティ内で Verilog モジュールを VHDL コンポーネントとして宣言し、Verilog モジュールを VHDL インスタンシエーションとしてインスタンシエートします。Vivado 合成ではこの回避策がサポートされており、合成は問題なく完了します。

次に、Vivado 合成で問題なく合成される回避策の例を示します。

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity box is
Port ( A : in STD_LOGIC;
B : in STD_LOGIC;
C : out STD_LOGIC);
end box;
architecture Behavioral of box is
COMPONENT gate PORT (
A : in std_logic;
B : in std_logic;
C : out std_logic);
END COMPONENT;
begin
GATE_INST: gate
port map (
A => A,
B => B,
C => C);
end Behavioral;

上記の例では、インスタンス gate は AND ゲートを表す単純な Verilog モジュールです。

AR# 47454
日付 06/21/2013
ステータス アクティブ
種類 一般
ツール
  • Vivado Design Suite
このページをブックマークに追加