找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4675|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

verilog HDL中wire和reg的區(qū)別

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:105323 發(fā)表于 2016-2-23 17:39 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
wire表示直通,即輸入有變化,輸出馬上無條件地反映(如與、非門的簡單連接)。
reg表示一定要有觸發(fā),輸出才會反映輸入的狀態(tài)。
reg相當(dāng)于存儲單元,wire相當(dāng)于物理連線。reg表示一定要有觸發(fā),沒有輸入的時候可以保持原來的值,但不直接實(shí)際的硬件電路對應(yīng)。
     兩者的區(qū)別是:寄存器型數(shù)據(jù)保持最后一次的賦值,而線型數(shù)據(jù)需要持續(xù)的驅(qū)動。wire使用在連續(xù)賦值語句中,而reg使用在過程賦值語句(initial,always)中。wire若無驅(qū)動器連接,其值為z,reg默認(rèn)初始值為不定值 x 。
     在連續(xù)賦值語句中,表達(dá)式右側(cè)的計(jì)算結(jié)果可以立即更新表達(dá)式的左側(cè)。在理解上,相當(dāng)于一個邏輯之后直接連了一條線,這個邏輯對應(yīng)于表達(dá)式的右側(cè),而這條線就對應(yīng)于wire。
在過程賦值語句中(比如always語句),表達(dá)式右側(cè)的計(jì)算結(jié)果在某種條件的觸發(fā)下放到一個變量當(dāng)中,而這個變量可以聲明成reg類型的,根據(jù)觸發(fā)條件的不同,過程賦值語句可以建模不同的硬件結(jié)構(gòu):如果這個條件是時鐘的上升沿或下降沿,那么這個硬件模型就是一個觸發(fā)器;如果這個條件是某一信號的高電平或低電平,那么這個硬件模型就是一個鎖存器;如果這個條件是賦值語句右側(cè)任意操作數(shù)的變化,那么這個硬件模型就是一個組合邏輯。
對組合邏輯輸出變量,可以直接用assign。即如果不指定為reg類型,那么就默認(rèn)為1位wire類型,故無需指定1位wire類型的變量。當(dāng)然專門指定出wire類型,可能是多位或?yàn)槭钩绦蛞鬃x。wire只能被assign連續(xù)賦值,reg只能在initial和always中賦值。
     輸入端口可以由wire/reg驅(qū)動,但輸入端口只能是wire;輸出端口可以是wire/reg類型,輸出端口只能驅(qū)動wire;若輸出端口在過程塊中賦值則為reg型,若在過程塊外賦值則為net型(wire/tri)。用關(guān)鍵詞inout聲明一個雙向端口,inout端口不能聲明為reg類型,只能是wire類型。
默認(rèn)信號是wire類型,reg類型要申明。這里所說的默認(rèn)是指輸出信號申明成output時為wire。如果是模塊內(nèi)部信號,必須申明成wire或者reg.
     對于always語句而言,賦值要申明成reg,連續(xù)賦值assign的時候要用wire。
模塊調(diào)用時 信號類型確定方法總結(jié)如下:
•信號可以分為端口信號和內(nèi)部信號。出現(xiàn)在端口列表中的信號是端口信號,其它的信號為內(nèi)部信號。
•對于端口信號,輸入端口只能是net類型。輸出端口可以是net類型,也可以是register類型。若輸出端口在過程塊中賦值則為register類型;若在過程塊外賦值(包括實(shí)例化語句),則為net類型。
•內(nèi)部信號類型與輸出端口相同,可以是net或register類型。判斷方法也與輸出端口相同。若在過程塊中賦值,則為register類型;若在過程塊外賦值,則為net類型。
•若信號既需要在過程塊中賦值,又需要在過程塊外賦值。這種情況是有可能出現(xiàn)的,如決斷信號。這時需要一個中間信號轉(zhuǎn)換。
下面所列是常出的錯誤及相應(yīng)的錯誤信息(error message)
•用過程語句給一個net類型的或忘記聲明類型的信號賦值。
           信息:illegal …… assignment.
•將實(shí)例的輸出連接到聲明為register類型的信號上。
           信息: has illegal output port specification.
•將模塊的輸入信號聲明為register類型。
           信息:incompatible declaration,  ……


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表