在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

詳細(xì)講解同步后的復(fù)位是同步復(fù)位還是異步復(fù)位?

Hx ? 來(lái)源:FPGA探索者 ? 作者:FPGA探索者 ? 2021-04-27 18:12 ? 次閱讀

Xilinx 復(fù)位準(zhǔn)則:Xilinx FPGA復(fù)位策略

(1)盡量少使用復(fù)位,特別是少用全局復(fù)位,能不用復(fù)位就不用,一定要用復(fù)位的使用局部復(fù)位;

(2)如果必須要復(fù)位,在同步和異步復(fù)位上,則盡量使用同步復(fù)位,一定要用異步復(fù)位的地方,采用“異步復(fù)位、同步釋放”;

(3)復(fù)位電平選擇高電平復(fù)位;

(這里說(shuō)明,由于 Altera 和 Xilinx 器件內(nèi)部結(jié)構(gòu)的不同,Altera 的 FPGA 推薦低電平復(fù)位)

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

針對(duì)異步復(fù)位、同步釋放,一直沒(méi)搞明白在使用同步化以后的復(fù)位信號(hào)時(shí),到底是使用同步復(fù)位還是異步復(fù)位?

比如針對(duì)輸入的異步復(fù)位信號(hào)rst,使用本地時(shí)鐘clk將其同步化以后得到一個(gè)新的復(fù)位信號(hào)sys_rst,當(dāng)使用sys_rst時(shí),是將sys_rst作為同步復(fù)位信號(hào)還是異步復(fù)位信號(hào)?

always @(posedge clk or posedge rst) begin if(rst)begin rst_r0 《 = 1‘b1; rst_r1 《 = 1’b1; end else begin rst_r0 《 = 1‘b0; rst_r1 《 = rst_r0; end end assign sys_rst = rst_r1;

如下圖所示,選方式1還是方式2?

100062600-124726-1.png

針對(duì)此問(wèn)題查找了很多資料,網(wǎng)絡(luò)上多是將sys_rst繼續(xù)按照方式1異步復(fù)位使用,Xilinx復(fù)位白皮書wp272中提到的異步復(fù)位同步釋放 如圖所示:

100062600-124727-2.png

對(duì)于輸入的異步復(fù)位Asynchronous Reset,首先使用了4個(gè)觸發(fā)器來(lái)做同步(一般用2個(gè)即可,4個(gè)出現(xiàn)亞穩(wěn)態(tài)的概率更小),觸發(fā)器類型為FDP(異步置位),同步化以后的復(fù)位信號(hào)去使用時(shí)綜合出的觸發(fā)器類型為FDR(同步復(fù)位),即在Xilinx中是將sys_rst按照方式2同步復(fù)位使用。

使用FDP異步置位的原因是因?yàn)閄ilinx推薦高電平復(fù)位,當(dāng)異步復(fù)位信號(hào)到來(lái)時(shí),輸出復(fù)位電平“1”,即異步置位FDP,當(dāng)復(fù)位消失后,D觸發(fā)器在每個(gè)時(shí)鐘邊沿輸出前一級(jí)觸發(fā)器的值,一定周期后,最后一級(jí)的FDP穩(wěn)定輸出“0”。

使用Xilinx A7系列FPGA實(shí)現(xiàn)異步復(fù)位、同步釋放代碼,確定同步化后的復(fù)位使用情況。

二、Xilinx復(fù)位程序?qū)Ρ?/strong>

1. 將同步化后的復(fù)位當(dāng)作異步復(fù)位信號(hào)

/******FPGA探索者******/ always @(posedge clk or posedge rst_async) begin if(rst_async == 1’b1) begin rst_sync_reg1 《= 1‘b1; rst_sync_reg2 《= 1’b1; rst_sync_reg3 《= 1‘b1; rst_sync_reg4 《= 1’b1; end else begin rst_sync_reg1 《= 1‘b0; rst_sync_reg2 《= rst_sync_reg1; rst_sync_reg3 《= rst_sync_reg2; rst_sync_reg4 《= rst_sync_reg3; end end wire sys_rst; assign sys_rst = rst_sync_reg4; always @(posedge clk) begin if(sys_rst == 1’b1) begin data_out_rst_async 《= 1‘b0; end else begin data_out_rst_async 《= a & b & c & d; end end

