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

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

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

FPGA基礎(chǔ)篇(一):阻塞與非阻塞賦值,不只是比原始信號(hào)差一個(gè)時(shí)鐘周期的問(wèn)題?。ㄉ钊肫饰觯?/h1>

阻塞與非阻塞賦值

首先從名字上理解,阻塞賦值即賦值沒(méi)完成,后邊的語(yǔ)句將無(wú)法執(zhí)行,非阻塞剛好與其相反,即賦值完不完成并不阻礙后續(xù)程序的執(zhí)行,所以我們常說(shuō)非阻塞賦值的對(duì)象并未立馬得到新值,如果從時(shí)序來(lái)看,被賦值對(duì)象會(huì)比賦值對(duì)象差一個(gè)時(shí)鐘周期。

有了上述理解之后,我們就很容易明白為什么阻塞賦值的對(duì)象會(huì)立即發(fā)生改變,在fpga中我們多接觸到的是時(shí)序電路,并不希望被賦值對(duì)象立即改變,所以有對(duì)于組合電路而言,常用阻塞賦值,時(shí)序電路常用非阻塞賦值。

先看一個(gè)大家都熟悉的例子:

先看非阻塞代碼:

01.png

clk為主時(shí)鐘分頻之后的時(shí)鐘,clk先賦值給a,然后a在賦值給b,看一看生成的電路圖

02.png

可以看出是兩個(gè)觸發(fā)器,而且前一個(gè)觸發(fā)器的輸出是后一個(gè)觸發(fā)器的輸入,再來(lái)看看阻塞的

03.png

04.png

由于完全為組合電路并未有觸發(fā)器產(chǎn)生,從仿真結(jié)果來(lái)看兩種的區(qū)別

05.png

相信大家能夠很容易看出哪個(gè)是阻塞的,哪個(gè)是非阻塞的,從非阻塞的時(shí)序來(lái)看,a比clk延遲了一個(gè)主時(shí)鐘,b比a又延遲了一個(gè)主時(shí)鐘,這不是我想說(shuō)的重點(diǎn),我想讓大家看看a和b是什么時(shí)候開(kāi)始發(fā)生變化的,教材上一直說(shuō)是當(dāng)整個(gè)進(jìn)程結(jié)束時(shí),a和b的值才發(fā)生更新,試問(wèn)你知道什么時(shí)候進(jìn)程結(jié)束么?從仿真結(jié)果來(lái)看,還不如理解為,在每個(gè)時(shí)鐘的上升沿到來(lái)時(shí)a,b的值立即改變,只不過(guò)比原始信號(hào)差一個(gè)時(shí)鐘周期。

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

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601238
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Verilog語(yǔ)言中阻塞阻塞賦值的不同

    來(lái)源:《Verilog數(shù)字系統(tǒng)設(shè)計(jì)(夏宇聞)》 阻塞阻塞賦值的語(yǔ)言結(jié)構(gòu)是Verilog 語(yǔ)言中最難理解概念之。甚至有些很有經(jīng)驗(yàn)的Ver
    的頭像 發(fā)表于 08-17 16:18 ?6322次閱讀

    fpga基礎(chǔ)():阻塞阻塞賦值

    時(shí)鐘,ba又延遲了個(gè)時(shí)鐘,這不是我想說(shuō)的重點(diǎn),我想讓大家看看a和b是什么時(shí)候開(kāi)始發(fā)生變化的,教材上
    發(fā)表于 04-05 09:53

    【技巧分享】FPGA至簡(jiǎn)設(shè)計(jì)-阻塞賦值阻塞賦值

    阻塞阻塞作者:小黑同學(xué)、 概述1、阻塞賦值對(duì)應(yīng)的電路往往與觸發(fā)沿沒(méi)有關(guān)系,只與電平的變化有
    發(fā)表于 04-24 14:49

    verilog中阻塞賦值阻塞賦值

    阻塞阻塞語(yǔ)句作為verilog HDL語(yǔ)言的最大難點(diǎn)之,直困擾著FPGA設(shè)計(jì)者,即使是
    發(fā)表于 03-15 10:57 ?6986次閱讀

    深入理解阻塞阻塞賦值

    這是個(gè)很好的學(xué)習(xí)阻塞阻塞的資料,對(duì)于FPGA的學(xué)習(xí)有很大幫助。
    發(fā)表于 04-22 11:00 ?11次下載

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

    設(shè)計(jì)背景: 阻塞 (=)和阻塞(=)直是在我們FPGA中討論的問(wèn)題,資深的學(xué)者都是討論的是賦值
    的頭像 發(fā)表于 05-31 11:40 ?6750次閱讀
    <b class='flag-5'>FPGA</b>學(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ā)沿沒(méi)有關(guān)系,只與輸入電平的變化有關(guān)系。阻塞賦值對(duì)應(yīng)的電路結(jié)構(gòu)往往與觸發(fā)沿有關(guān)系,只有在觸發(fā)沿時(shí)才有可能發(fā)生
    的頭像 發(fā)表于 06-17 11:57 ?1.1w次閱讀
    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ǔ)言:清阻塞賦值阻塞賦值

    不清楚,Bug就會(huì)找到我們,下面文掃清阻塞賦值阻塞賦值所有的障礙。 基本概念
    發(fā)表于 11-19 15:48 ?1112次閱讀

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

    ,所以基于的C的術(shù)語(yǔ)和概念出現(xiàn)在EDA中,原本是個(gè)“誤打誤撞”,但歷史造成的現(xiàn)實(shí)則是:必須理解和正確掌握它們的用法。 軟件中阻塞進(jìn)程,是指調(diào)用返回之前,應(yīng)用進(jìn)程直等待: 為了保證應(yīng)
    的頭像 發(fā)表于 05-12 09:45 ?2680次閱讀
    簡(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>的可綜合性

    時(shí)序邏輯中的阻塞阻塞

    Verilog HDL的賦值語(yǔ)句分為阻塞賦值阻塞賦值兩種。
    的頭像 發(fā)表于 03-15 13:53 ?2954次閱讀

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

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

    文了解阻塞賦值阻塞賦值

    今天給大家普及阻塞賦值阻塞賦值的相關(guān)知識(shí)
    的頭像 發(fā)表于 07-07 14:15 ?2076次閱讀
    <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'>賦值</b>

    阻塞賦值阻塞賦值

    ”=“阻塞賦值與”
    的頭像 發(fā)表于 09-12 09:06 ?968次閱讀
    <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ū)別,以及阻塞賦值阻塞賦值的區(qū)別。 、Verilog中同步和異
    的頭像 發(fā)表于 02-22 15:33 ?1433次閱讀