国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

淺顯易懂-Verilog中什么時(shí)候用wire?什么時(shí)候用reg?wire與reg只有又有啥區(qū)別?如何去選擇性的使用呢?

這篇具有很好參考價(jià)值的文章主要介紹了淺顯易懂-Verilog中什么時(shí)候用wire?什么時(shí)候用reg?wire與reg只有又有啥區(qū)別?如何去選擇性的使用呢?。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在使用FPGA的時(shí)候我們經(jīng)常會遇到這樣一個(gè)問題,這個(gè)信號我們到底是定義成wire類型還是定義成reg類型,如果定義不對編譯軟件也會通不過,有時(shí)候你通過編譯軟件的的提示將它改了回來,但你卻并不明白是為什么會報(bào)錯(cuò),而且下次還會再出現(xiàn),當(dāng)它再次出現(xiàn)時(shí),我們又得重復(fù)的去修改,這樣不僅耽誤我們開發(fā)的時(shí)間,而且還影響我們學(xué)習(xí)的心情,所以這篇文章就是幫助你如何正確使用wire和reg來定義一個(gè)信號。

1wire和reg的區(qū)別

我們知道Verilog是硬件描述語言,就是通過描述構(gòu)造底層的硬件電路來實(shí)現(xiàn)我們所需要的功能,那么當(dāng)我們在設(shè)計(jì)數(shù)字電路的過程中經(jīng)常需要將不同的芯片的引腳相互連接起來,而這一個(gè)過程其實(shí)就是wire所定義的變量類型,事實(shí)上當(dāng)你寫下如下語句時(shí)wire busy;其實(shí)就是將某一連線命名為busy,接下來如何連線,就只需要對busy這個(gè)線型的信號進(jìn)行操作了。而reg類型的變量則不同,他是一個(gè)寄存器類型的變量,寄存器的功能就是可以將我需要的數(shù)據(jù)保存在我的寄存器里面,里面的數(shù)據(jù)也可以根據(jù)我的需要隨時(shí)變化,也就是說當(dāng)你定義一個(gè)需要保存一段時(shí)間的數(shù)據(jù)時(shí),你可以將它定義為一個(gè)寄存器變量,如果當(dāng)你寫下如下語句時(shí),reg busy;這里就是將busy定義成為一個(gè)寄存器類型的變量,接下來你要如何去操作這個(gè)寄存器,就需要你用別的語句去描述了。綜合來看wire就是給某個(gè)連線取名字,reg就是給某個(gè)寄存器取名字。理解這一點(diǎn)后其實(shí)就很好區(qū)分那個(gè)時(shí)候用wire那個(gè)時(shí)候用reg了。

2什么時(shí)候定義wire型變量

2.1輸入變量input以及雙向變量inout

輸入進(jìn)來的變量都會使用wire來定義,這是因?yàn)閕nput的意思是輸入引腳的意思,你輸入到芯片內(nèi)部的引腳是不可能具有存儲功能的,一般你輸入進(jìn)來的變量都需要去連接到某個(gè)特定位置去參與邏輯運(yùn)算。因此這個(gè)信號也都是做連線使用,所以一般定義為wire。同理inout也是這個(gè)原理必須使用wire來定義。

2.2例化過程中兩個(gè)模塊的連接

在進(jìn)行例化的過程中我們經(jīng)常遇到這種情形,需要將兩個(gè)模塊兒通過線連起來,這個(gè)時(shí)候,我們就需要定義一個(gè)線型的變量,兩段分別連接兩個(gè)模塊所對應(yīng)的引腳。

2.3assign語句被指定的對象也被定義為wire

assign本身的意思就是指定,例如

assign andv = a&b;

其中的意思就是指定andv的值為a&b的值,由于它不受時(shí)鐘的約束,所以他是一個(gè)立即生成的組合邏輯,因此它不需要存儲信號的值,也不能存儲信號的值,因此這種語句在使用時(shí)被指定的信號只能用wire來定義它的變量類型。

2.4 部分output類型的變量

對于FPGA中的輸出頂層只能為wire類型的變量,而被例化的模塊兒內(nèi)部的output既可以為wire型的變量也可以為reg型的變量,這是因?yàn)樵贔PGA內(nèi)部的變量的輸出取決于信號的源頭是從組合電路中輸出的還是從時(shí)序電路中輸出的,無論那種輸出對應(yīng)的外部例化都有一個(gè)線與之連接,而頂層模塊中的output直接是連接到外部的輸出引腳,而這個(gè)輸出的外部的真實(shí)引腳與內(nèi)部的虛擬的信號必須要有一個(gè)信號線連接,所以這種情況就必須使用wire來作為信號的定義。

