一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

電子工程師 ? 來(lái)源:FPGA設(shè)計(jì)論壇 ? 作者:FPGA設(shè)計(jì)論壇 ? 2021-05-12 09:45 ? 次閱讀

阻塞賦值和非阻塞賦值的可綜合性

Blocking Assignment阻塞賦值和NonBlocking Assignment非阻塞賦值,原本是軟件進(jìn)程管理的術(shù)語(yǔ)。由于Verilog團(tuán)隊(duì)是從C語(yǔ)言發(fā)展,所以基于的C的術(shù)語(yǔ)和概念出現(xiàn)在EDA中,原本是一個(gè)“誤打誤撞”,但歷史造成的現(xiàn)實(shí)則是:必須理解和正確掌握它們的用法。

軟件中阻塞進(jìn)程,是指調(diào)用返回之前,應(yīng)用進(jìn)程一直等待:

395df0f8-b2a3-11eb-bf61-12bb97331649.png

為了保證應(yīng)用進(jìn)程的效率,不至于被子程序的運(yùn)算過(guò)程“掛起”。非阻塞進(jìn)程得到應(yīng)用:

3968d040-b2a3-11eb-bf61-12bb97331649.png

在非阻塞賦值進(jìn)程中,無(wú)論子程序是否返回,不影響應(yīng)用進(jìn)程的正常運(yùn)行。C語(yǔ)言的阻塞和非阻塞概念被Verilog團(tuán)隊(duì)引用,Verilog的阻塞賦值:

39747fe4-b2a3-11eb-bf61-12bb97331649.png

Verilog的非阻塞賦值:

3984bb34-b2a3-11eb-bf61-12bb97331649.png

關(guān)于阻塞和非阻塞爭(zhēng)議中,有一個(gè)辯論雙方都引用的電路模型:反饋震蕩器:

398e8ede-b2a3-11eb-bf61-12bb97331649.png

其中,復(fù)位信號(hào)rst_n初始化RA(a)為0, RB(b)為1。觀察其物理連接,在時(shí)鐘沿作用下,兩個(gè)寄存器將互相交換數(shù)據(jù)。(同時(shí)交換)

為以上電路模型進(jìn)行驗(yàn)證,在循環(huán)行為體并分別使用阻塞賦值和非阻塞賦值。并驗(yàn)證其前仿和后仿,觀察對(duì)比真實(shí)性。

應(yīng)該得到的結(jié)論:

使用阻塞賦值:前仿不真實(shí)(沒有發(fā)生兩個(gè)寄存器的交換),后仿真實(shí)(發(fā)生交換)

使用非阻塞賦值:前仿真實(shí)(交換),后仿真實(shí)(交換)

基于以上結(jié)論:

“倒阻派”認(rèn)為,沒有使用阻塞賦值的必要,必須在行為語(yǔ)句賦值中全部使用非阻塞。

“挺阻派”認(rèn)為,基于電平敏感賦值用阻塞,沿敏感賦值用非阻塞,阻塞語(yǔ)句是必要的。

2000年以后,進(jìn)入從“綜合為王”進(jìn)入“驗(yàn)證為王”的時(shí)代。同樣的Verilog代碼需要回到電腦中,用于非綜合目的。驗(yàn)證代碼中的賦值驅(qū)動(dòng)與軟件編寫概念相同,帶來(lái)非常大的便利。這就是“阻塞”賦值的反轉(zhuǎn)。

編輯:jq

聲明:本文內(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)投訴
  • 非阻塞賦值
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    10055
  • 阻塞
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    8224

