阻塞賦值和非阻塞賦值的可綜合性
Blocking Assignment阻塞賦值和NonBlocking Assignment非阻塞賦值,原本是軟件進(jìn)程管理的術(shù)語。由于Verilog團(tuán)隊是從C語言發(fā)展,所以基于的C的術(shù)語和概念出現(xiàn)在EDA中,原本是一個“誤打誤撞”,但歷史造成的現(xiàn)實則是:必須理解和正確掌握它們的用法。
軟件中阻塞進(jìn)程,是指調(diào)用返回之前,應(yīng)用進(jìn)程一直等待:

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

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

Verilog的非阻塞賦值:

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

其中,復(fù)位信號rst_n初始化RA(a)為0, RB(b)為1。觀察其物理連接,在時鐘沿作用下,兩個寄存器將互相交換數(shù)據(jù)。(同時交換)
為以上電路模型進(jìn)行驗證,在循環(huán)行為體并分別使用阻塞賦值和非阻塞賦值。并驗證其前仿和后仿,觀察對比真實性。
應(yīng)該得到的結(jié)論:
使用阻塞賦值:前仿不真實(沒有發(fā)生兩個寄存器的交換),后仿真實(發(fā)生交換)
使用非阻塞賦值:前仿真實(交換),后仿真實(交換)
基于以上結(jié)論:
“倒阻派”認(rèn)為,沒有使用阻塞賦值的必要,必須在行為語句賦值中全部使用非阻塞。
“挺阻派”認(rèn)為,基于電平敏感賦值用阻塞,沿敏感賦值用非阻塞,阻塞語句是必要的。
2000年以后,進(jìn)入從“綜合為王”進(jìn)入“驗證為王”的時代。同樣的Verilog代碼需要回到電腦中,用于非綜合目的。驗證代碼中的賦值驅(qū)動與軟件編寫概念相同,帶來非常大的便利。這就是“阻塞”賦值的反轉(zhuǎn)。
編輯:jq
-
非阻塞賦值
+關(guān)注
關(guān)注
0文章
11瀏覽量
10124 -
阻塞
+關(guān)注
關(guān)注
0文章
24瀏覽量
8433
原文標(biāo)題:FPGA學(xué)習(xí):阻塞賦值和非阻塞賦值的可綜合性
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
電信接收機(jī) IF/RF 前端 SAW 濾波方案:70–300MHz 選擇性提升 + 阻塞防護(hù) + 匹配驗證全流程(FSF-5050 系列)
解析SN65LVDS125A和SN65LVDT125A:4x4非阻塞交叉點開關(guān)的卓越性能
探索SN65LVDS125A和SN65LVDT125A:4x4非阻塞交叉點開關(guān)的卓越性能
綜合性能檢測機(jī)選型要點深度解析及參考
飛凌嵌入式ElfBoard-文件I/O的深入學(xué)習(xí)之阻塞I/O與非阻塞I/O
CH32V307 串口發(fā)送阻塞的原因?怎么解決?
matlab appdesigner 表格組件賦值問題,求助
合肥綜合性國家科學(xué)中心能源研究院與宏微科技達(dá)成合作
CH32V307串口發(fā)送阻塞的原因?如何解決?
在testbench中如何使用阻塞賦值和非阻塞賦值
簡述阻塞賦值和非阻塞賦值的可綜合性
評論