3什么時(shí)候定義reg型變量

3.1由always引導(dǎo)的時(shí)序邏輯電路

在時(shí)序邏輯電路中,信號不是立即發(fā)生變化,而是在驅(qū)動(dòng)時(shí)鐘到來后才開始變化,這種電路需要臨時(shí)存儲信號的信息,固需要用reg來定義時(shí)序邏輯電路中的變量。

3.2在做仿真是initial中的變量也用reg型變量定義

這是因?yàn)閕nitial中的變量是需要你賦初值的,有初始值就需要你有相應(yīng)的存儲位置,那么這必定是一個(gè)reg類型的變量。

3.3部分output中的變量

在非頂層模塊中的部分output中的變量如果是直接從時(shí)序邏輯電路中運(yùn)算出來的信號,可以直接定義為reg類型的變量輸出,如果直接從組合邏輯電路中輸出來的電路信號則只需要定義成wire類型的變量即可。
總而言之,究竟在什么時(shí)候定義它的數(shù)據(jù)類型,完全取決于它的電路需要,我們上面所總結(jié)的幾種情形是從我需要用在那些情形下,所以在這些情形下我應(yīng)該定義什么樣的參數(shù)類型,這其實(shí)是一種就著結(jié)果看方法的方式,最好的方式應(yīng)該是我需要設(shè)計(jì)的電路電路早已胸有成竹,固我需要什么樣的定義來服務(wù)我的電路。
熟能生巧,當(dāng)你熟悉了以后,什么時(shí)候定義什么變量都是理所應(yīng)當(dāng)。如果覺得我的文章對你有用請給我點(diǎn)贊關(guān)注和收藏,如果有那那些不妥的地方請?jiān)u論指正。文章來源地址http://www.zghlxwxcb.cn/news/detail-763017.html