原文標(biāo)題:FPGA學(xué)習(xí):阻塞賦值和非阻塞賦值的可綜合性

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    “串口阻塞”你真的會(huì)用嗎?

    很久才會(huì)發(fā)出來(lái),一下子出來(lái)很多數(shù)據(jù)”。經(jīng)過(guò)幫客戶檢查應(yīng)用程序源碼,發(fā)現(xiàn)應(yīng)用程序在串口阻塞方面沒有做正確的處理,修改后解決。阻塞打開串口open("/dev/tty
    的頭像 發(fā)表于 02-13 11:42 ?563次閱讀
    “串口<b class='flag-5'>阻塞</b>”你真的會(huì)用嗎?

    數(shù)組名之間可以直接賦值

    數(shù)組之間的賦值能不能直接使用等于號(hào)?比如這樣的代碼。 int main(){ int a[5] = {1, 2, 3, 4, 5}; int b[5] = {0}; b = a
    的頭像 發(fā)表于 11-26 11:23 ?442次閱讀

    TPA3004功放,開機(jī)保護(hù),聲音阻塞,為什么?

    TPA3004功放,開機(jī)保護(hù),聲音阻塞。過(guò)一段時(shí)間,芯片發(fā)熱后正常。詢求問(wèn)題解決方法
    發(fā)表于 11-08 08:30

    socket編程中的阻塞阻塞

    在網(wǎng)絡(luò)編程中, socket 是一個(gè)非常重要的概念,它提供了一個(gè)抽象層,使得開發(fā)者可以不必關(guān)心底層的網(wǎng)絡(luò)通信細(xì)節(jié)。 socket 編程中的阻塞阻塞模式是兩種不同的操作方式,它們對(duì)程序的響應(yīng)
    的頭像 發(fā)表于 11-01 16:13 ?533次閱讀

    Verilog HDL的基礎(chǔ)知識(shí)

    本文繼續(xù)介紹Verilog HDL基礎(chǔ)知識(shí),重點(diǎn)介紹賦值語(yǔ)句、阻塞阻塞、循環(huán)語(yǔ)句、同步與異步、函數(shù)與任務(wù)語(yǔ)法知識(shí)。
    的頭像 發(fā)表于 10-24 15:00 ?937次閱讀
    Verilog HDL的基礎(chǔ)知識(shí)

    socket阻塞阻塞的區(qū)別是什么

    在計(jì)算機(jī)編程中,socket 是一種通信端點(diǎn),用于在網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)傳輸。Socket 可以是阻塞的或阻塞的,這兩種模式在處理數(shù)據(jù)傳輸時(shí)有不同的行為。 阻塞模式(Blocking Mo
    的頭像 發(fā)表于 08-16 11:13 ?1040次閱讀

    求助,關(guān)于CyU3PUsbHostEpWaitForCompletion函數(shù)中的阻塞問(wèn)題求解

    主線程)調(diào)用該函數(shù)時(shí),CyU3PUsbHostEpWaitForCompletion 函數(shù)經(jīng)常阻塞,雖然指定了超時(shí)值,但從未返回。 我想應(yīng)該在主程序線程中調(diào)用該函數(shù),以避免出現(xiàn)阻塞問(wèn)題。 如何正確使用該功能而不造成
    發(fā)表于 07-23 07:57

    如何在espconn_gethostbyname上創(chuàng)建阻塞線程?

    在 espconn_gethostbyname 上創(chuàng)建阻塞線程
    發(fā)表于 07-10 07:45

    是否可以使用Aurix中的CCU6模塊,以阻塞方式在檢測(cè)到GPIO下降沿時(shí)觸發(fā)中斷?

    我想知道,是否可以使用 Aurix 中的 CCU6 模塊,以阻塞方式在檢測(cè)到 GPIO 下降沿時(shí)觸發(fā)中斷? TC397 的示例代碼僅將其用于 PWM 生成和時(shí)鐘定時(shí),但我很好奇如何將其用于 GPIO 邊沿檢測(cè)。
    發(fā)表于 07-04 07:00

    FPGA學(xué)習(xí)筆記---基本語(yǔ)法

    :task...endtask 11、循環(huán)語(yǔ)句:for 12、賦值符號(hào):=和<=(阻塞阻塞賦值) 硬件設(shè)計(jì)的精髓,力求用最簡(jiǎn)單的語(yǔ)
    發(fā)表于 06-23 14:58

    請(qǐng)問(wèn)使用lwip創(chuàng)建socket,該如何做到阻塞的接收發(fā)送數(shù)據(jù)?

    請(qǐng)問(wèn)使用lwip創(chuàng)建socket,該如何做到阻塞的接收發(fā)送數(shù)據(jù)?
    發(fā)表于 06-19 06:02

    如何讓write行為具有阻塞特性?

    spp_vfs_write 與 PC 端 socket 溝通:esp32 write, PC read.若 PC 端不執(zhí)行 read 行為,esp32 持續(xù) spp_vfs_write ,數(shù)據(jù)會(huì)發(fā)送到 PC 端嗎?還是在 esp32 設(shè)備端 ?謝謝。另如何讓 write 行為具有阻塞特性?謝謝。
    發(fā)表于 06-11 07:23

    關(guān)于Verilog的一些基本語(yǔ)法

    ,當(dāng)然除了這種方式還有 <=(阻塞賦值)這種方式;阻塞賦值 = (例如 a = b;):a的值在
    發(fā)表于 05-31 18:31

    簡(jiǎn)談FPGA研發(fā)設(shè)計(jì)相關(guān)規(guī)范(很實(shí)用)

    ,trior,real,disable,forever,arrays,memories,repeat,task,while。 建立綜合模型的原則 要保證Verilog HDL賦值語(yǔ)句的
    發(fā)表于 05-13 15:39