![](/editorfiles/20170123020952_3345.jpg)
FPGA設(shè)計異步復(fù)位同步釋放有講究
發(fā)布時間:2017-01-23 責(zé)任編輯:susan
【導(dǎo)讀】異步復(fù)位同步釋放,首先要說一下同步復(fù)位與異步復(fù)位的區(qū)別。同步復(fù)位是指復(fù)位信號在時鐘的上升沿或者下降沿才能起作用,而異步復(fù)位則是即時生效,與時鐘無關(guān)。異步復(fù)位的好處是速度快。再來談一下為什么FPGA設(shè)計中要用異步復(fù)位同步釋放。
復(fù)位信號的釋放是有講究的:
我們知道,DFF的D端和clk端之間時序關(guān)系是有約束的,這種約束我們通過setup time和hold time來 check。即D端的data跳變的時刻要與clk端的時鐘上升沿(或者下降沿)跳變要錯開,如果這兩個跳變撞到一起,我們無法保證DFF能夠sample到正確的data,這時候不滿足setup/hold time要求,就會發(fā)生亞穩(wěn)態(tài),我們sample到的data可能是不穩(wěn)定的中間態(tài)的值,并不是我們原本想要的data。
![](/editorfiles/20170123020952_3345.jpg)
與此類似,異步復(fù)位端與clk端之間也存在著類似的時序約束關(guān)系,為了準(zhǔn)確穩(wěn)定地sample到異步復(fù)位端的reset信號,我們要求reset信號在clk上升沿(或者下降沿)跳變的前后一段時間內(nèi)保持穩(wěn)定,不要跳變。clk跳變沿之前必須保持穩(wěn)定的最短時間叫做recovery time,clk跳變沿之后需要保持穩(wěn)定的最短時間叫做removal time。如果在此時間窗口內(nèi)reset信號發(fā)生跳變,不確定reset到底有沒有釋放成功(類似setup+hold時間窗口內(nèi),data跳變,發(fā)生亞穩(wěn)態(tài),sample到的值是不穩(wěn)定的中間態(tài)值)。
在IC設(shè)計過程中我們是會check recovery和removal time的,如果不滿足,我們會通過布局布線的調(diào)整(后端的調(diào)整)讓電路滿足這個條件(實質(zhì)就是讓reset跳變沿和clk跳變沿錯開);但是對于FPGA設(shè)計而言,我們一般不采用異步釋放的方法,因為FPGA的布局布線可以調(diào)整的空間不大,相對于IC設(shè)計,F(xiàn)PGA后端的布局布線基本上是tool自己搞定,所以我們很難調(diào)整布局布線以滿足這個條件,所以我們一般就會直接用異步復(fù)位同步釋放的方法來讓reset跳變沿和clk跳變沿錯開。
最后再說一下同步數(shù)字電路的setup/hold timing check的實質(zhì)。
同步數(shù)字電路的基本單元就是兩級DFF,中間是一堆組合邏輯,data就是在clk一拍一拍的控制下,逐漸向后面?zhèn)鬟f,當(dāng)然,在傳遞的過程中,通過組合邏輯實現(xiàn)數(shù)據(jù)的處理與轉(zhuǎn)換;但是物理世界里面,組合邏輯一定是有毛刺的,比如說data通過一系列的處理之后準(zhǔn)備通過DFF傳遞到下一個單元的時候,你怎么能保證第二級DFF采到的值是處理完畢穩(wěn)定可靠的data,而不是還處于中間態(tài)的data??。ㄅe個例子,假設(shè)我們這里的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/...等等這樣的中間態(tài)數(shù)據(jù),我們不能在data還處于中間態(tài)的時候就去sample它,否則得到的不是我們預(yù)期的值,會引起整個芯片的邏輯錯誤)。
我們實際上是通過setup/hold time來保證的,即:如果電路中所有DFF的setup/hold time都能夠滿足,表示data到達(dá)D端的時間比clk跳變沿時刻超過了setup時間(反之,如果data在setup+hold時間窗口內(nèi)還在變化,一定會有setup/hold timing vio),這樣,我們通過check 所有DFF的setup/hold timing來間接地保證所有DFF采到的值都是經(jīng)過組合邏輯處理并且處理完畢之后穩(wěn)定可靠的值。(更確切的說,通過hold timing check來保證sample到的值是經(jīng)過組合邏輯處理之后的值而不是上一筆的data,通過setup time來保證sample到的是經(jīng)過組合邏輯處理完畢之后并且穩(wěn)定下來的值)。
特別推薦
- 音頻放大器的 LLC 設(shè)計注意事項
- 服務(wù)器電源設(shè)計中的五大趨勢
- 電子技術(shù)如何助力高鐵節(jié)能?
- 利用創(chuàng)新FPGA技術(shù):實現(xiàn)USB解決方案的低功耗、模塊化與小尺寸
- 加速度傳感器不好選型?看這6個重要參數(shù)!
- 功率器件熱設(shè)計基礎(chǔ)(十三)——使用熱系數(shù)Ψth(j-top)獲取結(jié)溫信息
- IGBT并聯(lián)設(shè)計指南,拿下!
技術(shù)文章更多>>
- 實現(xiàn)更安全、更智能的移動機(jī)器人,BMS系統(tǒng)這樣賦能!
- 推進(jìn)ECU板對板連接,提升自動駕駛水平
- 意法半導(dǎo)體公布2024年第四季度及全年財報
- 芯動力神速適配DeepSeek-R1大模型,AI芯片設(shè)計邁入“快車道”!
- MD&M West展會:Micro Crystal攜創(chuàng)新定時元件,共繪醫(yī)療科技新藍(lán)圖
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
真空三極管
振蕩器
振蕩線圈
振動器
振動設(shè)備
震動馬達(dá)
整流變壓器
整流二極管
整流濾波
直流電機(jī)
智能抄表
智能電表
智能電網(wǎng)
智能家居
智能交通
智能手機(jī)
中電華星
中電器材
中功率管
中間繼電器
周立功單片機(jī)
轉(zhuǎn)換開關(guān)
自耦變壓器
自耦調(diào)壓器
阻尼三極管
組合開關(guān)