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# 8552

Modelsim (MTI) VHDL Coregen: 生成ステートメントを使用すると、シミュレーションでコンフィギュレーションが実行できない。

説明

キーワード: configuration, generate, macro, multiple instances, functional simulation, コンフィギュレーション, 生成する, マクロ, 複数のインスタンス, ファンクション シミュレーション

重要度 : 標準

概要:

同じマクロの複数のインスタンスを作成するのに VHDL の生成ステートメントを使用し、そのコンポーネント名にコンパイルしたビヘイビア モデルを追加するためにコンフィギュレーション ステートメントを使用しています。デザインをシミュレーションすると、CORE Generator マクロで値がすべて X として読み込まれ、元に戻りません。

ソリューション

コンフィギュレーション ステートメントを定義する際、生成ステートメントを使用すると、階層レベルが一つ増えます。コンパイルしたビヘイビア モデルをまったく同じコンポーネントに正しく追加するには、「for all」ステートメントを次の手順で使用します (top.vhd top_cfg.vhd)。

注 :この例にはテストベンチが含まれていません。

-------------------------------------------------
-- Top Level VHDL file top.vhd
-------------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;

entity top is
port (
in1: in STD_LOGIC_VECTOR (1 DOWNTO 0);
S: in STD_LOGIC_vector (0 downto 0);
outp: out STD_LOGIC_VECTOR (7 DOWNTO 0)
);
end top;

architecture top_arch of top is

component mymux
port (M: IN std_logic_VECTOR(1 downto 0);
S: IN std_logic_VECTOR(0 downto 0);
O: OUT std_logic);
end component;

begin

mygenerate: for i in 0 to 7 generate
multiple_mux: mymux
port map (M => in1, S => S, O => outp(i));
end generate;

end top_arch;

CONFIGURATION cfg_top OF top IS
FOR top_arch
end for;
end cfg_top;

--------------------------------------------------
-- Configuration file top_cfg.vhd
--------------------------------------------------
library ieee;
use ieee.std_logic_1164.all;
library xilinxcorelib;

CONFIGURATION cfg_top OF top IS
FOR top_arch
for mygenerate
for all : mymux use entity
XilinxCoreLib.C_MUX_BIT_V1_0(behavioral)
generic map(c_sinit_val => "0",
c_sync_enable => 0,
c_has_ainit => 0,
c_sync_priority => 1,
c_has_sinit => 0,
c_ainit_val => "0",
c_inputs => 2,
c_has_sset => 0,
c_sel_width => 1,
c_has_q => 0,
c_has_o => 1,
c_has_aset => 0,
c_has_sclr => 0,
c_has_ce => 0,
c_has_aclr => 0,
c_enable_rlocs => 1);
end for;
end for;
end for;
end cfg_top;
AR# 8552
日付 10/01/2008
ステータス アーカイブ
種類 一般