那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

IEEE Verilog阻塞賦值和非阻塞賦值的區(qū)別

姚小熊27 ? 來源:電路城論壇 ? 作者:tian2659 ? 2020-06-17 11:57 ? 次閱讀

阻塞賦值對應(yīng)的電路往往與觸發(fā)沿沒有關(guān)系,只與輸入電平的變化有關(guān)系。

非阻塞賦值對應(yīng)的電路結(jié)構(gòu)往往與觸發(fā)沿有關(guān)系,只有在觸發(fā)沿時才有可能發(fā)生賦值的情況。

1、阻塞賦值操作符用等號(即 = )表示。“阻塞”是指在進(jìn)程語句(initial和always)中,當(dāng)前的賦值語句阻斷了其后的語句,也就是說后面的語句必須等到當(dāng)前的賦值語句執(zhí)行完畢才能執(zhí)行。而且阻塞賦值可以看成是一步完成的,即:計算等號右邊的值并同時賦給左邊變量。例如:

IEEE Verilog阻塞賦值和非阻塞賦值的區(qū)別

當(dāng)執(zhí)行“x=next_x;”時,x會立即的到next_x的值。而下一句“y=x;”必須等到“x=next_x;”執(zhí)行完畢才能被執(zhí)行。由于這兩條語句都沒有延遲(相當(dāng)于導(dǎo)線),導(dǎo)致他們的等價語句為“y=next_x;”。

賦值是實時的,計算完右面的馬上賦值給左邊的,然后再執(zhí)行下一句,操作時串行的,且在一個alway內(nèi)完成。

2、非阻塞賦值操作符用小于等于號 (即 《= )表示。“非阻塞”是指在進(jìn)程語句(initial和always)中,當(dāng)前的賦值語句不會阻斷其后的語句。非阻塞語句可以認(rèn)為是分為兩個步驟進(jìn)行的:

①計算等號右邊的表達(dá)式的值,(我的理解是:在進(jìn)入進(jìn)程后,所有的非阻塞語句的右端表達(dá)式同時計算,賦值動作只發(fā)生在順序執(zhí)行到當(dāng)前非阻塞語句那一刻)。

②在本條賦值語句結(jié)束時,將等號右邊的值賦給等號左邊的變量。

例如:

當(dāng)執(zhí)行“x《=next_x;”時,并不會阻斷語句“y《=x;”的執(zhí)行。因此,語句“y《=x;”中的x的值與語句“x《=next_x;”中的x的值不同:語句“y《=x;”中的x是第一個D觸發(fā)器的初值(Q0)。而語句“x《=next_x;”中的x的值是D觸發(fā)器經(jīng)過一個同步脈沖后的輸出值(Q1)。基于此這個進(jìn)程產(chǎn)生了與阻塞賦值進(jìn)程截然不同的結(jié)果,即:產(chǎn)生了移位寄存器的效果。

簡單理解就是,阻塞賦值是按需執(zhí)行,非阻塞賦值是并行執(zhí)行。

為了更好地理解上述要點,我們需要對Verilog 語言中的阻塞賦值和非阻塞賦值的功能和執(zhí)行時間上的差別有深入的了解。為了解釋問題方便下面定義兩個縮寫字:

RHS – 方程式右手方向的表達(dá)式或變量可分別縮寫為:RHS表達(dá)式或RHS變量。LHS – 方程式左手方向的表達(dá)式或變量可分別縮寫為:LHS表達(dá)式或LHS變量。

IEEE Verilog標(biāo)準(zhǔn)定義了有些語句有確定的執(zhí)行時間,有些語句沒有確定的執(zhí)行時間。若有兩條或兩條以上語句準(zhǔn)備在同一時刻執(zhí)行,但由于語句的排列次序不同(而這種排列次序的不同是IEEE Verilog標(biāo)準(zhǔn)所允許的), 卻產(chǎn)生了不同的輸出結(jié)果。這就是造成Verilog模塊冒險和競爭現(xiàn)象的原因。為了避免產(chǎn)生競爭,理解阻塞和非阻塞賦值在執(zhí)行時間上的差別是至關(guān)重要的。

IEEE Verilog阻塞賦值和非阻塞賦值的區(qū)別

IEEE Verilog阻塞賦值和非阻塞賦值的區(qū)別

