專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

Verilog中“=”和“<=”的區(qū)別

作者:未知   來(lái)源:會(huì)員上傳   點(diǎn)擊數(shù):  更新時(shí)間:2014年06月08日   【字體:

 一般情況下使用<=,組合邏輯使用=賦值,時(shí)序邏輯使用<=賦值:

舉個(gè)例子:初始化m=1,n=2,p=3;分別執(zhí)行以下語(yǔ)句
1、begin 
   m=n;n=p;p=m;
   end
2、begin
   m<=n; n<=p; p<=m;
   end
結(jié)果分別是:1、m=2,n=3,p=2;(在給p賦值時(shí)m=2已經(jīng)生效) 
           2、m=2,n=3,p=1;(在begin-end過(guò)程中,m=2一直無(wú)效而是在整體執(zhí)行完后才生效)
這兩種賦值“=”用于阻塞式賦值;“<=”用于非阻塞式賦值中。
阻塞賦值:阻塞賦值語(yǔ)句是在這句之后所有語(yǔ)句執(zhí)行之前執(zhí)行的,即后邊的語(yǔ)句必須在這句執(zhí)行完畢才能執(zhí)行,所以稱為阻塞,實(shí)際上就是順序執(zhí)行。
非阻塞賦值:非阻塞賦值就是與后邊相關(guān)語(yǔ)句同時(shí)執(zhí)行,即就是并行執(zhí)行。
所以一般時(shí)序電路使用非阻塞賦值,assign語(yǔ)句一般使用=阻塞賦值;
組合邏輯電路使用阻塞賦值;
關(guān)閉窗口

相關(guān)文章