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

歡迎光臨散文網(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ó)家法律
安达市| 丽水市| 伊宁市| 华坪县| 建瓯市| 清原| 瑞金市| 寻甸| 莲花县| 渭南市| 海城市| 孟州市| 比如县| 永济市| 瑞昌市| 锦屏县| 饶阳县| 淮北市| 甘泉县| 云和县| 黄平县| 土默特右旗| 乐山市| 通州区| 高平市| 通榆县| 宁化县| 樟树市| 马鞍山市| 荆门市| 博白县| 大方县| 景洪市| 温宿县| 商洛市| 博客| 友谊县| 沁水县| 江西省| 文登市| 马公市|