XILINXのIP Core, ILAは1ビットのprobeを定義しても
component ila
port (
clk : in std_logic;
probe0 : in std_logic_vector(0 downto 0)
);
end component;
のように std_logic_vector になっている。
インスタンスに std_logic の信号を接続するときには
signal probe0 : std_logic_vector(0 downto 0);
probe0(0) <= some_signal;
i_ila : ila
port map (
clk => clk,
probe0 => probe0
);
のようにしても良いのだけれど、probe0のsignal をいちいち定義するのも面倒。
知っている人には「何を当たり前のことを言っているんだ」かも知れないけど
i_ila : ila
port map (
clk => clk_in,
probe0 => (0 => some_signal)
);
のようにすれば probe0 を定義しなくても直接 ILA のインスタンスに接続でき簡単。
意外とこういう接続方法ってやらないので、知っておくとちょっと便利な書き方です。
2015/4/2追記
probe0 => (0 => some_signal)
と書くとVivado 2014.4ではシミュレーション時エラーとなる。Synthesis, ImplementationはOK。
probe0(0) => some_signal
と書けばシミュレーション時も問題なく通る。シミュレーションもかけるならこちらの方が良い。
0 件のコメント:
コメントを投稿