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

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

HDLBits (97) — 邊緣觸發(fā)信號捕獲寄存器

2022-04-06 17:58 作者:僚機Wingplane  | 我要投稿

本題鏈接:

https://hdlbits.01xz.net/wiki/Edgecapture

對于32位向量中的每一位,邊緣觸發(fā)信號捕獲意為在輸入信號從一個時鐘周期的1變?yōu)橄乱粋€時鐘周期的0時進行捕獲?!安东@”這詞意味著輸出將保持為1,直到寄存器復(fù)位(同步復(fù)位)。
每個輸出位的行為就像一個 SR 觸發(fā)器: 在發(fā)生1到0轉(zhuǎn)換后,輸出位應(yīng)該在(1)周期后被設(shè)置(set)。當復(fù)位為高時,輸出位應(yīng)該在上升沿的時候復(fù)位(reset)(為0)。如果上述兩個事件同時發(fā)生,則優(yōu)先進行復(fù)位操作。在下面舉例的波形最后4個周期中,‘ reset’事件會比‘ set’事件提前一個周期發(fā)生,所以這里沒有沖突。

在下面的示例波形中,為了清晰起見,再次分別顯示了復(fù)reset, in[1] 和 out[1]。


題目

答案

輸出波形

過程結(jié)構(gòu)語句有 2 種,initial 與 always 語句。它們是行為級建模的 2 種基本語句。

一個模塊中可以包含多個 initial 和 always 語句,但 2 種語句不能嵌套使用。

這些語句在模塊間并行執(zhí)行,與其在模塊的前后順序沒有關(guān)系。

但是 initial 語句或 always 語句內(nèi)部可以理解為是順序執(zhí)行的(非阻塞賦值除外)。

每個 initial 語句或 always 語句都會產(chǎn)生一個獨立的控制流,執(zhí)行時間都是從 0 時刻開始。

always 語句是重復(fù)執(zhí)行的。always 語句塊從 0 時刻開始執(zhí)行其中的行為語句;當執(zhí)行完最后一條語句后,便再次執(zhí)行語句塊中的第一條語句,如此循環(huán)反復(fù)。

由于循環(huán)執(zhí)行的特點,always 語句多用于仿真時鐘的產(chǎn)生,信號行為的檢測等。

在 Verilog 中,事件是指某一個 reg 或 wire 型變量發(fā)生了值的變化。

基于事件觸發(fā)的時序控制又主要分為以下幾種。

一般事件控制

事件控制用符號?@?表示。

語句執(zhí)行的條件是信號的值發(fā)生特定的變化。

關(guān)鍵字 posedge 指信號發(fā)生邊沿正向跳變,negedge 指信號發(fā)生負向邊沿跳變,未指明跳變方向時,則 2 種情況的邊沿變化都會觸發(fā)相關(guān)事件。例如:

命名事件控制

用戶可以聲明 event(事件)類型的變量,并觸發(fā)該變量來識別該事件是否發(fā)生。命名事件用關(guān)鍵字 event 來聲明,觸發(fā)信號用?->?表示。例如:

敏感列表

當多個信號或事件中任意一個發(fā)生變化都能夠觸發(fā)語句的執(zhí)行時,Verilog 中使用"或"表達式來描述這種情況,用關(guān)鍵字?or?連接多個事件或信號。這些事件或信號組成的列表稱為"敏感列表"。當然,or 也可以用逗號?,?來代替。例如:

當組合邏輯輸入變量很多時,那么編寫敏感列表會很繁瑣。此時,更為簡潔的寫法是?@*?或?@(*),表示對語句塊中的所有輸入變量的變化都是敏感的。例如:

參考內(nèi)容:

4.1 Verilog 過程結(jié)構(gòu)?| 菜鳥教程:

https://www.runoob.com/w3cnote/verilog-process-structure.html

4.3 Verilog 時序控制?| 菜鳥教程:

https://www.runoob.com/w3cnote/verilog-timing-control.html

HDLBits (97) — 邊緣觸發(fā)信號捕獲寄存器的評論 (共 條)

分享到微博請遵守國家法律
阿鲁科尔沁旗| 大冶市| 清原| 南汇区| 东源县| 博湖县| 海安县| 肃南| 永昌县| 阳泉市| 和平区| 滦平县| 黑龙江省| 萝北县| 永宁县| 中西区| 苗栗市| 新宾| 招远市| 鞍山市| 西青区| 镇巴县| 曲水县| 云林县| 平谷区| 裕民县| 永平县| 贞丰县| 新乡市| 通辽市| 临夏县| 三台县| 嵊泗县| 泰宁县| 磐安县| 泰来县| 浠水县| 屯门区| 丰城市| 星子县| 多伦县|