2011-11-01 28 views
0

的VHDL代碼:這個VHDL任務的等價語句是什麼?

next_x(7 downto 0) <= rec_data; 

這是什麼線路呢?什麼是等效聲明?此行在一個進程內,並在condition_1爲true時執行。

我的猜測是這條語句會更新next_x嗎?

有人可以解釋聲明,並找到相應的,如果有的話?

謝謝。

+2

在什麼等價的語句? –

回答

2

由於這是一個信號分配,它時間表next_x該過程完成後具有的rec_data值。需要注意的最大警告是,在計劃進行此更改的過程中,信號next_x的後續讀取將返回此信號的舊值 - 此更改尚未生效。您可以將其視爲與過程中的所有其他信號分配同時執行,但允許多個相同信號的分配,只有最後一個纔會生效。

另一方面,變量賦值立即生效,因此更改可以通過進程中的所有後續語句看到,這與命令式編程語言非常相似。

等效可變分配將是next_x(7 downto 0) := rec_data;,但隨後next_x必須是變量,而不是一個信號。

這是一個很好的總結signal versus variable assignment

+0

我不認爲這個問題提到了變量。 –

+1

這是一個猜測。我將標題解析爲:這個VHDL「賦值」的等效「聲明」是什麼?從那我假設OP是指提供的信號分配作爲一項「任務」,並正在尋找他們稱之爲「聲明」的相關概念。我能想到的最接近的是變量賦值。我沒有更多地閱讀這個問題,所以如果這是一個嚴重錯誤的答案,希望他們會擴大。學習元語言來描述另一種語言有時候是一個挑戰。 – Garrett

相關問題