綜合并布局布線后的原理圖如圖所示,顯然,綜合后對(duì)sys_rst復(fù)位,將其作為異步復(fù)位綜合出FDCE同步使能異步復(fù)位(這里不考慮使能),和白皮書WP272給出的參考電路顯然不一致。

100062600-124730-3.png

100062600-124732-4.png

2. 將同步化后的復(fù)位當(dāng)作同步復(fù)位信號(hào)

/******FPGA探索者******/ always @(posedge clk or posedge rst_async) begin if(rst_async == 1’b1) begin rst_sync_reg1 《 = 1‘b1; rst_sync_reg2 《 = 1’b1; rst_sync_reg3 《 = 1‘b1; rst_sync_reg4 《 = 1’b1; end else begin rst_sync_reg1 《 = 1‘b0; rst_sync_reg2 《 = rst_sync_reg1; rst_sync_reg3 《 = rst_sync_reg2; rst_sync_reg4 《 = rst_sync_reg3; end end wire sys_rst; assign sys_rst = rst_sync_reg4; always @(posedge clk) begin if(sys_rst == 1’b1) begin data_out_rst_async 《 = 1‘b0; end else begin data_out_rst_async 《 = a & b & c & d; end end

綜合并布局布線后的原理圖如圖所示,顯然,綜合后對(duì)sys_rst復(fù)位,將其作為同步復(fù)位綜合出FDRE同步使能異步復(fù)位(這里不考慮使能),和白皮書WP272給出的參考電路一致。

100062600-124734-5.png

異步復(fù)位相比較同步復(fù)位,在Xilinx的FPGA中資源是一致的,異步復(fù)位的優(yōu)勢(shì)在于復(fù)位信號(hào)一來(lái)就能檢測(cè)到,不需要保持至少一個(gè)時(shí)鐘周期才能在時(shí)鐘邊沿檢測(cè)到,通過(guò)仿真來(lái)驗(yàn)證上述電路是否能實(shí)現(xiàn)異步復(fù)位一來(lái)就能檢測(cè)到。

三、仿真結(jié)果

設(shè)置時(shí)鐘50MHz,時(shí)鐘周期20ns,給一個(gè)持續(xù)時(shí)間3ns的異步復(fù)位信號(hào),且持續(xù)時(shí)間均不出現(xiàn)在時(shí)鐘上升沿檢測(cè)期間,可以看到:

(1)rst_async異步復(fù)位一旦給出,用于同步的4個(gè)寄存器rst_sync_reg1~4立刻輸出高電平“1”,在下一個(gè)時(shí)鐘上升沿檢測(cè)到同步復(fù)位并將輸出data_out_rst_async復(fù)位;

(2)異步復(fù)位信號(hào)釋放后,經(jīng)過(guò)同步的sys_rst經(jīng)過(guò)一定周期后在時(shí)鐘邊沿同步釋放;

100062600-124735-6.png

按照同樣的復(fù)位,將sys_rst看作異步復(fù)位,仿真結(jié)果如下,相比于上圖,區(qū)別在于異步復(fù)位信號(hào)rst_async一旦產(chǎn)生,輸出立刻復(fù)位,且同樣是同步釋放,好像這種處理才更符合異步復(fù)位、同步釋放。。。。。。

100062600-124737-7.png

那么為什么Xilinx白皮書還是將sys_rst按照同步復(fù)位去做的呢?難道寫錯(cuò)了?

綜合考慮可能有這樣的因素:

(1)當(dāng)作同步復(fù)位的差別只在于復(fù)位時(shí)間會(huì)稍晚一些,要在時(shí)鐘的下一個(gè)邊沿檢測(cè)到,但是還是能夠識(shí)別到輸入的rst_async異步復(fù)位信號(hào),所以從復(fù)位角度來(lái)說(shuō),都能夠后實(shí)現(xiàn)復(fù)位效果;

