-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