2017-06-25 34 views

回答

2

電線()旨在作爲連接媒體,他們不保留價值。所以,你可以使用它們來連接模塊,創建總線......有一個特殊的「分配」語句來分配它們。 Regs另一方面是爲了代表註冊和保持價值。所以,你不能使用它們進行連接,也不能使用電線作爲寄存器。所有程序塊(總是)只是具有一些擴展語義的小型通用程序。但他們使用通用類型的變量來保持中間值。因此,在上述兩種類型中,只有'reg'符合這個類別。所以,它只允許分配給regs。

那麼這個概念爲verilog編程創造了很多頭痛的問題。因此係統Verilog提出了邏輯數據類型,在大多數情況下它可以替代它們兩個。您可以使用它來連接東西或在always塊中分配它。

1

A wire in Verilog是一個非常不同的概念從變量。雖然兩者都被用來表示隨時間變化的價值觀,但獲得價值觀的方式卻有很大的不同。與大多數其他編程語言一樣,您可以對變量進行程序性賦值,變量將保留該值直到下一個程序賦值。

A 表示硬件或形成網絡的一組連接中的連接。該網絡在物理上實現爲芯片或電路板上的金屬線。您可以將電線看作是從驅動器到接收器的值的傳輸。在Verilog中,驅動程序由執行連續分配而不是程序分配的結構來表示。

我在這post更詳細解釋這一點。

0

它只是因爲在總是阻止目標的情況下必須存儲值,除非和直到新的輸入到達或靈敏度列表中有變化,而另一方面電線無法做到。

相關問題