(2)根據(jù)Xilinx復(fù)位準(zhǔn)則,我們知道同步復(fù)位相比異步復(fù)位有很多好處,具體參見:Xilinx FPGA 復(fù)位策略白皮書,既然兩者對(duì)后級(jí)復(fù)位沒(méi)有功能上的差別,那么優(yōu)先選擇同步復(fù)位;

經(jīng)過(guò)異步復(fù)位同步釋放處理后,相比于純粹的異步復(fù)位,降低了異步復(fù)位信號(hào)釋放導(dǎo)致亞穩(wěn)態(tài)的可能性;相比同步復(fù)位,能夠識(shí)別到同步復(fù)位中檢測(cè)不到的復(fù)位信號(hào)(如上圖所示的rst_async在同步復(fù)位是檢測(cè)不到的);綜合兩者的優(yōu)勢(shì),異步復(fù)位同步釋放。

四、Altera復(fù)位

Altera還是把這個(gè)同步后的復(fù)位當(dāng)作異步復(fù)位來(lái)用的,且推薦低電平復(fù)位。

從上面的分析來(lái)看,這里當(dāng)作異步復(fù)位還是同步復(fù)位對(duì)于復(fù)位結(jié)果本身沒(méi)有太大的影響,區(qū)別在于Xilinx是推薦同步復(fù)位來(lái)節(jié)省資源(比如DSP48E或BRAM,異步復(fù)位比同步復(fù)位耗資源),而Altera的FPGA中帶異步復(fù)位的觸發(fā)器,想要同步復(fù)位需要消耗更多的資源。

100062600-124738-8.png