到了這里,關(guān)于淺顯易懂-Verilog中什么時(shí)候用wire?什么時(shí)候用reg?wire與reg只有又有啥區(qū)別?如何去選擇性的使用呢?的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SystemVerilog logic、wire、reg數(shù)據(jù)類型詳解

    ????????在Verilog中, wire 和 reg 是最常見的兩種數(shù)據(jù)類型,也是初學(xué)者非常容易混淆的概念。? ? ? ? ? ?SystemVerilog的一大改進(jìn)是支持 logic 數(shù)據(jù)類型,它在多數(shù)時(shí)候可以不加區(qū)分地替代 wire 和 reg 。但如果不熟悉 logic 的限制隨意使用,也容易遇到意想不到的錯(cuò)誤。本文主

    2024年02月06日
    瀏覽(17)
  • Java入門基礎(chǔ):淺顯易懂 死循環(huán)

    ??死循環(huán)就是循環(huán)語句的 循環(huán)布爾表達(dá)式 一直為true,沒有終止循環(huán)的條件或者終止循環(huán)的條件根本不可能達(dá)成 ??避免死循環(huán)的方法只有一個(gè):給循環(huán)語句加上終止循環(huán)的條件

    2024年02月04日
    瀏覽(18)
  • 數(shù)字邏輯電路設(shè)計(jì)例化模塊輸入輸出,何時(shí)用reg,何時(shí)用wire?

    數(shù)字邏輯電路設(shè)計(jì)例化模塊輸入輸出,何時(shí)用reg,何時(shí)用wire?

    初學(xué)者應(yīng)該總會遇到這個(gè)問題,許多資料都介紹的是: ? ? ? ?reg? 寄存器類型可以存儲數(shù)據(jù),wire 是一根線,不能存儲保持?jǐn)?shù)據(jù),是如此,但是在例化模塊,或者調(diào)用通用的fifo模板,算法模板時(shí)候,難免經(jīng)常連線,用寄存器打拍~~~ ? ? ? ?下圖中,綠色部分是子模塊,灰色

    2024年02月12日
    瀏覽(17)
  • 超詳解線段樹(淺顯易懂,幾乎涵蓋所有線段樹類型講解,匠心之作,圖文并茂)

    超詳解線段樹(淺顯易懂,幾乎涵蓋所有線段樹類型講解,匠心之作,圖文并茂)

    線段樹是一種 二叉搜索樹 ,而 二叉搜索樹 ,首先 滿足二叉樹 ,即 每個(gè)結(jié)點(diǎn) 最多有 兩顆子樹 ,并且是一顆 搜索樹 ,我們要知道,線段樹的每個(gè)結(jié)點(diǎn)都存儲了 一個(gè)區(qū)間 ,也可以理解成 一個(gè)線段 ,而 搜索 ,就是在這些 線段 上進(jìn)行 搜索操作 得到你想要的 答案 。 線段樹

    2024年02月05日
    瀏覽(20)
  • Verilog中 reg,integer

    整數(shù)(integer) integer類型也是一種寄存器數(shù)據(jù)類型,integer類型的變量為有符號數(shù),而reg類型的變量則為無符號數(shù),除非特別聲明為有符號數(shù) 還有就是integer的位寬為宿主機(jī)的字的位數(shù),但最小為32位,用integer的變量都可以用reg定義,只是用于計(jì)數(shù)更方便而已。 reg,integer,real,

    2024年02月13日
    瀏覽(19)
  • Verilog給reg型變量賦初值

    在使用Verilog進(jìn)行開發(fā)時(shí),有的reg型變量需要賦初值。經(jīng)過嘗試,有三種方法可以實(shí)現(xiàn)給reg變量賦初值。(測試使用的是EP4CE6E22C8開發(fā)板,測試時(shí)使用串口將變量值發(fā)給上位機(jī)。) 1、在定義reg變量時(shí)賦初值: 2、復(fù)位時(shí)給reg變量賦值; 3、用initial語句賦初值: 但是很多資料說

    2024年02月11日
    瀏覽(16)
  • idea創(chuàng)建項(xiàng)目的時(shí)候只有java 21和17

    idea創(chuàng)建項(xiàng)目的時(shí)候只有java 21和17

    今天創(chuàng)建項(xiàng)目,發(fā)現(xiàn)java這一項(xiàng)只有21和17 因?yàn)閟pring2在23年11月24日停止維護(hù)了,所以通過spring來創(chuàng)建,沒有spring2,只有spring3+,最低jdk版本也是17 要是還想用spring2,可以更換 Server Url ,默認(rèn)是spring的服務(wù)器地址 start.spring.io ,現(xiàn)在更換成阿里云的 https://start.aliyun.com ,更換以后,

    2024年01月19日
    瀏覽(31)
  • 什么是鏈游?鏈游又有哪些風(fēng)險(xiǎn)?

    什么是鏈游?鏈游又有哪些風(fēng)險(xiǎn)?

    最近隨著元宇宙這個(gè)概念的興起與發(fā)展,打著Play to Earn玩游戲掙錢的口號,鏈游以星火燎原的態(tài)勢迅速發(fā)展。一邊玩游戲,一邊賺錢,可是很多人的夢想,那么到底什么是鏈游?鏈游就是區(qū)塊鏈游戲,英文叫GameFi,區(qū)塊鏈游戲把游戲與金融相融合,簡單來說就是將去中心化的

    2024年02月11日
    瀏覽(18)
  • 什么是對象存儲COS?它又有哪些優(yōu)勢?

    對象存儲(Cloud Object Storage,COS)是騰訊云提供的一種存儲海量文件的分布式存儲服務(wù),用戶可通過網(wǎng)絡(luò)隨時(shí)存儲和查看數(shù)據(jù)。騰訊云 COS 使所有用戶都能使用具備高擴(kuò)展性、低成本、可靠和安全的數(shù)據(jù)存儲服務(wù)。 COS 通過控制臺、API、SDK 和工具等多樣化方式簡單、快速地接入

    2024年01月16日
    瀏覽(23)
  • 路由器和交換機(jī)有什么區(qū)別各自又有什么作用

    隨著社會的發(fā)展,很多家庭都擁有2臺或者數(shù)臺電腦,為了實(shí)現(xiàn)電腦的共同上網(wǎng),路由器和交換機(jī)也慢慢的被更多人認(rèn)知,但是由于家用路由器和交換機(jī)從外面看起來很像,很多人都不知道路由器和交換機(jī)的區(qū)別,以及各自又有什么作用。 路由器 路由器和交換機(jī)的區(qū)別:交換

    2024年02月07日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包