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

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

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

Verilog的非阻塞賦值:

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

其中,復(fù)位信號rst_n初始化RA(a)為0, RB(b)為1。觀察其物理連接,在時(shí)鐘沿作用下,兩個(gè)寄存器將互相交換數(shù)據(jù)。(同時(shí)交換)
為以上電路模型進(jìn)行驗(yàn)證,在循環(huán)行為體并分別使用阻塞賦值和非阻塞賦值。并驗(yàn)證其前仿和后仿,觀察對比真實(shí)性。
應(yīng)該得到的結(jié)論:
使用阻塞賦值:前仿不真實(shí)(沒有發(fā)生兩個(gè)寄存器的交換),后仿真實(shí)(發(fā)生交換)
使用非阻塞賦值:前仿真實(shí)(交換),后仿真實(shí)(交換)
基于以上結(jié)論:
“倒阻派”認(rèn)為,沒有使用阻塞賦值的必要,必須在行為語句賦值中全部使用非阻塞。
“挺阻派”認(rèn)為,基于電平敏感賦值用阻塞,沿敏感賦值用非阻塞,阻塞語句是必要的。
2000年以后,進(jìn)入從“綜合為王”進(jìn)入“驗(yàn)證為王”的時(shí)代。同樣的Verilog代碼需要回到電腦中,用于非綜合目的。驗(yàn)證代碼中的賦值驅(qū)動(dòng)與軟件編寫概念相同,帶來非常大的便利。這就是“阻塞”賦值的反轉(zhuǎn)。
編輯:jq
-
非阻塞賦值
+關(guān)注
關(guān)注
0文章
11瀏覽量
10131 -
阻塞
+關(guān)注
關(guān)注
0文章
24瀏覽量
8454
原文標(biāo)題:FPGA學(xué)習(xí):阻塞賦值和非阻塞賦值的可綜合性
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
比斯特綜合性能測試機(jī)提升電池組性能驗(yàn)證效率精度
電信接收機(jī) IF/RF 前端 SAW 濾波方案:70–300MHz 選擇性提升 + 阻塞防護(hù) + 匹配驗(yàn)證全流程(FSF-5050 系列)
比斯特電池組綜合性能測試機(jī)的一站式解決方案
簡述阻塞賦值和非阻塞賦值的可綜合性
評論