編輯:lyn

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21797

    瀏覽量

    606017
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2171

    瀏覽量

    122142
  • 同步復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    10739
  • 異步復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    13346
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA復(fù)位的8種技巧

    其它輸入引腳類似,對(duì) FPGA 來(lái)說(shuō)往往是異步的。設(shè)計(jì)人員可以使用這個(gè)信號(hào)在 FPGA 內(nèi)部對(duì)自己的設(shè)計(jì)進(jìn)行異步或者同步復(fù)位。 不過(guò)在一些提示和技巧的幫助下,設(shè)計(jì)人員可以找到更加合適的
    的頭像 發(fā)表于 11-16 10:18 ?422次閱讀
    FPGA<b class='flag-5'>復(fù)位</b>的8種技巧

    復(fù)位電路的設(shè)計(jì)問(wèn)題

    前言 最近看advanced fpga 以及fpga設(shè)計(jì)實(shí)戰(zhàn)演練中有講到復(fù)位電路的設(shè)計(jì),才知道復(fù)位電路有這么多的門道,而不是簡(jiǎn)單的外界信號(hào)輸入系統(tǒng)復(fù)位。 流程: 1.同步
    的頭像 發(fā)表于 11-15 11:13 ?216次閱讀
    <b class='flag-5'>復(fù)位</b>電路的設(shè)計(jì)問(wèn)題

    復(fù)位電路的三種方式 復(fù)位電路的原理和作用

    ) 原理: 上電復(fù)位電路通常包含一個(gè)RC(電阻-電容)網(wǎng)絡(luò)。當(dāng)電源首次接通時(shí),電容充電需要一定的時(shí)間,這段時(shí)間內(nèi)電容上的電壓較低,導(dǎo)致復(fù)位電路輸出低電平,觸發(fā)微控制器的復(fù)位信號(hào)。當(dāng)電容充滿電
    的頭像 發(fā)表于 10-21 10:28 ?1610次閱讀

    復(fù)位電路的電容多大的 復(fù)位電路設(shè)計(jì)類型有哪幾種

    復(fù)位電路是電子系統(tǒng)中的一個(gè)關(guān)鍵部分,它確保系統(tǒng)在啟動(dòng)或發(fā)生故障時(shí)能夠正確地初始化。復(fù)位電路的設(shè)計(jì)取決于多種因素,包括系統(tǒng)的復(fù)雜性、所需的復(fù)位時(shí)間、以及是否需要上電復(fù)位(Power-On
    的頭像 發(fā)表于 10-21 10:24 ?436次閱讀

    復(fù)位電路靜電整改案例分享(一)——交換機(jī)復(fù)位電路

    復(fù)位信號(hào),確保單片機(jī)在上電能夠立即進(jìn)入初始化狀態(tài)。其中上拉電阻可以確保在未按下按鈕時(shí)輸入引腳上具有高電平狀態(tài),避免輸入信號(hào)的浮動(dòng)和噪音干擾。在選擇上拉電阻時(shí),根據(jù)具體需求和電路設(shè)計(jì)合理參數(shù)可以提高電路穩(wěn)定性、
    的頭像 發(fā)表于 10-19 14:56 ?459次閱讀
    <b class='flag-5'>復(fù)位</b>電路靜電整改案例分享(一)——交換機(jī)<b class='flag-5'>復(fù)位</b>電路

    復(fù)位電路介紹 復(fù)位電路的原理及作用

    復(fù)位電路(Reset Circuit)是現(xiàn)代電子設(shè)備中常見的一種關(guān)鍵電路,它用于確保在正確的時(shí)間和條件下將系統(tǒng)恢復(fù)到初始狀態(tài)。復(fù)位電路的設(shè)計(jì)和應(yīng)用對(duì)于保障電子系統(tǒng)的穩(wěn)定性和可靠性至關(guān)重要。 一、復(fù)位
    的頭像 發(fā)表于 10-18 16:44 ?2755次閱讀

    STM32復(fù)位電路用復(fù)位芯片和阻容復(fù)位電路區(qū)別

    STM32是一款廣泛使用的微控制器,其復(fù)位電路設(shè)計(jì)對(duì)于系統(tǒng)的穩(wěn)定性和可靠性至關(guān)重要。本文將詳細(xì)介紹STM32復(fù)位電路中使用復(fù)位芯片和阻容復(fù)位
    的頭像 發(fā)表于 08-06 10:26 ?1824次閱讀

    FPGA同步復(fù)位異步復(fù)位

    FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)中的復(fù)位操作是設(shè)計(jì)過(guò)程中不可或缺的一環(huán),它負(fù)責(zé)將電路恢復(fù)到初始狀態(tài),以確保系統(tǒng)的正確啟動(dòng)和穩(wěn)定運(yùn)行。在FPGA設(shè)計(jì)中,復(fù)位方式主要分為同步
    的頭像 發(fā)表于 07-17 11:12 ?1748次閱讀

    示波器測(cè)量復(fù)位信號(hào)的原理和方法

    具有重要意義。本文將詳細(xì)介紹示波器測(cè)量復(fù)位信號(hào)的原理和方法,以幫助工程師和技術(shù)人員更好地理解和應(yīng)用這一技術(shù)。
    的頭像 發(fā)表于 05-17 17:14 ?1629次閱讀

    電容在復(fù)位電路中的作用(復(fù)位電路具體要怎么設(shè)計(jì))

    數(shù)字電路中寄存器和 RAM 在上電之后默認(rèn)的狀態(tài)和數(shù)據(jù)是不確定的,如果有復(fù)位,我們可以把寄存器復(fù)位到初始狀態(tài),RAM 的數(shù)據(jù)可以通過(guò)復(fù)位來(lái)觸發(fā) RAM 初始化程序邏輯如果進(jìn)入了錯(cuò)誤的狀態(tài)。
    發(fā)表于 03-13 12:16 ?1694次閱讀
    電容在<b class='flag-5'>復(fù)位</b>電路中的作用(<b class='flag-5'>復(fù)位</b>電路具體要怎么設(shè)計(jì))

    L431采用PLL異步時(shí)鐘,復(fù)位ADC采樣值發(fā)生偏差的原因?

    前提:可以確認(rèn)的是外部條件沒(méi)有變化。 問(wèn)題:開機(jī)復(fù)位的情況下,ADC_DMA讀取值幾乎相同,而每次重新復(fù)位,ADC_DMA讀出來(lái)的值差別較大。在采用ADC
    發(fā)表于 03-08 07:32

    MCU復(fù)位RAM會(huì)保持嗎,如何實(shí)現(xiàn)復(fù)位時(shí)變量數(shù)據(jù)保持

    在使用MCU時(shí),通常大家默認(rèn)MCU復(fù)位時(shí)RAM會(huì)被復(fù)位清零,那實(shí)際MCU復(fù)位時(shí)RAM是什么狀態(tài)?如何讓mcu復(fù)位時(shí)RAM保持不變呢?
    的頭像 發(fā)表于 03-01 09:32 ?2628次閱讀
    MCU<b class='flag-5'>復(fù)位</b>RAM會(huì)保持嗎,如何實(shí)現(xiàn)<b class='flag-5'>復(fù)位</b>時(shí)變量數(shù)據(jù)保持

    ABB變頻器怎么復(fù)位 | 復(fù)位時(shí)可能會(huì)出現(xiàn)哪些問(wèn)題?

    ,ABB變頻器如何進(jìn)行復(fù)位呢?本文將為大家詳細(xì)講解ABB變頻器復(fù)位的方法和步驟。 一、ABB變頻器的復(fù)位方式 在使用ABB變頻器時(shí),
    的頭像 發(fā)表于 02-21 10:50 ?8449次閱讀
    ABB變頻器怎么<b class='flag-5'>復(fù)位</b> | <b class='flag-5'>復(fù)位</b>時(shí)可能會(huì)出現(xiàn)哪些問(wèn)題?

    什么是復(fù)位同步電路 reset synchronizer?

    復(fù)位同步電路 reset synchronizer 其實(shí)只在復(fù)位信號(hào) release 的時(shí)候派上用場(chǎng)。復(fù)位結(jié)束,這個(gè)電路其實(shí)就沒(méi)用了。 但
    的頭像 發(fā)表于 02-19 09:21 ?1551次閱讀
    什么是<b class='flag-5'>復(fù)位</b><b class='flag-5'>同步</b>電路 reset synchronizer?

    復(fù)位電路的基本功能介紹

    復(fù)位電路是用于將系統(tǒng)恢復(fù)到已知的、穩(wěn)定的初始狀態(tài)。這一過(guò)程通常被稱為“復(fù)位”,它在很多電子設(shè)備的正常運(yùn)行中起著至關(guān)重要的作用。復(fù)位操作可以由多種原因觸發(fā),包括電源上電、用戶操作、硬件故障、軟件錯(cuò)誤
    的頭像 發(fā)表于 02-16 10:14 ?1768次閱讀
    <b class='flag-5'>復(fù)位</b>電路的基本功能介紹
    主站蜘蛛池模板: 天天夜夜啦啦啦 | 一级特黄色毛片免费看 | 欧美精品综合一区二区三区 | 亚洲综合色一区二区三区小说 | 五月婷婷免费视频 | 高清一区二区三区免费 | 在线欧美成人 | 黄色大片在线免费观看 | 久久天天躁狠狠躁夜夜爽 | 麻豆国产一区二区在线观看 | 曰本裸色私人影院噜噜噜影院 | 亚洲精品91大神在线观看 | 日日噜噜噜夜夜爽爽狠狠图片 | 色天使亚洲 | 男女交性拍拍拍高清视频 | 国产黄色大片网站 | 国产黄色大片网站 | 亚洲aⅴ久久久噜噜噜噜 | 亚洲毛片儿 | 欧美顶级xxxxbbbb | 好大好猛好爽好深视频免费 | 成人免费国产gav视频在线 | nxgx欧美| 在线免费看黄视频 | 国产香港三级理论在线 | 国产美女视频免费 | 操操综合网 | 亚洲视频www| 国产精品久久久久久久久齐齐 | 性xxxx黑人与亚洲 | 免费人成网址在线观看国内 | 五月婷婷激情综合网 | 欧美三级黄色 | 天天干夜夜看 | 欧美一区二区三区在线观看 | 亚洲欧美成人综合久久久 | 色婷婷久久 | japanesexxx日本69 japan日韩xxxx69hd | 1024手机在线观看你懂的 | 1024人成网站色 | 日韩欧美印度一级毛片 |