
FPGA設(shè)計(jì)異步復(fù)位同步釋放有講究
發(fā)布時(shí)間:2017-01-23 責(zé)任編輯:susan
【導(dǎo)讀】異步復(fù)位同步釋放,首先要說(shuō)一下同步復(fù)位與異步復(fù)位的區(qū)別。同步復(fù)位是指復(fù)位信號(hào)在時(shí)鐘的上升沿或者下降沿才能起作用,而異步復(fù)位則是即時(shí)生效,與時(shí)鐘無(wú)關(guān)。異步復(fù)位的好處是速度快。再來(lái)談一下為什么FPGA設(shè)計(jì)中要用異步復(fù)位同步釋放。
復(fù)位信號(hào)的釋放是有講究的:
我們知道,DFF的D端和clk端之間時(shí)序關(guān)系是有約束的,這種約束我們通過(guò)setup time和hold time來(lái) check。即D端的data跳變的時(shí)刻要與clk端的時(shí)鐘上升沿(或者下降沿)跳變要錯(cuò)開(kāi),如果這兩個(gè)跳變撞到一起,我們無(wú)法保證DFF能夠sample到正確的data,這時(shí)候不滿足setup/hold time要求,就會(huì)發(fā)生亞穩(wěn)態(tài),我們sample到的data可能是不穩(wěn)定的中間態(tài)的值,并不是我們?cè)鞠胍膁ata。

與此類似,異步復(fù)位端與clk端之間也存在著類似的時(shí)序約束關(guān)系,為了準(zhǔn)確穩(wěn)定地sample到異步復(fù)位端的reset信號(hào),我們要求reset信號(hào)在clk上升沿(或者下降沿)跳變的前后一段時(shí)間內(nèi)保持穩(wěn)定,不要跳變。clk跳變沿之前必須保持穩(wěn)定的最短時(shí)間叫做recovery time,clk跳變沿之后需要保持穩(wěn)定的最短時(shí)間叫做removal time。如果在此時(shí)間窗口內(nèi)reset信號(hào)發(fā)生跳變,不確定reset到底有沒(méi)有釋放成功(類似setup+hold時(shí)間窗口內(nèi),data跳變,發(fā)生亞穩(wěn)態(tài),sample到的值是不穩(wěn)定的中間態(tài)值)。
在IC設(shè)計(jì)過(guò)程中我們是會(huì)check recovery和removal time的,如果不滿足,我們會(huì)通過(guò)布局布線的調(diào)整(后端的調(diào)整)讓電路滿足這個(gè)條件(實(shí)質(zhì)就是讓reset跳變沿和clk跳變沿錯(cuò)開(kāi));但是對(duì)于FPGA設(shè)計(jì)而言,我們一般不采用異步釋放的方法,因?yàn)镕PGA的布局布線可以調(diào)整的空間不大,相對(duì)于IC設(shè)計(jì),F(xiàn)PGA后端的布局布線基本上是tool自己搞定,所以我們很難調(diào)整布局布線以滿足這個(gè)條件,所以我們一般就會(huì)直接用異步復(fù)位同步釋放的方法來(lái)讓reset跳變沿和clk跳變沿錯(cuò)開(kāi)。
最后再說(shuō)一下同步數(shù)字電路的setup/hold timing check的實(shí)質(zhì)。
同步數(shù)字電路的基本單元就是兩級(jí)DFF,中間是一堆組合邏輯,data就是在clk一拍一拍的控制下,逐漸向后面?zhèn)鬟f,當(dāng)然,在傳遞的過(guò)程中,通過(guò)組合邏輯實(shí)現(xiàn)數(shù)據(jù)的處理與轉(zhuǎn)換;但是物理世界里面,組合邏輯一定是有毛刺的,比如說(shuō)data通過(guò)一系列的處理之后準(zhǔn)備通過(guò)DFF傳遞到下一個(gè)單元的時(shí)候,你怎么能保證第二級(jí)DFF采到的值是處理完畢穩(wěn)定可靠的data,而不是還處于中間態(tài)的data?!(舉個(gè)例子,假設(shè)我們這里的data是一個(gè)8bit的bus信號(hào),處理之前是1111_0000,通過(guò)組合邏輯處理完之后我們期望變成1111_1111;我們知道后面4個(gè)bit由0變1是需要時(shí)間的,由于布局布線的緣故,這4bit不可能在同一個(gè)時(shí)刻齊刷刷的同時(shí)由0變1,肯定是有的bit先變1,有的bit后變1;也就是在由1111_0000變成1111_1111的過(guò)程中,可能會(huì)存在1111_1000/1111_1100/1111_1101/...等等這樣的中間態(tài)數(shù)據(jù),我們不能在data還處于中間態(tài)的時(shí)候就去sample它,否則得到的不是我們預(yù)期的值,會(huì)引起整個(gè)芯片的邏輯錯(cuò)誤)。
我們實(shí)際上是通過(guò)setup/hold time來(lái)保證的,即:如果電路中所有DFF的setup/hold time都能夠滿足,表示data到達(dá)D端的時(shí)間比clk跳變沿時(shí)刻超過(guò)了setup時(shí)間(反之,如果data在setup+hold時(shí)間窗口內(nèi)還在變化,一定會(huì)有setup/hold timing vio),這樣,我們通過(guò)check 所有DFF的setup/hold timing來(lái)間接地保證所有DFF采到的值都是經(jīng)過(guò)組合邏輯處理并且處理完畢之后穩(wěn)定可靠的值。(更確切的說(shuō),通過(guò)hold timing check來(lái)保證sample到的值是經(jīng)過(guò)組合邏輯處理之后的值而不是上一筆的data,通過(guò)setup time來(lái)保證sample到的是經(jīng)過(guò)組合邏輯處理完畢之后并且穩(wěn)定下來(lái)的值)。
特別推薦
- 安森美與舍弗勒強(qiáng)強(qiáng)聯(lián)手,EliteSiC技術(shù)驅(qū)動(dòng)新一代PHEV平臺(tái)
- 安森美與英偉達(dá)強(qiáng)強(qiáng)聯(lián)手,800V直流方案賦能AI數(shù)據(jù)中心能效升級(jí)
- 貿(mào)澤電子自動(dòng)化資源中心上線:工程師必備技術(shù)寶庫(kù)
- 隔離變壓器全球競(jìng)爭(zhēng)圖譜:從安全隔離到能源革命的智能屏障
- 芯海科技盧國(guó)建:用“芯片+AI+數(shù)據(jù)”重新定義健康管理
技術(shù)文章更多>>
- Wi-Fi HaLow USB網(wǎng)關(guān):開(kāi)啟物聯(lián)網(wǎng)遠(yuǎn)距離連接新時(shí)代
- 德州儀器電源路徑充電技術(shù)解析:如何實(shí)現(xiàn)電池壽命與系統(tǒng)性能的雙贏?
- 光伏電流檢測(cè)技術(shù)革命:TI封裝內(nèi)霍爾傳感器如何重塑太陽(yáng)能系統(tǒng)效能?
- SiC如何重塑工業(yè)充電設(shè)計(jì)?隔離DC-DC拓?fù)溥x型指南
- 村田中國(guó)亮相2025開(kāi)放計(jì)算創(chuàng)新技術(shù)大會(huì):以創(chuàng)新技術(shù)驅(qū)動(dòng)智能化發(fā)展
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索