-2
我应创建一个由N个组件(实体“B”)组成的结构(实体“A”)。每个组件都有多个输入和输出以及一个内部信号ID(必须是静态的),用于识别从0到N-1的组件。每个组件都根据ID执行一些操作。我的问题是如何在初始化时(在端口映射期间)将静态ID分配给每个组件。显然这些组件是在“..生成循环中”创建的,因为N可能是通用的。使用内部ID初始化组件
我应创建一个由N个组件(实体“B”)组成的结构(实体“A”)。每个组件都有多个输入和输出以及一个内部信号ID(必须是静态的),用于识别从0到N-1的组件。每个组件都根据ID执行一些操作。我的问题是如何在初始化时(在端口映射期间)将静态ID分配给每个组件。显然这些组件是在“..生成循环中”创建的,因为N可能是通用的。使用内部ID初始化组件
声明泛型为组件,分配给它的产生循环索引,并在内部,分配通用的信号:
entity insider is
generic(id: natural);
port(
...
);
end entity insider;
architecture arc of insider is
signal s: natural;
begin
...
s <= id;
...
end architecture arc;
...
architecture arc of outsider is
...
begin
...
g: for i in 1 to 10 generate
i: entity work.insider
generic map(id => i)
port map(
...
);
end generate g;
...
end architecture arc;
谢谢!如果问题没有示例代码,我很遗憾,当我写这个代码的时候,我感到非常疲倦。 – MI89
你为什么不干脆用循环标识符在' for .. generate'作为实例化组件的ID?顺便说一句。如果你包含了相关的代码,这将对理解这个问题有很大的帮助。 –
我知道插入代码非常有用,但写下问题时我很累。感谢您的建议 – MI89