コンポーネントがあります:
Component CAU is
port
(
CLK : in std_logic;
RESET : in std_logic;
START : in std_logic;
V_DIRECTION : in vector_3d;
P_ORIGIN : in vector_3d;
V_NORMAL_IN : in vector_3d;
DOT_A : in vector_3d;
DOT_B : in vector_3d;
DOT_C : in vector_3d;
ID_DATA_IN : in scalar;
ID_DATA_OUT : out scalar;
V_REFLECT : out vector_3d;
V_PASS : out vector_3d;
P_INTERSECT : out vector_3d;
V_NORMAL_OUT : out vector_3d;
T_OUT : out scalar;
SUCCESS : out std_logic;
FINISH : out std_logic
);
end Component;
そして、それの 8 つのインスタンスを作成したいと思います。それぞれ 、 などと呼ばCAU_inst0
れCAU_inst1
ます。各インスタンスは次の方法で接続されます。
CAU_inst0 : CAU
PORT MAP
(
CLK => CLK_CAU,
RESET => RESET,
START => start_0_sig,
V_DIRECTION => v_direction_0_sig,
P_ORIGIN => p_origin_0_sig,
V_NORMAL_IN => v_normal_in_0_sig,
DOT_A => dot_a_0_sig,
DOT_B => dot_b_0_sig,
DOT_C => dot_c_0_sig,
ID_DATA_IN => id_data_in_0_sig,
ID_DATA_OUT => id_data_out_0_sig
V_REFLECT => v_reflect_0_sig,
V_PASS => v_pass_0_sig,
P_INTERSECT => p_intersect_0_sig,
V_NORMAL_OUT => v_normal_out_0_sig,
T_OUT => t_0_sig,
SUCCESS => success_0_sig,
FINISH => finish_0_sig
);
各インスタンスi
の番号0
は に置き換えられi
ます。私がしたことは、正しい数で 8 つの異なるインスタンスを作成する Matlab スクリプトを作成することでした。しかし、ほとんど変更を加えていない同じコードを 170 行必要とするため、これは見苦しいソリューションです。コード内のループでコンポーネント (および可能であれば適切な信号) を作成して、混乱と行を削減する方法はありますか?