五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

數(shù)字ic手撕代碼-邊沿檢測(上升沿、下降沿、雙邊沿)

2022-02-27 17:59 作者:不吃蔥的酸菜魚  | 我要投稿

????????大家好我是酸菜魚,這個(gè)系列著重講解數(shù)字ic或FPGA實(shí)習(xí)面試及秋招面試的高頻手撕代碼題。

往期專欄:

數(shù)字IC手撕代碼-分頻器(任意偶數(shù)分頻) - 嗶哩嗶哩 (bilibili.com)

數(shù)字IC手撕代碼-分頻器(任意奇數(shù)分頻) - 嗶哩嗶哩 (bilibili.com)

數(shù)字IC手撕代碼-分頻器(任意小數(shù)分頻) - 嗶哩嗶哩 (bilibili.com)

數(shù)字IC手撕代碼-序列檢測(狀態(tài)機(jī)寫法) - 嗶哩嗶哩 (bilibili.com)

數(shù)字IC手撕代碼-序列檢測(移位寄存器寫法) - 嗶哩嗶哩 (bilibili.com)


邊沿檢測

????????在使用FIFO進(jìn)行數(shù)據(jù)讀寫的時(shí)候,我們會(huì)用到邊沿檢測,比如當(dāng)FIFO內(nèi)的數(shù)據(jù)被讀空了,這樣 empty 信號(hào)就會(huì)從0→1,產(chǎn)生一個(gè)上升沿,當(dāng)這個(gè)上升沿到來的時(shí)候代表FIFO內(nèi)孔,我們就可以對(duì)FIFO進(jìn)行一個(gè)寫操作(把寫使能拉高,往FIFO寫數(shù)據(jù)),所以邊沿檢測是十分常用的東西,下面我們來講講邊沿檢測的原理、代碼以及對(duì)應(yīng)仿真。

原理:

??????? 比如我們要檢測信號(hào) signal 的上升沿,我們使用兩個(gè)寄存器,級(jí)聯(lián)記錄 signal 的值,這樣由于寄存器延遲一拍的特性,第二個(gè)寄存器永遠(yuǎn)會(huì)延遲第一個(gè)寄存器。

????????當(dāng) signal 上升沿到來時(shí),會(huì)有:第一個(gè)寄存器檢測為高,第二個(gè)寄存器檢測為低。

????????這樣,我們只要把第二個(gè)寄存器取反,然后和第一個(gè)寄存器做與運(yùn)算,這樣當(dāng)計(jì)算的數(shù)值為 1 時(shí),就檢測到了上升邊沿。

????代碼:

Testbench:

上升邊沿 邊沿檢測波形:

????????從圖中我們可以看到,跟我們預(yù)料的一樣,當(dāng)上升沿到來的時(shí)候,reg1和 reg2 信號(hào)錯(cuò)一拍,這樣利用這個(gè)特性,讓signal_edge = ~reg2 & reg1 就能檢測到上升邊沿。

????????檢測下降沿也是一個(gè)道理,代碼完全一致,就是把最后邊沿檢測信號(hào)改為:

????????assign signal_edge = ~reg1?&?reg2;

下降邊沿 邊沿檢測波形:


雙邊沿 邊沿檢測波形:

? ? ? ? 雙邊沿檢測,就是上升沿和下降沿,檢測信號(hào)都要輸出一次高電平。這我們可以用異或?qū)崿F(xiàn),同樣是只需要在上升沿檢測的代碼里改最后一條賦值語句即可,改為:

????????assign signal_edge = reg1 ^reg2 ;

?波形如下:

????結(jié)果和我們?cè)O(shè)計(jì)的一致。




數(shù)字ic手撕代碼-邊沿檢測(上升沿、下降沿、雙邊沿)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
大方县| 麦盖提县| 军事| 南丹县| 吉首市| 崇礼县| 丹东市| 宁海县| 慈溪市| 双柏县| 什邡市| 崇阳县| 夏津县| 金华市| 宁乡县| 定远县| 靖边县| 平武县| 东乡县| 衡南县| 霍邱县| 商河县| 临朐县| 万年县| 潍坊市| 本溪市| 于都县| 威海市| 饶河县| 遂川县| 宿迁市| 彭水| 咸丰县| 奈曼旗| 贵阳市| 镇平县| 合作市| 苏州市| 通州区| 东山县| 大兴区|