fpga中wire和reg的區別

wire表示直通,即只要輸入有變化,輸出馬上無條件地反映;reg表示一定要有觸發,輸出才會反映輸入。wire表示直通,即只要輸入有變化,輸出馬上無條件地反映;reg表示一定要有觸發,輸出才會反映輸入。
不指定就默認為1位wire類型。專門指定出wire類型,可能是多位或為使程序易讀。wire只能被assign連續賦值,reg只能在initial和always中賦值。wire使用在連續賦值語句中,而reg使用在過程賦值語句中。? ? ? ? 不指定就默認為1位wire類型。專門指定出wire類型,可能是多位或為使程序易讀。wire只能被assign連續賦值,reg只能在initial和always中賦值。wire使用在連續賦值語句中,而reg使用在過程賦值語句中。


?在連續賦值語句中,表達式右側的計算結果可以立即更新表達式的左側。在理解上,相當于一個邏輯之后直接連了一條線,這個邏輯對應于表達式的右側,而這條線就對應于wire。在過程賦值語句中,表達式右側的計算結果在某種條件的觸發下放到一個變量當中,而這個變量可以聲明成reg類型的。根據觸發條件的不同,過程賦值語句可以建模不同的硬件結構:如果這個條件是時鐘的上升沿或下降沿,那么這個硬件模型就是一個觸發器;如果這個條件是某一信號的高電平或低電平,那么這個硬件模型就是一個鎖存器;如果這個條件是賦值語句右側任意操作數的變化,那么這個硬件模型就是一個組合邏輯。? ? ? ? 在連續賦值語句中,表達式右側的計算結果可以立即更新表達式的左側。在理解上,相當于一個邏輯之后直接連了一條線,這個邏輯對應于表達式的右側,而這條線就對應于wire。在過程賦值語句中,表達式右側的計算結果在某種條件的觸發下放到一個變量當中,而這個變量可以聲明成reg類型的。根據觸發條件的不同,過程賦值語句可以建模不同的硬件結構:如果這個條件是時鐘的上升沿或下降沿,那么這個硬件模型就是一個觸發器;如果這個條件是某一信號的高電平或低電平,那么這個硬件模型就是一個鎖存器;如果這個條件是賦值語句右側任意操作數的變化,那么這個硬件模型就是一個組合邏輯。


?輸入端口可以由wire/reg驅動,但輸入端口只能是wire;輸出端口可以使wire/reg類型,輸出端口只能驅動wire;若輸出端口在過程塊中賦值則為reg型,若在過程塊外賦值則為net型。用關鍵詞inout聲明一個雙向端口, inout端口不能聲明為reg類型,只能是wire類型;輸入和雙向端口不能聲明為寄存器類型。? ? ? ? 輸入端口可以由wire/reg驅動,但輸入端口只能是wire;輸出端口可以使wire/reg類型,輸出端口只能驅動wire;若輸出端口在過程塊中賦值則為reg型,若在過程塊外賦值則為net型。用關鍵詞inout聲明一個雙向端口, inout端口不能聲明為reg類型,只能是wire類型;輸入和雙向端口不能聲明為寄存器類型。


?簡單來說硬件描述語言有兩種用途:1、仿真,2、綜合。? ? ? 簡單來說硬件描述語言有兩種用途:1、仿真,2、綜合。


對于wire和reg,也要從這兩個角度來考慮。對于wire和reg,也要從這兩個角度來考慮。




1. 從仿真的角度來說,HDL語言面對的是編譯器(如Modelsim等),相當于軟件思路。1. 從仿真的角度來說,HDL語言面對的是編譯器(如Modelsim等),相當于軟件思路。
這時:這時:
wire對應于連續賦值,如assignwire對應于連續賦值,如assign
reg對應于過程賦值,如always,initialreg對應于過程賦值,如always,initial


