
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ò)開,如果這兩個(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ò)開);但是對(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ò)開。
最后再說(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??。ㄅe個(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)的值)。
特別推薦
- 大咖齊聚,智啟新篇 | OFweek 2025(第十四屆)中國(guó)機(jī)器人產(chǎn)業(yè)大會(huì)圓滿收官!
- 意法半導(dǎo)體公布2025年第一季度財(cái)報(bào)和電話會(huì)議時(shí)間安排
- 技術(shù)盛宴!意法半導(dǎo)體亮相2025慕尼黑上海電子展,展示汽車與工業(yè)創(chuàng)新成果
- 意法半導(dǎo)體2025年度股東大會(huì)提案更新通知
- SiC如何讓EA10000電源效率飆升?電源技術(shù)優(yōu)勢(shì)全解剖
- 電源模塊在伺服驅(qū)動(dòng)系統(tǒng)中起到動(dòng)力心臟與性能基石的作用
- 重構(gòu)供應(yīng)鏈安全架構(gòu):AI驅(qū)動(dòng)、追隨價(jià)值服務(wù)與創(chuàng)新型替代的協(xié)同演進(jìn)
技術(shù)文章更多>>
- 高電壓動(dòng)態(tài)響應(yīng)測(cè)試:快速負(fù)載切換下的擺率特性研究
- 高效節(jié)能VS舒適體驗(yàn),看HVAC設(shè)備如何通過(guò)新路徑優(yōu)化?
- 如何為特定應(yīng)用選擇位置傳感器?技術(shù)選型方法有哪些?
- 深度解析電壓基準(zhǔn)補(bǔ)償在熱電偶冷端溫度補(bǔ)償中的應(yīng)用
- Arm攜手AWS助力實(shí)現(xiàn)AI定義汽車
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
EEPROM
Element14
EMC
EMI
EMI濾波器
Energy Micro
EPB
ept
ESC
ESD
ESD保護(hù)
ESD保護(hù)器件
ESD器件
Eurotect
Exar
Fairhild
FFC連接器
Flash
FPC連接器
FPGA
Fujitsu
Future
GFIVE
GPS
GPU
Harting
HDMI
HDMI連接器
HD監(jiān)控
HID燈