
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。

與此類似,異步復(fù)位端與clk端之間也存在著類似的時序約束關(guā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,當然,在傳遞的過程中,通過組合邏輯實現(xiàn)數(shù)據(jù)的處理與轉(zhuǎn)換;但是物理世界里面,組合邏輯一定是有毛刺的,比如說data通過一系列的處理之后準備通過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端的時間比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)定下來的值)。
特別推薦
- 國產(chǎn)芯片與系統(tǒng)深度融合!兆易創(chuàng)新聯(lián)袂普華軟件破局汽車電子
- 揭秘未來勞動力:貿(mào)澤與Molex新電子書解析機器人技術(shù)變革
- 臺積電大陸芯片生產(chǎn)遇阻,美國豁免撤銷加速國產(chǎn)替代進程
- 2025年Q2全球DRAM營收突破316億美元,創(chuàng)近年單季最高漲幅
- 200W開關(guān)功率:Pickering 600系列繼電器通吃高壓高能場景
技術(shù)文章更多>>
- 智能選型新紀元:Melexis可視化工具重塑傳感器選擇體驗
- SENSOR CHINA 十年征程:引領(lǐng)中國傳感產(chǎn)業(yè)邁向全球新高度
- ADI高集成度電化學(xué)方案:解鎖氣體與水質(zhì)檢測新密碼
- 高性能差分信號路由:CBMG709在工業(yè)控制系統(tǒng)中的關(guān)鍵作用
- 安森美亮相PCIM Asia 2025,帶來汽車、工業(yè)及AI數(shù)據(jù)中心電源技術(shù)盛宴
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
晶體諧振器
晶體振蕩器
晶閘管
精密電阻
精密工具
景佑能源
聚合物電容
君耀電子
開發(fā)工具
開關(guān)
開關(guān)電源
開關(guān)電源電路
開關(guān)二極管
開關(guān)三極管
科通
可變電容
可調(diào)電感
可控硅
空心線圈
控制變壓器
控制模塊
藍牙
藍牙4.0
藍牙模塊
浪涌保護器
雷度電子
鋰電池
利爾達
連接器
流量單位