FPGA設(shè)計(jì)異步復(fù)位同步釋放有講究
發(fā)布時(shí)間:2017-01-23 責(zé)任編輯:susan
【導(dǎo)讀】異步復(fù)位同步釋放,首先要說一下同步復(fù)位與異步復(fù)位的區(qū)別。同步復(fù)位是指復(fù)位信號在時(shí)鐘的上升沿或者下降沿才能起作用,而異步復(fù)位則是即時(shí)生效,與時(shí)鐘無關(guān)。異步復(fù)位的好處是速度快。再來談一下為什么FPGA設(shè)計(jì)中要用異步復(fù)位同步釋放。
復(fù)位信號的釋放是有講究的:
我們知道,DFF的D端和clk端之間時(shí)序關(guān)系是有約束的,這種約束我們通過setup time和hold time來 check。即D端的data跳變的時(shí)刻要與clk端的時(shí)鐘上升沿(或者下降沿)跳變要錯(cuò)開,如果這兩個(gè)跳變撞到一起,我們無法保證DFF能夠sample到正確的data,這時(shí)候不滿足setup/hold time要求,就會(huì)發(fā)生亞穩(wěn)態(tài),我們sample到的data可能是不穩(wěn)定的中間態(tài)的值,并不是我們原本想要的data。
與此類似,異步復(fù)位端與clk端之間也存在著類似的時(shí)序約束關(guān)系,為了準(zhǔn)確穩(wěn)定地sample到異步復(fù)位端的reset信號,我們要求reset信號在clk上升沿(或者下降沿)跳變的前后一段時(shí)間內(nèi)保持穩(wěn)定,不要跳變。clk跳變沿之前必須保持穩(wěn)定的最短時(shí)間叫做recovery time,clk跳變沿之后需要保持穩(wěn)定的最短時(shí)間叫做removal time。如果在此時(shí)間窗口內(nèi)reset信號發(fā)生跳變,不確定reset到底有沒有釋放成功(類似setup+hold時(shí)間窗口內(nèi),data跳變,發(fā)生亞穩(wěn)態(tài),sample到的值是不穩(wěn)定的中間態(tài)值)。
在IC設(shè)計(jì)過程中我們是會(huì)check recovery和removal time的,如果不滿足,我們會(huì)通過布局布線的調(diào)整(后端的調(diào)整)讓電路滿足這個(gè)條件(實(shí)質(zhì)就是讓reset跳變沿和clk跳變沿錯(cuò)開);但是對于FPGA設(shè)計(jì)而言,我們一般不采用異步釋放的方法,因?yàn)镕PGA的布局布線可以調(diào)整的空間不大,相對于IC設(shè)計(jì),F(xiàn)PGA后端的布局布線基本上是tool自己搞定,所以我們很難調(diào)整布局布線以滿足這個(gè)條件,所以我們一般就會(huì)直接用異步復(fù)位同步釋放的方法來讓reset跳變沿和clk跳變沿錯(cuò)開。
最后再說一下同步數(shù)字電路的setup/hold timing check的實(shí)質(zhì)。
同步數(shù)字電路的基本單元就是兩級DFF,中間是一堆組合邏輯,data就是在clk一拍一拍的控制下,逐漸向后面?zhèn)鬟f,當(dāng)然,在傳遞的過程中,通過組合邏輯實(shí)現(xiàn)數(shù)據(jù)的處理與轉(zhuǎn)換;但是物理世界里面,組合邏輯一定是有毛刺的,比如說data通過一系列的處理之后準(zhǔn)備通過DFF傳遞到下一個(gè)單元的時(shí)候,你怎么能保證第二級DFF采到的值是處理完畢穩(wěn)定可靠的data,而不是還處于中間態(tài)的data?!(舉個(gè)例子,假設(shè)我們這里的data是一個(gè)8bit的bus信號,處理之前是1111_0000,通過組合邏輯處理完之后我們期望變成1111_1111;我們知道后面4個(gè)bit由0變1是需要時(shí)間的,由于布局布線的緣故,這4bit不可能在同一個(gè)時(shí)刻齊刷刷的同時(shí)由0變1,肯定是有的bit先變1,有的bit后變1;也就是在由1111_0000變成1111_1111的過程中,可能會(huì)存在1111_1000/1111_1100/1111_1101/...等等這樣的中間態(tài)數(shù)據(jù),我們不能在data還處于中間態(tài)的時(shí)候就去sample它,否則得到的不是我們預(yù)期的值,會(huì)引起整個(gè)芯片的邏輯錯(cuò)誤)。
我們實(shí)際上是通過setup/hold time來保證的,即:如果電路中所有DFF的setup/hold time都能夠滿足,表示data到達(dá)D端的時(shí)間比clk跳變沿時(shí)刻超過了setup時(shí)間(反之,如果data在setup+hold時(shí)間窗口內(nèi)還在變化,一定會(huì)有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)定下來的值)。
特別推薦
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗(yàn)法則?
- 一文看懂電壓轉(zhuǎn)換的級聯(lián)和混合概念
- 第12講:三菱電機(jī)高壓SiC芯片技術(shù)
- 準(zhǔn) Z 源逆變器的設(shè)計(jì)
- 貿(mào)澤電子持續(xù)擴(kuò)充工業(yè)自動(dòng)化產(chǎn)品陣容
- 低功耗嵌入式設(shè)計(jì)簡介
- 如何通過基本描述找到需要的電容?
技術(shù)文章更多>>
- 歐盟新規(guī)實(shí)施:新車必須安裝
- 破局時(shí)效,跨越速運(yùn)領(lǐng)航零擔(dān)快運(yùn)新征途
- 瑞典名企Roxtec助力構(gòu)建安全防線
- 貿(mào)澤與Cinch聯(lián)手發(fā)布全新電子書深入探討惡劣環(huán)境中的連接應(yīng)用
- 第二十二屆中國國際軟件合作洽談會(huì)在成都順利舉行
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
空心線圈
控制變壓器
控制模塊
藍(lán)牙
藍(lán)牙4.0
藍(lán)牙模塊
浪涌保護(hù)器
雷度電子
鋰電池
利爾達(dá)
連接器
流量單位
漏電保護(hù)器
濾波電感
濾波器
路由器設(shè)置
鋁電解電容
鋁殼電阻
邏輯IC
馬達(dá)控制
麥克風(fēng)
脈沖變壓器
鉚接設(shè)備
夢想電子
模擬鎖相環(huán)
耐壓測試儀
逆變器
逆導(dǎo)可控硅
鎳鎘電池
鎳氫電池