IEEE Verilog阻塞賦值和非阻塞賦值的區(qū)別

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110396
  • 阻塞賦值
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    9170
  • 非阻塞賦值
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    10019
收藏 人收藏

    評論

    相關(guān)推薦

    Verilog語言中阻塞阻塞賦值的不同

    賦值何時使用阻塞賦值才能設(shè)計出符合要求的電路。 他們也不完全明白在電路結(jié)構(gòu)的設(shè)計中,即可綜合風(fēng)格的Verilog模塊的設(shè)計中,究竟為什么還要用
    的頭像 發(fā)表于 08-17 16:18 ?6447次閱讀

    Verilog阻塞賦值阻塞賦值的正確使用

    [table][tr][td] Verilog中有兩種為變量賦值的方法。一種叫做連續(xù)賦值,另一種叫做過程賦值。過程賦值又分為
    發(fā)表于 07-03 03:06

    Verilog阻塞賦值阻塞賦值區(qū)別是什么

    Verilog阻塞賦值阻塞賦值區(qū)別
    發(fā)表于 12-30 06:22

    阻塞阻塞賦值區(qū)別是什么?

    本文通過Verilog事件處理機(jī)制,詳細(xì)討論了阻塞阻塞賦值區(qū)別、聯(lián)系及其應(yīng)用示例。
    發(fā)表于 05-10 06:59

    verilog阻塞賦值阻塞賦值

    阻塞阻塞語句作為verilog HDL語言的最大難點之一,一直困擾著FPGA設(shè)計者,即使是一個頗富經(jīng)驗的設(shè)計工程師,也很容易在這個點上犯下一些不必要的錯誤。
    發(fā)表于 03-15 10:57 ?7016次閱讀

    阻塞賦值阻塞賦值的用法一篇文章就夠了

    對于VerilogHDL語言中,經(jīng)常在always模塊中,面臨兩種賦值方式:阻塞賦值阻塞賦值
    的頭像 發(fā)表于 01-30 17:41 ?2.2w次閱讀

    verilog阻塞賦值阻塞賦值到底有什么區(qū)別

    1、阻塞賦值操作符用等號(即 = )表示。“阻塞”是指在進(jìn)程語句(initial和always)中,當(dāng)前的賦值語句阻斷了其后的語句,也就是說后面的語句必須等到當(dāng)前的
    發(fā)表于 04-25 08:00 ?0次下載
    <b class='flag-5'>verilog</b>中<b class='flag-5'>阻塞</b><b class='flag-5'>賦值</b>和<b class='flag-5'>非</b><b class='flag-5'>阻塞</b><b class='flag-5'>賦值</b>到底有什么<b class='flag-5'>區(qū)別</b>

    VerilogHDL語言:清阻塞賦值阻塞賦值

    對于VerilogHDL語言中,經(jīng)常在always模塊中,面臨兩種賦值方式:阻塞賦值阻塞賦值
    發(fā)表于 11-19 15:48 ?1192次閱讀

    簡述阻塞賦值阻塞賦值的可綜合性

    阻塞賦值阻塞賦值的可綜合性 Blocking Assignment阻塞
    的頭像 發(fā)表于 05-12 09:45 ?2785次閱讀
    簡述<b class='flag-5'>阻塞</b><b class='flag-5'>賦值</b>和<b class='flag-5'>非</b><b class='flag-5'>阻塞</b><b class='flag-5'>賦值</b>的可綜合性

    簡述Verilog HDL中阻塞語句和阻塞語句的區(qū)別

    ? 在Verilog中有兩種類型的賦值語句:阻塞賦值語句(“=”)和阻塞
    的頭像 發(fā)表于 12-02 18:24 ?6317次閱讀
    簡述<b class='flag-5'>Verilog</b> HDL中<b class='flag-5'>阻塞</b>語句和<b class='flag-5'>非</b><b class='flag-5'>阻塞</b>語句的<b class='flag-5'>區(qū)別</b>

    verilog阻塞賦值阻塞賦值區(qū)別

    阻塞賦值操作符用等號(即 = )表示。“阻塞”是指在進(jìn)程語句(initial和always)中,當(dāng)前的賦值語句阻斷了其后的語句,也就是說后面的語句必須等到當(dāng)前的
    發(fā)表于 12-19 16:49 ?7574次閱讀

    Verilog阻塞阻塞賦值金規(guī)

    對于VerilogHDL語言中,經(jīng)常在always模塊中,面臨兩種賦值方式:阻塞賦值阻塞賦值
    的頭像 發(fā)表于 06-01 09:21 ?1405次閱讀

    一文了解阻塞賦值阻塞賦值

    今天給大家普及一下阻塞賦值阻塞賦值的相關(guān)知識
    的頭像 發(fā)表于 07-07 14:15 ?2274次閱讀
    一文了解<b class='flag-5'>阻塞</b><b class='flag-5'>賦值</b>與<b class='flag-5'>非</b><b class='flag-5'>阻塞</b><b class='flag-5'>賦值</b>

    阻塞賦值阻塞賦值

    ”=“阻塞賦值與”
    的頭像 發(fā)表于 09-12 09:06 ?1115次閱讀
    <b class='flag-5'>阻塞</b><b class='flag-5'>賦值</b>與<b class='flag-5'>非</b><b class='flag-5'>阻塞</b><b class='flag-5'>賦值</b>

    verilog同步和異步的區(qū)別 verilog阻塞賦值阻塞賦值區(qū)別

    Verilog中同步和異步的區(qū)別,以及阻塞賦值阻塞賦值
    的頭像 發(fā)表于 02-22 15:33 ?1834次閱讀
    金赞百家乐的玩法技巧和规则| 奇博国际娱乐网| 百家乐官网路单破解方法| 博彩百家乐在线| bet365手机客户端| 郑州百家乐官网的玩法技巧和规则 | 百家乐轮盘怎么玩| 爱博娱乐| 百家乐ag厅投注限额| 白银市| 百家乐注码法| 百家乐官网博彩金| 大发888我发财官网| 网络百家乐官网输了很多钱| 威尼斯人娱乐场门票| 真人百家乐官网套红利| 申城棋牌网| 百家乐赌博机有鬼吗| 大发888娱乐城大发888达法8| 百家乐什么平台好| 百家乐官网有赢钱公式吗| 全讯网123| 百家乐官网娱乐平台会员注册| 百家乐筹码防伪| 百家乐官网单机版的| 博彩导航| 模拟百家乐的玩法技巧和规则| 赌百家乐官网庄闲能赢| 瑞丰国际娱乐城| 可信百家乐的玩法技巧和规则 | 盛京棋牌网| 百家乐优博u2bet| 百家乐官网群html| 瑞发国际| 利来百家乐的玩法技巧和规则| 百家乐官网龙虎| 大发888登录| 百家乐色子玩法| 百家乐官网打法分析| 大发888怎样存款| 下载百家乐棋牌大厅|