最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
河曲县| 炉霍县| 荃湾区| 桃园市| 莫力| 嘉义市| 临洮县| 织金县| 惠州市| 湘潭县| 宜春市| 昌图县| 敦煌市| 茶陵县| 桦南县| 西宁市| 浠水县| 安国市| 南充市| 伊金霍洛旗| 龙泉市| 加查县| 福建省| 巨野县| 丰台区| 应城市| 顺义区| 县级市| 原阳县| 苗栗市| 离岛区| 光泽县| 施甸县| 邯郸市| 濉溪县| 丰顺县| 招远市| 阳西县| 定结县| 读书| 安达市|