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