2. 從綜合的角度來說,HDL語言面對的是綜合器(如DC等),要從電路的角度來考慮。2. 從綜合的角度來說,HDL語言面對的是綜合器(如DC等),要從電路的角度來考慮。
這時:這時:
1、wire型的變量綜合出來一般是一根導線;1、wire型的變量綜合出來一般是一根導線;
2、reg變量在always塊中有兩種情況:2、reg變量在always塊中有兩種情況:
(1)、always后的敏感表中是(a or b or c)形式的,也就是不帶時鐘邊沿的,綜合出來還是組合邏輯(1)、always后的敏感表中是(a or b or c)形式的,也就是不帶時鐘邊沿的,綜合出來還是組合邏輯
(2)、always后的敏感表中是(posedge clk)形式的,也就是帶邊沿的,綜合出來一般是時序邏輯,會包含觸發器(Flip-Flop)(2)、always后的敏感表中是(posedge clk)形式的,也就是帶邊沿的,綜合出來一般是時序邏輯,會包含觸發器(Flip-Flop)


在設計中,輸入信號一般來說你是不知道上一級是寄存器輸出還是組合邏輯輸出,那么對于本級來說就是一根導線,也就是wire型。而輸出信號則由你自己來決定是寄存器輸出還是組合邏輯輸出,wire型、reg型都可以。但一般的,整個設計的外部輸出(即最頂層模塊的輸出),要求是寄存器輸出,較穩定、扇出能力也較好。

轉載于:https://www.cnblogs.com/songfeixiang/p/3733839.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/261013.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/261013.shtml
英文地址,請注明出處:http://en.pswp.cn/news/261013.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Django Tips

新加admin.py需重啟自帶Web服務器才能顯示Admin保存設置外鍵的默認值http://stackoverflow.com/questions/937954/how-do-you-specify-a-default-for-a-django-foreignkey-model-or-adminmodel-fieldhttp://stackoverflow.com/questions/5632848/django-default-value-for-user…

wordpress html音樂,WordPress引用百度Ting音樂方法

對于個人博客來說,要在文章中添加音樂,如果放在自己服務器上,一方面是成本問題,其次,大部分博主用的國外服務器,而國外對版權看得比較重,基本上不允許上傳音樂,所以我們通常都是通過…

開發工具MyEclipse如何支持可視化設計HTML和JSP頁面

轉自:http://tigerben.iteye.com/blog/722128 這兩天一直在設計和開發JSP頁面,所有標簽都得通過自己手工編輯深感厭煩,印象中以前是有看到過MyEclipse是支持拖放HTML常用控件的,所以為此百度了一把,終有所獲。 MyEclip…

轉:c# Linq 的分頁[轉]

轉:http://www.cnblogs.com/leleroyn/archive/2008/05/14/1196811.html 很多學習Linq的朋友肯定有自己所不同的方法,考慮這個問題我所想到的是 用Take(),Skip(),TakeWhile(),SkipUntil()中的方法來實現 首先看Take()是否可用 Take方法的作用是從結果中取…

html edge瀏覽器 圖片,瀏覽器時序圖及 Microsoft Edge 構架

