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

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

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

阻塞賦值與非阻塞賦值

FPGA學(xué)習(xí)筆記 ? 來源:FPGA學(xué)習(xí)筆記 ? 作者:FPGA學(xué)習(xí)筆記 ? 2023-09-12 09:06 ? 次閱讀

”=“阻塞賦值”<=“非阻塞賦值verilog語(yǔ)言中的兩種不同的賦值方式,下面將對(duì)兩種賦值方式進(jìn)行比較。方便進(jìn)行理解和使用。

阻塞賦值:=阻塞賦值為執(zhí)行完一條賦值語(yǔ)句之后再執(zhí)行下一條,可以理解為順序執(zhí)行,而且賦值是立即執(zhí)行;

非阻塞賦值:<=可以理解為并行執(zhí)行,不考慮順序,在always塊語(yǔ)句執(zhí)行完成之后才進(jìn)行賦值。

下面提供一段黑金官方的仿真程序,各位可以自行進(jìn)行仿真對(duì)比:

(源程序)

module top (din , a , b , c , clk) ;

input din ;

input clk ;

output reg a, b, c;

always @ (posedge clk)

begin

a = din ;

b = a ;

c = b ;

end

endmodule

(激勵(lì)文件)

`timescale 1ns / 1ns

module top_tb () ;

reg din ;

reg clk ;

wire a, b, c ;

initial

begin

din = 0 ;

clk = 0 ;

forever

begin

#({$random}%100)

din = ~din ;

end

end

always #10 clk = ~clk ;

top

t0 (.din(din) , .a(a) , b(b) , .c(c) , .clk(clk)) ;

endmodule

同時(shí)也可以通過RTL圖的不同來發(fā)現(xiàn)兩者的區(qū)別:

wKgaomT_A_OAMsk1AADZ_NFvZ2k301.png

注意 :一般情況下,在時(shí)序邏輯電路中使用非阻塞賦值,可以避免仿真時(shí)出現(xiàn)競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象;在組合邏輯中使用阻塞賦值,執(zhí)行賦值語(yǔ)句之后立即改變;在assign語(yǔ)句中必須使用阻塞賦值。

審核編輯:湯梓紅

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

    關(guān)注

    1

    文章

    388

    瀏覽量

    60663
  • 時(shí)序邏輯電路
    +關(guān)注

    關(guān)注

    2

    文章

    94

    瀏覽量

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

    關(guān)注

    0

    文章

    10

    瀏覽量

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

    關(guān)注

    0

    文章

    11

    瀏覽量

    10063
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    在testbench中如何使用阻塞賦值阻塞賦值

    本文詳細(xì)闡述了在一個(gè)testbench中,應(yīng)該如何使用阻塞賦值阻塞賦值。首先說結(jié)論,建議在testbench中,對(duì)時(shí)鐘信號(hào)(包括分頻時(shí)鐘
    的頭像 發(fā)表于 04-15 09:34 ?539次閱讀
    在testbench中如何使用<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>

    【FPGA開源教程連載】第六章 阻塞賦值阻塞賦值

    阻塞賦值阻塞賦值原理分析實(shí)驗(yàn)?zāi)康模赫莆?b class='flag-5'>阻塞賦值
    發(fā)表于 12-25 01:51

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

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

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

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

    verilog中阻塞賦值阻塞賦值

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

    veriolg中阻塞賦值阻塞賦值區(qū)別

      在一開始學(xué)到阻塞阻塞的時(shí)候,所被告知的兩者的區(qū)別就在于阻塞是串行的,阻塞是并行的。但是
    發(fā)表于 09-16 09:34 ?4次下載

    FPGA學(xué)習(xí)系列:5.阻塞賦值阻塞賦值

    設(shè)計(jì)背景: 阻塞 (=)和阻塞(=)一直是在我們FPGA中討論的問題,資深的學(xué)者都是討論的是賦值應(yīng)該發(fā)生在上升下降沿還是在哪里,我們?cè)诜抡嬷锌吹目赡苁巧仙陆凳菧?zhǔn)確的,但是在時(shí)間電路
    的頭像 發(fā)表于 05-31 11:40 ?7107次閱讀
    FPGA學(xué)習(xí)系列:5.<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>

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

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

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

    阻塞賦值對(duì)應(yīng)的電路往往與觸發(fā)沿沒有關(guān)系,只與輸入電平的變化有關(guān)系。阻塞賦值對(duì)應(yīng)的電路結(jié)構(gòu)往往與觸發(fā)沿有關(guān)系,只有在觸發(fā)沿時(shí)才有可能發(fā)生
    的頭像 發(fā)表于 06-17 11:57 ?1.2w次閱讀
    IEEE Verilog<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>的區(qū)別

    VerilogHDL語(yǔ)言:清阻塞賦值阻塞賦值

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

    基于阻塞賦值阻塞賦值的多級(jí)觸發(fā)器級(jí)聯(lián)實(shí)例

    下面給出一個(gè)基于阻塞賦值阻塞賦值的多級(jí)觸發(fā)器級(jí)聯(lián)實(shí)例,要求將輸入數(shù)據(jù)延遲 3 個(gè)時(shí)鐘周期再輸出,并給出對(duì)應(yīng)的 RTL 級(jí)結(jié)構(gòu)圖和仿真結(jié)果
    的頭像 發(fā)表于 05-08 14:47 ?2431次閱讀
    基于<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>的多級(jí)觸發(fā)器級(jí)聯(lián)實(shí)例

    簡(jiǎn)述阻塞賦值阻塞賦值的可綜合性

    阻塞賦值阻塞賦值的可綜合性 Blocking Assignment阻塞
    的頭像 發(fā)表于 05-12 09:45 ?2952次閱讀
    簡(jiǎn)述<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ū)別

    阻塞賦值操作符用等號(hào)(即 = )表示?!?b class='flag-5'>阻塞”是指在進(jìn)程語(yǔ)句(initial和always)中,當(dāng)前的賦值語(yǔ)句阻斷了其后的語(yǔ)句,也就是說后面的語(yǔ)句必須等到當(dāng)前的
    發(fā)表于 12-19 16:49 ?8113次閱讀

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

    今天給大家普及一下阻塞賦值阻塞賦值的相關(guān)知識(shí)
    的頭像 發(fā)表于 07-07 14:15 ?2522次閱讀
    一文了解<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是一種硬件描述語(yǔ)言,用于設(shè)計(jì)和模擬數(shù)字電路。在Verilog中,同步和異步是用來描述數(shù)據(jù)傳輸和信號(hào)處理的兩種不同方式,而阻塞賦值阻塞
    的頭像 發(fā)表于 02-22 15:33 ?2241次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品