<abbr id="kc8ii"><menu id="kc8ii"></menu></abbr>
  • <input id="kc8ii"><tbody id="kc8ii"></tbody></input><table id="kc8ii"><source id="kc8ii"></source></table><kbd id="kc8ii"></kbd>
    <center id="kc8ii"><table id="kc8ii"></table></center>
  • <input id="kc8ii"></input>
    <abbr id="kc8ii"></abbr>
  • <abbr id="kc8ii"></abbr>
  • <center id="kc8ii"><table id="kc8ii"></table></center>
    <abbr id="kc8ii"></abbr>
    你的位置:首頁 > 電路保護 > 正文

    FPGA設計異步復位同步釋放有講究

    發布時間:2017-01-23 責任編輯:susan

    【導讀】異步復位同步釋放,首先要說一下同步復位與異步復位的區別。同步復位是指復位信號在時鐘的上升沿或者下降沿才能起作用,而異步復位則是即時生效,與時鐘無關。異步復位的好處是速度快。再來談一下為什么FPGA設計中要用異步復位同步釋放。

    復位信號的釋放是有講究的:
     
    我們知道,DFF的D端和clk端之間時序關系是有約束的,這種約束我們通過setup time和hold time來 check。即D端的data跳變的時刻要與clk端的時鐘上升沿(或者下降沿)跳變要錯開,如果這兩個跳變撞到一起,我們無法保證DFF能夠sample到正確的data,這時候不滿足setup/hold time要求,就會發生亞穩態,我們sample到的data可能是不穩定的中間態的值,并不是我們原本想要的data。
     
     
    與此類似,異步復位端與clk端之間也存在著類似的時序約束關系,為了準確穩定地sample到異步復位端的reset信號,我們要求reset信號在clk上升沿(或者下降沿)跳變的前后一段時間內保持穩定,不要跳變。clk跳變沿之前必須保持穩定的最短時間叫做recovery time,clk跳變沿之后需要保持穩定的最短時間叫做removal time。如果在此時間窗口內reset信號發生跳變,不確定reset到底有沒有釋放成功(類似setup+hold時間窗口內,data跳變,發生亞穩態,sample到的值是不穩定的中間態值)。
     
    在IC設計過程中我們是會check recovery和removal time的,如果不滿足,我們會通過布局布線的調整(后端的調整)讓電路滿足這個條件(實質就是讓reset跳變沿和clk跳變沿錯開);但是對于FPGA設計而言,我們一般不采用異步釋放的方法,因為FPGA的布局布線可以調整的空間不大,相對于IC設計,FPGA后端的布局布線基本上是tool自己搞定,所以我們很難調整布局布線以滿足這個條件,所以我們一般就會直接用異步復位同步釋放的方法來讓reset跳變沿和clk跳變沿錯開。
     
    最后再說一下同步數字電路的setup/hold timing check的實質。
     
    同步數字電路的基本單元就是兩級DFF,中間是一堆組合邏輯,data就是在clk一拍一拍的控制下,逐漸向后面傳遞,當然,在傳遞的過程中,通過組合邏輯實現數據的處理與轉換;但是物理世界里面,組合邏輯一定是有毛刺的,比如說data通過一系列的處理之后準備通過DFF傳遞到下一個單元的時候,你怎么能保證第二級DFF采到的值是處理完畢穩定可靠的data,而不是還處于中間態的data?!(舉個例子,假設我們這里的data是一個8bit的bus信號,處理之前是1111_0000,通過組合邏輯處理完之后我們期望變成1111_1111;我們知道后面4個bit由0變1是需要時間的,由于布局布線的緣故,這4bit不可能在同一個時刻齊刷刷的同時由0變1,肯定是有的bit先變1,有的bit后變1;也就是在由1111_0000變成1111_1111的過程中,可能會存在1111_1000/1111_1100/1111_1101/...等等這樣的中間態數據,我們不能在data還處于中間態的時候就去sample它,否則得到的不是我們預期的值,會引起整個芯片的邏輯錯誤)。
     
    我們實際上是通過setup/hold time來保證的,即:如果電路中所有DFF的setup/hold time都能夠滿足,表示data到達D端的時間比clk跳變沿時刻超過了setup時間(反之,如果data在setup+hold時間窗口內還在變化,一定會有setup/hold timing vio),這樣,我們通過check 所有DFF的setup/hold timing來間接地保證所有DFF采到的值都是經過組合邏輯處理并且處理完畢之后穩定可靠的值。(更確切的說,通過hold timing check來保證sample到的值是經過組合邏輯處理之后的值而不是上一筆的data,通過setup time來保證sample到的是經過組合邏輯處理完畢之后并且穩定下來的值)。

    特別推薦
    技術文章更多>>
    技術白皮書下載更多>>
    熱門搜索
    ?

    關閉

    ?

    關閉

    日韩av无码中文无码电影| 日韩精品无码一本二本三本| 亚洲一区二区三区无码中文字幕| 久久久久亚洲AV无码永不| 中文字幕色婷婷在线视频| 亚洲熟妇无码另类久久久| 久久久久无码专区亚洲av| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻系列av无码一区二区 | 日韩av无码久久精品免费| 精品人妻中文字幕有码在线| 无码乱人伦一区二区亚洲| 在线日韩中文字幕| Aⅴ精品无码无卡在线观看| 最近中文字幕国语免费完整| MM1313亚洲精品无码| 中文字幕av无码一区二区三区电影 | 国产拍拍拍无码视频免费| 最近免费中文字幕大全高清大全1 最近免费中文字幕mv在线电影 | 丝袜无码一区二区三区| 日韩亚洲欧美中文在线| 无码国产色欲XXXXX视频| 欧美日韩中文在线| 911国产免费无码专区| 国产AV无码专区亚洲AWWW| 亚洲VA中文字幕无码毛片| 刺激无码在线观看精品视频| 中文无码成人免费视频在线观看| 波多野结衣中文字幕免费视频 | 亚洲中文字幕无码久久2020| 最新版天堂资源中文网| 色噜噜亚洲精品中文字幕| 超清纯白嫩大学生无码网站| 亚洲精品中文字幕无码蜜桃| 亚洲国产午夜中文字幕精品黄网站| 乱人伦中文无码视频在线观看| 99精品一区二区三区无码吞精| 亚洲精品无码永久中文字幕| 无码人妻精品中文字幕免费东京热| 亚洲中文字幕无码爆乳AV| 天堂AV无码AV一区二区三区 | 精品人妻大屁股白浆无码|