本文又是我的作業,完成思路借鑒了 版權說明。作業要求針對一款典型瀏覽器,繪制瀏覽器處理時序圖對用戶界面進行操作(如拖拽窗口)帶有 JavaScript 腳本 HTML 文檔查閱資料,繪制 Edge 瀏覽器的參考架構瀏覽器時序圖對用戶界面進行操作(如拖拽窗…

您需要了解的跨阻放大器——第1部分

跨阻放大器(TIA)是光學傳感器(如光電二極管)的前端放大器,用于將傳感器的輸出電流轉換為電壓。跨阻放大器的概念很簡單,即運算放大器(op amp)兩端的反饋電阻(RF&#xff…

Objective-C組合模式(Composite)

什么是組合模式? 官方:將對象組合成樹形結構以表示“部分-整體”的層次結構,組合模式使用戶使用單獨對象和組合對象具有一致性。 個人理解:組合模式就相當于一個大家族,每個人都是家族中的一部分,整個家族就…

WP7應用開發筆記(3) 界面設計

界面設計 回顧一下按鈕清單: 播放控制播放/暫停Space 停止F4 快進Right 快退Left 快進X2ControlRight 快退X2ControlLeft 快進X3AltRight 快退X3AltLeft音量放大Up 縮小Down 靜音M節目下一個PageDown 上一個PageUp基本上就是把這些按鈕布置到480*800的屏幕上。 快進…

html手機顯示評論列表頁面,請問如何完美顯示評論列表頭像

目前具體思路是通過輪詢構建頭像,條件是通過判斷評論區條目length。問題是有時依然無法顯示評論區頭像。以下是目前的代碼:function showAvatar() {$(.feedbackItem).each(function() {let avatar $(this).children(.feedbackCon).children(span:last).…

幾何畫板中可以這樣選擇對象

在使用幾何畫板過程中,一些用戶朋友發現幾何畫板雖然是在Windows平臺上運行的軟件,但它選擇對象的選擇方式常常與一般的Windows繪圖軟件是有一些差別的,下面將通過詳細的講解,讓大家對幾何畫板選擇對象方法有比較系統全面的了解。…

2012 不宜進入的三個技術點(下)

賴勇浩(http://laiyonghao.com)CC 在 2011 年其實風頭甚勁,C2011 標準出臺,gcc/msvc/clang 都很快速地支持了許多新特性,新興的移動設備的性能較差,更是 C 的新舞臺,在這個時候唱衰 C&#xff0…

菜鳥做HTML5小游戲 - 刮刮樂

繼上篇翻翻樂之后,又來刮刮樂。還是先上效果圖: 開始demo的世界: 1.css去繪制界面效果。(源碼提供) 2.原理:要實現刮刮卡內容的出現,我用div做了背景層去顯示刮出的內容結果【重點】。中間Canva…

1 計算機主機里面都有些什么東西,計算機主機和外設分別包括那些東西?

___耐撕Nice___的回答:1、主機是指計算機除去輸入輸出設備以外的主要機體部分。也是用于放置主板及其他主要部件的控制箱體(容器Mainframe)。通常包括 CPU、內存、主板、光驅、電源、以及其他輸入輸出控制器和接口。在網絡技術中是關于發送與接收信息的終端設備。2、…

AppDynamics趙宇辰:硅谷APM獨角獸,打造DevOps領域的智能大腦

近來,關于機器學習的報道很多,國內外的大型互聯網企業都在著手對機器學習的研究。對應用性能的高效管理,首先要了解應用的一手數據,通過傳統的數據獲取方式已經不能滿足企業的發展和市場環境,這就需要借助機器學習的技…

江蘇有保障的計算機應用技術,2022年江蘇單招計算機應用技術專業公辦學校名單...

2021年高職單招升學一對一咨詢蒲善婷:18983252108(微信)很多考生都存在一個疑問,到底該選擇什么樣的單招學校和專業?其實啊,我們在選擇時首先要了解學校的辦學情況和招生專業,看看有沒有是不是符合自己的選擇條件,是否…

mybatis一對多查詢

18 <!-- 19 方式一&#xff1a;嵌套結果&#xff1a;使用嵌套結果映射來處理重復的聯合結果的子集 20 封裝聯表查詢的數據(去除重復的數據) 21 select * from class c, teacher t where c.teacher_idt.t_id and c.c_id1 22 --> 23 …

如何選購集成吊頂

吊頂對比-選購-經驗篇:集成吊頂頂行業作為一個新興的行業類別&#xff0c;同時也是一個高速發展的行業&#xff0c;使得集成吊頂市場牌混亂不堪&#xff0c;為大家介紹 正確的選購之法。以下內容由買購網整理&#xff0c;提供給您參考。現在市場上扣板已經有很多品種了&#xf…

php - preg_match

任務&#xff1a;匹配一個函數名或者變量名&#xff0c;如果碰到alpha&#xff0c;numeric&#xff0c;_以外的全部不允許通過。 實驗1&#xff1a; <?php //第一個字符不符合就直接退出正則匹配 $str %abcscript%d; var_dump(preg_match(/^(\w*)$/, $str, $matches)); va…

wp網站鏈接不帶html,解決WordPress網站帶與不帶WWW網址跳轉問題

我們在用wordpress搭建網站的時候是不是有些時候發現在輸入WWW與不帶WWW的地址都可以打開&#xff0c;以前我在配置的時候直接用WWW或者不帶WWW只需要在后臺設置兩個統一的地址就可以。這幾天在遇到一個網站發現并不是這樣的&#xff0c;即便都設置了WWW的域名&#xff0c;然后…

Android環境搭建遭遇Unsupported major.minor version 52.0

為什么80%的碼農都做不了架構師&#xff1f;>>> 首先&#xff0c;個人在windows 10下配置Android的開發環境。由于之前在開發Java web,所以安裝了eclipse&#xff0c;MyEclipse,jdk 1.7 等。由于希望開發 android 5.1&#xff0c;早在之前也有開發過Android&#x…