1
我想知道是否可以使用生成語句中的變量。我可以在生成語句中使用變量嗎?
signal bitmap_nodes : std_logic_vector(0 to NB_NODES-1) := (others => '0');
CIRCULAR: if (CLOCKWISE = 0) generate
variable index : integer := 0;
begin
GENERATE_NODE : for i in NB_NODES-1 to 0 generate
begin
node_inst: node
port map (
rx_bitmap => bitmap_nodes(index)
);
-- Increment index
index := index + 1;
end generate GENERATE_NODE;
end generate CIRCULAR;
這裏,變量僅用於矢量切片。它的作用是分配如下(假設NB_NODES等於4):
NODE0 -> bitmap_nodes(3)
NODE1 -> bitmap_nodes(2)
NODE2 -> bitmap_nodes(1)
NODE3 -> bitmap_nodes(0)
我刪除了很多細節,使我的問題很簡單。重點仍然存在。我想在從NB-NODES-1到0 – Z0RrO 2011-03-15 16:48:07
的生成語句中使用一個變量(從0到NB_NODES-1的另一個索引),我更新了適合的答案:) – 2011-03-16 22:08:52