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

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

數(shù)字IC手撕代碼-異步復(fù)位同步釋放

2022-02-28 16:57 作者:不吃蔥的酸菜魚  | 我要投稿

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

往期手撕代碼題:

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

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

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

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

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

異步復(fù)位同步釋放

請(qǐng)你用verilog,設(shè)計(jì)一個(gè)電路實(shí)現(xiàn)異步復(fù)位同步釋放功能。

為什么要,異步復(fù)位同步釋放?這個(gè)功能有什么用?

這八個(gè)字包含兩個(gè)步驟,異步復(fù)位,同步釋放

異步復(fù)位的意思是復(fù)位信號(hào)rstn和clk信號(hào)不是同時(shí)到來的,在always語句塊中表現(xiàn)為:

always @(posedge clk or negedge rstn) begin

????if(!rstn)

????????reg?_1???<= 1'b0;

end

????????當(dāng)異步復(fù)位信號(hào)到來時(shí),寄存器 reg_1 會(huì)被直接拉低,這是不會(huì)產(chǎn)生問題的,當(dāng)rstn下降沿和clk上升沿同時(shí)到來時(shí),如果rstn比clk先到來一瞬間,且原來的reg_1信號(hào)為1,reg_1會(huì)被拉低為0,后一瞬間,clk來了,因?yàn)榍耙凰查g的reg_1值被拉低了,所以在clk到來時(shí),一定有set_up不滿足要求...但是!一進(jìn)always 語句塊后,由于rstn是0,所以reg_1會(huì)被賦值為0,還是0。也就是說不管我reg_1的set_up / hold滿不滿足要求,reg_1都會(huì)被重置到0,不會(huì)有任何問題,如圖所示:

????????綜上所述,異步復(fù)位信號(hào)是不會(huì)產(chǎn)生問題的,但是為什么要同步釋放?是釋放信號(hào)會(huì)出問題嗎?

????????答:是的,當(dāng)rstn釋放的時(shí)候(從0變1)時(shí),如果rstn釋放邊沿和clk釋放邊沿很接近,那么就會(huì)出現(xiàn)亞穩(wěn)態(tài),而亞穩(wěn)態(tài)在電路里面是非常致命的,在亞穩(wěn)態(tài)采樣到的數(shù)據(jù)是不準(zhǔn)確的,而電路中一個(gè)不準(zhǔn)確的值,會(huì)導(dǎo)致這后面的所有值都不準(zhǔn)確。

????? ??????? ? 當(dāng)rstn釋放的時(shí)候,寄存器的輸入端D可能因?yàn)槟硞€(gè)組合邏輯電路和rstn有關(guān)系,導(dǎo)致D隨rstn同步拉高。那在clk上升沿到來的時(shí)候,就會(huì)有D的set_up不滿足,出現(xiàn)亞穩(wěn)態(tài),邊沿采樣的時(shí)候,輸出reg_1不知道該采D=0的信號(hào)還是D=1的信號(hào),所以不妨打兩拍,不著急在rstn釋放的時(shí)候采樣,用兩個(gè)寄存器來延遲兩個(gè)周期,等到數(shù)據(jù)D穩(wěn)定了之后再同步拉高rstn采樣。

代碼:

Testbench:

波形:

總結(jié):異步復(fù)位為0 的時(shí)候不做處理,當(dāng)rstn從0變1的時(shí)候,打兩拍隨clk同步拉高,此時(shí)寄存器輸入的D已經(jīng)穩(wěn)定很長(zhǎng)時(shí)間,可以避免亞穩(wěn)態(tài)的發(fā)生。

數(shù)字IC手撕代碼-異步復(fù)位同步釋放的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
太原市| 东乌珠穆沁旗| 本溪市| 府谷县| 城口县| 积石山| 徐汇区| 松江区| 桓台县| 峡江县| 保定市| 梧州市| 连江县| 阿拉尔市| 双流县| 泰和县| 象州县| 白山市| 潮安县| 邯郸市| 临颍县| 阿克陶县| 邹平县| 宽城| 惠安县| 南昌县| 广南县| 焉耆| 祁门县| 临潭县| 海盐县| 宜州市| 云林县| 南陵县| 淮阳县| 阿坝县| 神木县| 常德市| 佛冈县| 惠水县| 共和县|