![]() |
久久建筑網(i5h4u.cn)致力打造一個專業(yè)的建筑學習分享平臺! | 用戶登錄 免費注冊 | 投訴舉報 | 會員中心 | 上傳資料 |

VHDL語言中的信號與變量辨別使用.doc
資料評價:
暫無
生成時間:
2021-06-16
下載權限:
免費會員
文件大。
104KB
文件類型:
.doc
瀏覽次數(shù):
2
建筑論壇:
上傳會員:
qohnr
所屬欄目:
網絡技術
下載地址:
資料是由會員“qohnr”上傳到本平臺,如有不妥請聯(lián)系客服。違規(guī)侵權投訴
VHDL語言中的信號與變量辨別使用,vhdl中信號與變量的區(qū)別。
語言中的信號、變量與常量異同比較表格
變量與信號的差異
,賦值方式的不同
變量表達式
信號表達式
,硬件實現(xiàn)的功能不同
信號代表電路單元,功能模塊間的互聯(lián),代表實際的硬件連線
變量代表電路單元內部的操作,代表暫存的臨時數(shù)據
,有效范圍不同
信號全局量:程序包,實體,結構體
變量局部量:進程,子程序
注:在進程和子程序中,信號只能被使用,不能被定義說明
,賦值行為的不同
信號賦值延時更新數(shù)值,一般生成時序電路
變量賦值立即更新數(shù)值,一般生成組合電路
,信號的多次賦值
一個進程中:僅最后一次賦值有效
多個進程中:稱為多源驅動如總線結構
能綜合成硬件電路的多源驅動有三種:線與,線或,三態(tài)
例子
定義信號
由于信號賦值的延時性賦新值發(fā)生在進程結束時,所以結果是的值互換
定義變量
由于變量賦值的立即更新,所以結果是和的值均為
變量信號區(qū)別
關于變量和信號,很多書都有介紹,基本上都是說信號會有延時,而變量是立即賦值的,但是對于兩者到底有什么區(qū)別,說的不是很透徹。以至于我對兩者的理解也一直很模糊,只能在實踐中慢慢體會。下面介紹個例子,希望可以給朋友們一點啟發(fā):
信號
這段程序的本意是。事實上,在利用綜合以后得到的結果如下圖:
中變量與信號的區(qū)別轉帖中變量與信號的區(qū)別轉帖
等效的邏輯圖是這樣的:
中變量與信號的區(qū)別轉帖中變量與信號的區(qū)別轉帖
顯然,綜合器將信號給忽略了,這跟我們希望的是不一致的。仔細觀察綜合過程發(fā)現(xiàn),在綜合時會產生一條
大意是說輸入從未使用,如果是頂層程序或者屬于一個子模塊并且該子模塊有這個端口時,會被保留,其余情況下端口會被忽略掉。
變量
這段程序的本意與上面是一樣的。在利用綜合以后得到的結果如下圖:
中變量與信號的區(qū)別轉帖中變量與信號的區(qū)別轉帖
等效的邏輯圖是這樣的:
中變量與信號的區(qū)別轉帖中變量與信號的區(qū)別轉帖
可以看出,采用變量時,程序綜合的結果與我們希望的是一致的。
總結
在一個進程中,如果對一個信號多次賦值,那么,只有最后一個值才是有效的。如果對變量多次賦值,那么每次賦值都是有效的,并且,變量的值在再次賦值之前一直保持不變。
信號跟硬件有點類似,并且是在進程結束的時候才更新;
語言中的信號、變量與常量異同比較表格
變量與信號的差異
,賦值方式的不同
變量表達式
信號表達式
,硬件實現(xiàn)的功能不同
信號代表電路單元,功能模塊間的互聯(lián),代表實際的硬件連線
變量代表電路單元內部的操作,代表暫存的臨時數(shù)據
,有效范圍不同
信號全局量:程序包,實體,結構體
變量局部量:進程,子程序
注:在進程和子程序中,信號只能被使用,不能被定義說明
,賦值行為的不同
信號賦值延時更新數(shù)值,一般生成時序電路
變量賦值立即更新數(shù)值,一般生成組合電路
,信號的多次賦值
一個進程中:僅最后一次賦值有效
多個進程中:稱為多源驅動如總線結構
能綜合成硬件電路的多源驅動有三種:線與,線或,三態(tài)
例子
定義信號
由于信號賦值的延時性賦新值發(fā)生在進程結束時,所以結果是的值互換
定義變量
由于變量賦值的立即更新,所以結果是和的值均為
變量信號區(qū)別
關于變量和信號,很多書都有介紹,基本上都是說信號會有延時,而變量是立即賦值的,但是對于兩者到底有什么區(qū)別,說的不是很透徹。以至于我對兩者的理解也一直很模糊,只能在實踐中慢慢體會。下面介紹個例子,希望可以給朋友們一點啟發(fā):
信號
這段程序的本意是。事實上,在利用綜合以后得到的結果如下圖:
中變量與信號的區(qū)別轉帖中變量與信號的區(qū)別轉帖
等效的邏輯圖是這樣的:
中變量與信號的區(qū)別轉帖中變量與信號的區(qū)別轉帖
顯然,綜合器將信號給忽略了,這跟我們希望的是不一致的。仔細觀察綜合過程發(fā)現(xiàn),在綜合時會產生一條
大意是說輸入從未使用,如果是頂層程序或者屬于一個子模塊并且該子模塊有這個端口時,會被保留,其余情況下端口會被忽略掉。
變量
這段程序的本意與上面是一樣的。在利用綜合以后得到的結果如下圖:
中變量與信號的區(qū)別轉帖中變量與信號的區(qū)別轉帖
等效的邏輯圖是這樣的:
中變量與信號的區(qū)別轉帖中變量與信號的區(qū)別轉帖
可以看出,采用變量時,程序綜合的結果與我們希望的是一致的。
總結
在一個進程中,如果對一個信號多次賦值,那么,只有最后一個值才是有效的。如果對變量多次賦值,那么每次賦值都是有效的,并且,變量的值在再次賦值之前一直保持不變。
信號跟硬件有點類似,并且是在進程結束的時候才更新;
本類欄目導航
猜你還喜歡
水利工程:
水利施工方案
水利考試
水利專業(yè)資料
水利軟件
水利論文
安裝工程:
設備安裝圖紙
安裝工程專業(yè)資料
安裝施組設計
專題