国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

fpga中always時(shí)序模塊對(duì)變量賦值(變量何時(shí)更新值)

2022-08-04 09:13 作者:GXTon_阿通  | 我要投稿

在verilog語(yǔ)句中

一個(gè)always就是一個(gè)獨(dú)立的程序塊.

"獨(dú)立"說(shuō)明是,單獨(dú)運(yùn)行.


多個(gè)always之間是并行的.


通常情況下:

按照程序的習(xí)慣,最好是一個(gè)always只處理一個(gè)信號(hào).否則容易邏輯混亂.

比如:

(如下圖, 里面包含data和key兩個(gè)變量,放到了一個(gè)always模塊中? ,不推薦這種寫(xiě)法).

對(duì)于上面代碼有些疑問(wèn),起中244行和245行:

// 在復(fù)位后,第一個(gè)時(shí)鐘上升沿,key從0變?yōu)?,

//那么,第第一個(gè)時(shí)鐘上升沿時(shí),那一刻,key的值是多少?

key <= ~key;?

// 上面key從上升沿的時(shí)候,從0變成了1,那么,下面的if是否滿(mǎn)足呢?

if(key == 1)?

??? data <= 1;


這里可以先給大家答案, 復(fù)位后第一個(gè)上升沿到來(lái)時(shí),

key 的值是1.

if里key的值還沒(méi)有來(lái)得及更新,所以data是0.

下面就開(kāi)始分析一下:

上面代碼雖然是一個(gè)always,

但是它包含了兩個(gè)變量,所以,為了看清楚,可以把兩個(gè)變量拆分到不同的always模塊中,推薦這種風(fēng)格的代碼寫(xiě)法.

即:(這個(gè)代碼和上面的代碼是等效的.)

運(yùn)行結(jié)果:

總結(jié):

一個(gè)變量在always模塊中進(jìn)行變化,
如果key在上升沿加加,那么key值會(huì)立刻進(jìn)行變化.

但是變化的key值,在其他always模塊中并沒(méi)有即時(shí)更新,

在其他模塊中key值還是原來(lái)的值,

這就有了滯后.


為了更加清楚,再次舉例:


運(yùn)行結(jié)果:

data會(huì)滯后key一拍,雖然代碼中是同時(shí)運(yùn)行的.


fpga中always時(shí)序模塊對(duì)變量賦值(變量何時(shí)更新值)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
新沂市| 大冶市| 朝阳县| 綦江县| 古浪县| 宝兴县| 丹东市| 兰溪市| 岳阳县| 太白县| 洱源县| 游戏| 招远市| 毕节市| 吉木萨尔县| 若羌县| 东乡族自治县| 南郑县| 通许县| 安龙县| 大新县| 凤山县| 海丰县| 绥棱县| 抚远县| 隆安县| 安新县| 保山市| 乌鲁木齐市| 都匀市| 肇庆市| 太仓市| 深泽县| 屯昌县| 乌兰浩特市| 三原县| 宁化县| 安顺市| 翼城县| 巫溪县| 西藏|