日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

高級(jí)篇:第2章 altera器件高級(jí)特性與應(yīng)用

 zhangquanling 2011-11-05
高級(jí)篇:第2章 altera器件高級(jí)特性與應(yīng)用發(fā)布時(shí)間:2010-06-23 16:09:11  

主要內(nèi)容:


. 時(shí)鐘管理;


. 片內(nèi)存儲(chǔ)器;


. 數(shù)字信號(hào)處理;


. 片外高速存儲(chǔ)器;


. 高速差分接口和DPA;


. 高速串行收發(fā)器。


2.1 時(shí)鐘管理


      分析設(shè)計(jì)中經(jīng)常遇到的時(shí)序問題,介紹如何利用altera的時(shí)鐘資源和PLL來(lái)有效地管理時(shí)鐘,解決設(shè)計(jì)中的時(shí)序問題。


時(shí)序問題:


時(shí)鐘偏斜(skew)和抖動(dòng)(jitter)


時(shí)鐘偏斜skew是指在時(shí)鐘分配系統(tǒng)中各個(gè)時(shí)鐘末端(器件內(nèi)部觸發(fā)器的時(shí)鐘輸入端)的時(shí)鐘相位不一致的現(xiàn)象,是同一時(shí)鐘源分不到不同時(shí)鐘目的端的延時(shí)差。主要由兩個(gè)原因造成:一是時(shí)鐘源之間的偏差,例如同一個(gè)PLL所輸出的不同的時(shí)鐘信號(hào)之間的偏斜;另一個(gè)是時(shí)鐘分配網(wǎng)絡(luò)的偏斜。時(shí)鐘偏斜是永遠(yuǎn)存在的,但是其大到一定程度,就會(huì)嚴(yán)重影響設(shè)計(jì)的時(shí)序,因此需在設(shè)計(jì)中盡量減小其影響。


時(shí)鐘抖動(dòng)是指時(shí)鐘邊沿的輸出位置和理想情況存在一定的誤差, 理想的時(shí)鐘周期與實(shí)際的時(shí)鐘周期的差別。抖動(dòng)一般可以分為確定性抖動(dòng)和隨機(jī)抖動(dòng),確定性抖動(dòng)一般比較大,而且可以追蹤到特定的來(lái)源,如信號(hào)噪聲、串?dāng)_、電源系統(tǒng)和其他類似的來(lái)源;隨機(jī)抖動(dòng)一般是由環(huán)境內(nèi)的因素造成的,如熱干擾和輻射等,往往難以追蹤。實(shí)際環(huán)境中任何時(shí)鐘都存在一定的抖動(dòng),而當(dāng)時(shí)鐘的抖動(dòng)大到影響設(shè)計(jì)時(shí)序時(shí)就不可接受,應(yīng)予以減弱。


時(shí)序余量(Timing Margin):


在一個(gè)同步設(shè)計(jì)中,可以說時(shí)序決定一切。


在設(shè)計(jì)內(nèi)部的時(shí)序余量時(shí),工程師通常會(huì)考慮的一些延時(shí)因素是:源觸發(fā)器的時(shí)鐘到輸出延時(shí)MicroTco,觸發(fā)器到觸發(fā)器的走線延時(shí)Tlogic,目的觸發(fā)器的建立時(shí)間MicroTsu和保持時(shí)間MicroTh。假設(shè)設(shè)計(jì)規(guī)格需要跑的時(shí)鐘周期為T,因此需要滿足時(shí)鐘建立的要求:


                                          MicroTco + Tlogic +MicroTsu <= T


同時(shí)也需要滿足目的端觸發(fā)器的保持時(shí)間MicroTh要求。


在同步接口的設(shè)計(jì)中,另一需要重點(diǎn)考慮的就是FPGA和周圍(上游和下游)器件的接口時(shí)序。由于芯片I/O管腳的輸入輸出存在相對(duì)較大的延時(shí),同時(shí)還涉及到和時(shí)鐘信號(hào)之間的相位關(guān)系,所以接口電路的時(shí)序往往稱為設(shè)計(jì)中的難點(diǎn)。如考慮到時(shí)鐘偏斜skew、抖動(dòng)Tjitter在內(nèi)(任何芯片內(nèi)部的時(shí)鐘和單板系統(tǒng)的時(shí)鐘都不是完美時(shí)鐘),時(shí)序余量就要滿足:


                                          MicrTco + Tlogic +MicroTsu <= T+ Tskew -Tjitter


在I/O設(shè)計(jì)中除了傳統(tǒng)的系統(tǒng)同步方案以外,也有源同步方案,如動(dòng)態(tài)相位調(diào)整(DPA),數(shù)據(jù)與時(shí)鐘之間的相位關(guān)系不用很嚴(yán)格;CDR(時(shí)鐘數(shù)據(jù)恢復(fù))電路,數(shù)據(jù)串行方式傳送。


使用全局時(shí)鐘網(wǎng)絡(luò)和鎖相環(huán)改善時(shí)鐘:


全局時(shí)鐘網(wǎng)絡(luò)可以驅(qū)動(dòng)全片的所有觸發(fā)器和時(shí)序電路,包括LE、IOE、RAM和DSP等資源中的觸發(fā)器。全局時(shí)鐘網(wǎng)絡(luò)的特點(diǎn):為保證到芯片的各個(gè)角落的延時(shí)盡量相等,時(shí)鐘分配樹首先是走到芯片的中間,再向芯片的四周分布,所以從時(shí)鐘的源端到所驅(qū)動(dòng)的觸發(fā)器走過的路徑比較長(zhǎng),延時(shí)比較大,但是到各個(gè)時(shí)序元件(觸發(fā)器)時(shí)鐘輸入端等長(zhǎng),保證時(shí)鐘偏斜skew很小。同時(shí)全局時(shí)鐘網(wǎng)絡(luò)具有很強(qiáng)的驅(qū)動(dòng)能力,而且在芯片設(shè)計(jì)的時(shí)候?qū)r(shí)鐘網(wǎng)絡(luò)作了保護(hù),盡量防止芯片內(nèi)部的信號(hào)對(duì)時(shí)鐘信號(hào)質(zhì)量?jī)?yōu)影響,這樣可以保證時(shí)鐘信號(hào)引入的抖動(dòng)非常小。


全局時(shí)鐘的設(shè)置:在Quartus II軟件中,有全局的設(shè)置選項(xiàng)“auto global clock”,可以使得工具在實(shí)現(xiàn)的時(shí)候自動(dòng)把一些高扇出的時(shí)鐘信號(hào)走到全局網(wǎng)絡(luò)上去,與此類似,“auto global register control signals”選項(xiàng)同樣可以自動(dòng)把一些高扇出的觸發(fā)器控制信號(hào)(如復(fù)位和時(shí)鐘使能信號(hào))走到全局網(wǎng)路上去?!緎etting】——【analysis & synthesis settings】——【more settings】——【existing options settings】


         如果用戶不希望某個(gè)節(jié)點(diǎn)(管腳或內(nèi)部信號(hào))被選擇使用全局時(shí)鐘網(wǎng)絡(luò),可以再assignment Editor中單獨(dú)對(duì)該信號(hào)設(shè)置開關(guān)(assignment name--auto global clock);當(dāng)然,用同樣的方法也可以約束某個(gè)管腳和內(nèi)部節(jié)點(diǎn)自動(dòng)使用全局時(shí)鐘網(wǎng)絡(luò)。


        FPGA器件中的鎖相環(huán)PLL可以用來(lái)對(duì)設(shè)計(jì)中的時(shí)鐘進(jìn)行管理,可以通過鎖相和移相來(lái)達(dá)到調(diào)整時(shí)鐘偏差的目的。altera器件內(nèi)部的模擬PLL還可以濾除輸入時(shí)鐘信號(hào)的抖動(dòng),提供高質(zhì)量的內(nèi)部和輸出時(shí)鐘。


局部走線:到不同目的節(jié)點(diǎn)的延時(shí)可能相差較大,即偏斜skew較大,可能會(huì)帶來(lái)時(shí)序麻煩。布局布線中有對(duì)設(shè)計(jì)中的保持時(shí)間進(jìn)行優(yōu)化的選項(xiàng),可以選擇是僅優(yōu)化I/O管腳還是優(yōu)化所有的路徑的保持時(shí)間?!緎etting】——【analysis & synthesis settings】——【more settings】——【existing options settings】——【ignor LCELL Buffers】,LCELL延時(shí)原語(yǔ),用以認(rèn)為地增加一些延時(shí)電路以滿足保持時(shí)間的要求。


鎖相環(huán)應(yīng)用:


PLL、DLL:時(shí)鐘管理元件,altera FPGA內(nèi)嵌模擬鎖相環(huán),而xilinx FPGA內(nèi)嵌純數(shù)字的演示鎖定環(huán),都可以通過反饋路徑來(lái)消除時(shí)鐘分布路徑的延時(shí),可以做頻率綜合(如分頻和倍頻),也可以用來(lái)去抖動(dòng)、修正占空比移相等。


模擬鎖相環(huán)的特點(diǎn):


PLL工作原理:壓控振蕩器VCO通過自振輸出一個(gè)時(shí)鐘,同時(shí)反饋給輸入端的頻率相位檢測(cè)器PFD,PFD根據(jù)比較輸入時(shí)鐘和反饋時(shí)鐘的相位來(lái)判斷VCO輸出的快慢,同時(shí)輸出pump-up和pump-down信號(hào)給環(huán)路低通濾波器LPF,LPF把這些信號(hào)轉(zhuǎn)換成電壓信號(hào),再用來(lái)控制VCO的輸出頻率,當(dāng)PFD檢測(cè)到輸入時(shí)鐘和反饋時(shí)鐘邊沿對(duì)齊時(shí),鎖相環(huán)就鎖定了。


.  輸出時(shí)鐘是內(nèi)部VCO自陣產(chǎn)生,把輸入?yún)⒖紩r(shí)鐘和反饋時(shí)鐘的變化轉(zhuǎn)換為電壓信號(hào)間接地控制VCO的評(píng)論。


.  VCO輸出頻率有一定范圍,如果輸入時(shí)鐘頻率超過這個(gè)頻率,則鎖相環(huán)不能鎖定。


. LPF(頻率相位檢測(cè)器)部件可以過濾輸入時(shí)鐘的高頻抖動(dòng),其輸出時(shí)鐘的抖動(dòng)主要來(lái)自VCO本身以及電源噪聲,而不是輸入時(shí)鐘代入的抖動(dòng)。


. 由于是模擬電路,所以對(duì)電源噪聲敏感,在設(shè)計(jì)PCB時(shí),一般需要單獨(dú)模擬電源和模擬地。


鎖相環(huán)PLL的反饋模式:


Normal:時(shí)鐘輸入管腳與時(shí)鐘網(wǎng)絡(luò)的末端(驅(qū)動(dòng)端)同相位。反饋路徑補(bǔ)償了時(shí)鐘輸入延時(shí)和時(shí)鐘網(wǎng)絡(luò)延時(shí),使得FPGA輸入時(shí)鐘與內(nèi)部使用時(shí)鐘同相位。


zero delay buffer:時(shí)鐘輸入管腳與時(shí)鐘輸出管腳同相位。反饋路徑補(bǔ)償了時(shí)鐘輸入延時(shí)和時(shí)鐘輸出延時(shí),使得時(shí)鐘輸入管腳與時(shí)鐘輸出管腳同相,這時(shí)鎖相環(huán)就相當(dāng)于一個(gè)零延時(shí)的時(shí)鐘驅(qū)動(dòng)器,可以用來(lái)產(chǎn)生鏡像時(shí)鐘輸出。


external feedback:外部反饋模式,時(shí)鐘輸入管腳與時(shí)鐘反饋輸入管腳同相位。反饋回路是由時(shí)鐘輸出管腳通過PCB板上走線從反饋輸入管腳輸入,由于時(shí)鐘延時(shí)和反饋輸入延時(shí)相等,所以可以保證時(shí)鐘輸入管腳和反饋輸入管腳鎖定成同相位,如果在PCB布線時(shí)保證時(shí)鐘輸出PCB走線和外部反饋PCB走線兩者等長(zhǎng),這就保證了下游芯片的時(shí)鐘輸入端和FPGA的反饋輸入端同相位,這樣,F(xiàn)PGA和下游器件就構(gòu)成了一個(gè)同步系統(tǒng),而不需要一個(gè)外部時(shí)鐘驅(qū)動(dòng)器。


no compensation:PLL的時(shí)鐘輸入端與PLL的時(shí)鐘輸出端同相位。鎖相環(huán)的反饋路徑中沒有任何延時(shí)單元,不補(bǔ)償任何的路徑延時(shí),所以時(shí)鐘輸出具有最好的抖動(dòng)性能


source synchromous:管腳上的時(shí)鐘輸入和數(shù)據(jù)輸入的相位關(guān)系在到達(dá)IOE觸發(fā)器輸入端上保持一致(僅在stratix II上支持)


鎖相環(huán)在跟蹤參考時(shí)鐘的過程中,鎖定locked信號(hào)會(huì)出現(xiàn)一段時(shí)間的上下翻轉(zhuǎn),等到鎖相環(huán)完全鎖定,鎖定信號(hào)才固定輸出高電平,為了使鎖定信號(hào)有穩(wěn)定的輸出,在stratix II的PLL中,用戶可以指定一個(gè)最大20bit計(jì)數(shù)器的值,等到參考時(shí)鐘計(jì)數(shù)到該值后,才把鎖定信號(hào)放出來(lái),保證這個(gè)時(shí)候鎖相環(huán)已經(jīng)完全鎖定。而這個(gè)參考時(shí)鐘可以使用直接從管腳進(jìn)來(lái)的時(shí)鐘。


片內(nèi)存儲(chǔ)器:


用途:. 單端口RAM:一個(gè)端口進(jìn)行讀或?qū)懖僮鳎?/STRONG>


              . 簡(jiǎn)單雙端口RAM:兩個(gè)端口,一個(gè)只寫,另一個(gè)只讀;


              . 真正雙端口RAM:兩個(gè)均可以讀寫;


              . 多端口RAM:如一個(gè)端口寫,兩個(gè)端口讀的三端口RAM;


              . FIFO:先進(jìn)先出的存儲(chǔ)器;


              . ROM:只讀存儲(chǔ)器。


           altera FPGA 的三種RAM塊都可以支持單端口RAM方式和簡(jiǎn)單雙端口方式。M4K和M-RAM可以支持真正雙端口模式,而M512塊不支持真正雙端口模式;如果要實(shí)現(xiàn)三端口RAM,一口只寫,另外兩口只讀,就必須用冗余的方法實(shí)現(xiàn):用一個(gè)寫端口把數(shù)據(jù)同時(shí)寫到兩個(gè)物理的RAM塊中,同時(shí)也就支持兩個(gè)讀端口;在M512和M4K中都支持初始化文件,使RAM內(nèi)部在FPGA加載完畢后就有初始值,所以支持只讀存儲(chǔ)器ROM方式,但M-RAM不支持初始化文件和ROM方式。


altera FPGA內(nèi)嵌RAM內(nèi)部的RAM都是純同步RAM,也就是說其讀和寫操作都是由時(shí)鐘沿觸發(fā)。在RAM塊的輸入地址、數(shù)據(jù)和讀寫使能信號(hào)均有一級(jí)寄存器輸入級(jí),中間可以看做是一個(gè)純異步讀寫的RAM內(nèi)核,而輸出數(shù)據(jù)也有一級(jí)寄存器輸入級(jí),但該寄存器是用戶可選的,如果選上,輸出數(shù)據(jù)會(huì)多延時(shí)一拍。


讀寫沖突:在雙端口RAM方式下,無(wú)論是讀或者是寫都是針對(duì)同一個(gè)物理RAM塊進(jìn)行的。這樣,在同一個(gè)時(shí)鐘上升沿,當(dāng)一個(gè)端口在寫RAM,另一個(gè)端口在對(duì)同一地址讀操作時(shí)就發(fā)生了讀寫沖突。一般來(lái)說,發(fā)生讀寫沖突時(shí),寫入的數(shù)據(jù)有效,讀出的數(shù)據(jù)位未知。M512和M4K內(nèi)部的一種機(jī)制可以由用戶選擇發(fā)生讀寫沖突時(shí),希望讀出的輸出值:該次寫操作之前的舊值old還是未知值unknown,如果選舊值,那么讀操作將立即在本次時(shí)鐘上升沿完成,讀出舊值,而寫操作將在緊跟其后的時(shí)鐘下降沿完成,把新值寫入RAM中,同時(shí)又避免了同一時(shí)鐘的讀寫沖突。M512,M4K,當(dāng)兩個(gè)端口的時(shí)鐘不同時(shí),那么在發(fā)生讀寫沖突時(shí),讀出值也只能是未知值;但是M-RAM不具有這樣特性,在讀寫沖突時(shí),讀出值只能是未知值。


        在實(shí)現(xiàn)單端口RAM或ROM時(shí),如果兩個(gè)RAM所占用的存儲(chǔ)器的比特?cái)?shù)都分別小于半個(gè)M4K的大小,而同時(shí)如果M4K資源緊張,Quartus II工具將會(huì)在實(shí)現(xiàn)的時(shí)候自動(dòng)將這兩個(gè)RAM合并到一個(gè)M4K塊中實(shí)現(xiàn),以節(jié)省RAM的占用。


       xilinx FPGA只有一種RAM塊。邏輯單元中一個(gè)4輸入LUT可以用來(lái)做一個(gè)16bit RAM,多個(gè)LUT組合在一起就可以做成較大的RAM,這種RAM為分布式RAM,用來(lái)實(shí)現(xiàn)一些小FIFO。但會(huì)浪費(fèi)許多邏輯資源,同時(shí)性能較差,會(huì)占用器件內(nèi)部的大量布線資源,降低設(shè)計(jì)的可布線性。分布式RAM的寫操作是同步的,而讀是完全異步的,用戶需自己在外面增加寄存器來(lái)滿足同步RAM的讀時(shí)序。


RAM用作移位寄存器


M512和M4K可以支持移位寄存器模式,可用來(lái)實(shí)現(xiàn)移位寄存器以節(jié)省觸發(fā)器資源,同時(shí)節(jié)省布線資源;但M-RAM不支持移位寄存器模式。使用RAM來(lái)實(shí)現(xiàn)移位寄存器,需要在MegaWizard中調(diào)用ALTSHIFT_TAPS。


RAM實(shí)現(xiàn)固定系數(shù)乘法


在DSP應(yīng)用中,很多情況下需要將不同的數(shù)據(jù)與同一個(gè)系數(shù)相乘。這時(shí),乘積由輸入數(shù)據(jù)來(lái)決定,像一個(gè)ROM,不同的輸入數(shù)據(jù)就是ROM地址,而乘積就是ROM中查找出來(lái)的內(nèi)容。假設(shè)輸入變換的數(shù)據(jù)是D,所要與之相乘的固定系數(shù)是C。如果D是8 bit寬,而C是10 bit 寬,那么,就把C魚每個(gè)可能的D值相乘的結(jié)果預(yù)先存在M4K實(shí)現(xiàn)的ROM中,一次為0、C、2*C、3*C……,這樣就可以實(shí)現(xiàn)固定其中一個(gè)操作數(shù)的乘法。


如果D是16 bit,相乘的結(jié)果無(wú)法放在一個(gè)M4K中,可把D分為MSB(高比特字節(jié))和LSB(低比特字節(jié)),各8 bit,分別使用一個(gè)M4K存放相乘結(jié)果,最后需要把MSB相乘的結(jié)果左移8 bit 再與LSB相乘的結(jié)果相加,得到最終相乘的結(jié)果;當(dāng)然也可以將MSB和LSB分兩拍輸入到同一個(gè)M4K中,然后通過外部的累加器將兩拍RAM輸出相加得到最后的乘積,以節(jié)省RAM資源,但需更多時(shí)鐘周期。


數(shù)字信號(hào)處理


DSP塊資源:在一些復(fù)雜系統(tǒng)中,如IP上的語(yǔ)音voice over IP、cdma2000以及高清電視HDTV 通常都需要帶寬很高的DSP功能(主要是乘加運(yùn)算)來(lái)處理高速數(shù)據(jù)。


DSP資源:LPM_MULT————選擇專用的乘法器電路(如DSP塊)或者用LE來(lái)實(shí)現(xiàn)乘法功能。


                    ALTMULT_ADD——用來(lái)實(shí)現(xiàn)乘加功能。


                   ALTMULT_ACCUM—用來(lái)實(shí)現(xiàn)乘累加功能。


                  ALTFP_MULT——       用來(lái)實(shí)現(xiàn)浮點(diǎn)乘法功能。


 


片外高速存儲(chǔ)器


存儲(chǔ)器介紹:傳統(tǒng)的存儲(chǔ)器主要可以分為靜態(tài)存儲(chǔ)器SRAM和動(dòng)態(tài)存儲(chǔ)器DRAM兩種。目前業(yè)界比較流行的SRAM存儲(chǔ)單元一般都是采用六晶體管的結(jié)構(gòu),而DRAM的存儲(chǔ)單元?jiǎng)t一般采用單晶體管加上一個(gè)無(wú)源電容構(gòu)成。SRAM與DRAM相比,優(yōu)缺點(diǎn):SRAM訪問時(shí)間短,總線利用率高,靜態(tài)功耗相對(duì)較低,但占用硅片面積較大,容量小,價(jià)格較貴,適用于存儲(chǔ)容量不大,性能要求較高的領(lǐng)域;DRAM讀寫訪問過程比較復(fù)雜,訪問時(shí)間較長(zhǎng),總線利用率相對(duì)較低,而且由于電容器會(huì)不斷漏電,需要周期性去刷新,所以靜態(tài)功耗大,但DRAM存儲(chǔ)容量可以做到很大,價(jià)格便宜,被大量用于計(jì)算機(jī)和服務(wù)器市場(chǎng)。


隨著存儲(chǔ)器的進(jìn)化,SRAM發(fā)展成SSRAM到QDR SRAM 和QDR II SRAM,使得SRAM容量和總線帶寬逐步擴(kuò)大,性能也得到提升。DRAM分為普通DRAM和專用DRAM兩類,普通DRAM分為SDRAM、DDR SDRAM和DDR2 SDRAM,被大量用于PC和服務(wù)器中;專用DRAM主要是為滿足一些特殊應(yīng)用而設(shè)計(jì)的,包括:


  .  reduced Latency DRAM(RLDRAM):主要應(yīng)用在網(wǎng)絡(luò)設(shè)備中,實(shí)現(xiàn)高速路由查找表和數(shù)據(jù)包緩存,性能介于SRAM和普通DRAM之間;


.  Fast Cycle DRAM(FCRAM):應(yīng)用于多媒體以及網(wǎng)絡(luò)設(shè)備中,性能介于SRAM和普通DRAM之間。


. Mobile DRAM:靜態(tài)功耗低,主要應(yīng)用于手持設(shè)備中。


. graphics DRAM:主要應(yīng)用于高速圖像處理中。


通常,從單位比特的成本來(lái)說,SRAM最高,RLDRAM次之,DDR/DDR2 SDRAM 最低;從訪問延時(shí)上來(lái)說,SRAM最小,RLDRAM次之,DDRAM延時(shí)最大。


        處于介紹期和成長(zhǎng)期的器件,使用的批量較小,價(jià)格偏貴,適用于早期的新產(chǎn)品開發(fā)階段;在成熟期的器件,批量非常大,價(jià)格最低;而在衰落期的器件,需求逐漸轉(zhuǎn)移,批量減少,供貨比較緊張,價(jià)格上漲。


 


DSP塊資源


一個(gè)DSP塊包括輸入級(jí)寄存器(input register)、乘法器、流水線級(jí)寄存器(pipeline register)、加//累加(add/Sub/Acc)單元、求和單元(summation)、輸出多路器(output mux)和輸出級(jí)寄存器(output register)。在DSP塊中的輸入級(jí)、流水級(jí)和輸出級(jí)寄存器都是可以旁路掉的,可以根據(jù)自己的需要選擇使用。


DSP塊的乘法器部分是由4個(gè)18 x 18的乘法器構(gòu)成,可以支持有符號(hào)數(shù)和無(wú)符號(hào)數(shù)操作。乘法器部分可以用作4個(gè)18 x 18的乘法器,或者拆分成8個(gè)9 x 9的乘法器。如果用上DSP塊中的2個(gè)加法單元和1個(gè)求綜合單元,可以實(shí)現(xiàn)成一個(gè)36 x 36的乘法器。


 


ZBT SRAM接口設(shè)計(jì)zero bus turn around SRAM):


傳統(tǒng)的同步靜態(tài)RAM在由讀到寫操作的過程中需要幾個(gè)空操作,所以在讀寫操作切換比較頻繁的應(yīng)用中,就存在總線利用率不高的問題;ZBT SRAM是一種新的SRAM結(jié)構(gòu),好處是,其在讀寫操作轉(zhuǎn)變時(shí)不需要任何的等待周期,可以直接切換,使得在任何操作模式下總線利用率保證100%,最大限度地利用了總線帶寬。


ZBT SRAM存在總線沖突問題。由于讀寫操作之間的連續(xù)性,數(shù)據(jù)總線上的數(shù)據(jù)不斷出現(xiàn),增加了數(shù)據(jù)總線上沖突發(fā)生的可能性。在數(shù)據(jù)總線的驅(qū)動(dòng)源由控制芯片(如FPGA)轉(zhuǎn)到RAM或由RAM轉(zhuǎn)到控制芯片時(shí),由其中一方關(guān)閉不及時(shí)或者另一方打開太早,都會(huì)造成兩者的數(shù)據(jù)總線在某一時(shí)間同時(shí)為輸出的情況出現(xiàn),而這時(shí),如果一方輸出為低電平,另一方輸出高電平,就會(huì)在兩個(gè)輸出驅(qū)動(dòng)器之間形成一個(gè)電源VCC到地GND的直通路徑,造成一個(gè)大電流,就是所謂的總線沖突現(xiàn)象。


一般來(lái)說,短時(shí)間的沖突可能引發(fā)器件變熱,長(zhǎng)時(shí)間的沖突會(huì)導(dǎo)致器件加熱燒毀。


減少、避免沖突:設(shè)計(jì)ZBT SRAM總線接口時(shí),必須使輸出數(shù)據(jù)滿足SRAM建立保持時(shí)間TsuTh的同時(shí),還要滿足TxzTzx的要求,用戶可以通過調(diào)整輸出使能OE、輸出以及輸入寄存器的時(shí)鐘相位(鎖相環(huán))來(lái)實(shí)現(xiàn)。


DDR SDRAM接口設(shè)計(jì):基于altera DDR觸發(fā)器的結(jié)構(gòu)特點(diǎn),在輸出時(shí),是高位數(shù)據(jù)先出,地位數(shù)據(jù)后出,而在輸出時(shí),必須要低位數(shù)據(jù)首先進(jìn)來(lái),然后才是高位數(shù)據(jù),因此,在設(shè)計(jì)RAM數(shù)據(jù)接口時(shí),必須注意在輸出寄存器或輸入寄存器處將數(shù)據(jù)高低位顛倒一下,保證數(shù)據(jù)的正確高低為順序。


DDR SDRAM是目前業(yè)界主流DRAM,絕大部分應(yīng)用在PC和服務(wù)器市場(chǎng),集成度高、密度大、接口帶寬高、價(jià)格便宜。DDR SDRAM采用雙數(shù)據(jù)速率接口,也就是在時(shí)鐘的正沿或負(fù)沿都需要對(duì)數(shù)據(jù)進(jìn)行采樣,因此,DDR SDRAM內(nèi)部的數(shù)據(jù)總線是接口數(shù)據(jù)總線的兩倍寬;主頻很高,達(dá)到200MHz,數(shù)據(jù)速率可以達(dá)到400Mbit/s,如果采用傳統(tǒng)系統(tǒng)同步方式,必然導(dǎo)致時(shí)序緊張,因此DDR SDRAM的數(shù)據(jù)與采樣時(shí)鐘之間采用了源同步關(guān)系,讀寫數(shù)據(jù)的采樣均由依靠隨路傳送的時(shí)鐘來(lái)進(jìn)行,這個(gè)采樣時(shí)鐘DQS域數(shù)據(jù)線DQ一樣,是雙向信號(hào),也并不是一個(gè)總是在翻轉(zhuǎn)的有效時(shí)鐘信號(hào)。在讀的時(shí)候RAM在送出有效數(shù)據(jù)DQ的同時(shí)將有效的采樣沿DQS送出;在寫的時(shí)候,DQ也需要伴隨輸入的DQS信號(hào)進(jìn)行采樣。


DDR SDRAMSDRAM在內(nèi)部控制邏輯和存儲(chǔ)單元上基本一致,主要區(qū)別在時(shí)鐘系統(tǒng)以及數(shù)據(jù)信號(hào)的采樣上,只要清楚DDR SDRAM的數(shù)據(jù)接口部分的原理,就可以輕松把SDRAM控制器的設(shè)計(jì)轉(zhuǎn)為 DDR SDRAM的控制器。


 


高速差分接口和DPA(動(dòng)態(tài)相位調(diào)整電路)


隨著數(shù)據(jù)接口速度和帶寬的不斷提高,許多接口逐漸撇棄了傳統(tǒng)的LVTTL/LVCMOS電平,轉(zhuǎn)而采用一些速度更高、抗干擾性更好的差分接口電平,如LVDS、LVPECLhyperTransport等,從而減少PCB走線,提高傳輸帶寬。


接口時(shí)鐘速率的提高,同樣使得傳統(tǒng)的系統(tǒng)同步方式的數(shù)據(jù)接口電路變得越來(lái)越難以實(shí)現(xiàn),許多接口開始采用源同步方式,其時(shí)鐘伴隨數(shù)據(jù)傳輸。如目前業(yè)界比較流行的SPI4.2(系統(tǒng)信息包接口,level 4,phase 2)就是采用了一對(duì)LVDS時(shí)鐘信號(hào)和十六對(duì) LVDS數(shù)據(jù)信號(hào)傳送,如果每對(duì)數(shù)據(jù)信號(hào)工作在1Gbit/s,那么整個(gè)接口帶寬可以達(dá)到16Gbit/s;業(yè)界另外一些標(biāo)準(zhǔn)接口也采用了類似的接口信號(hào)方式,如SFI-4SERDES到“成幀器”的接口,level 4)、Utopia-4等等。


但是即便是采用了源同步方式,在數(shù)據(jù)速率非常高時(shí)如1Gbit/s,由于數(shù)據(jù)與數(shù)據(jù)之間的偏斜,數(shù)據(jù)與時(shí)鐘之間的偏斜,加上PCB的影響,尤其是信號(hào)連接器connector的容性阻抗的不一致性,都會(huì)加劇時(shí)鐘與數(shù)據(jù)之間的偏差,導(dǎo)致有效采樣窗口逐漸變小,以至于時(shí)鐘信號(hào)在管腳處根本找不到一個(gè)有效的采樣窗口把并行數(shù)據(jù)一次采樣進(jìn)來(lái),這時(shí)就需要為每一個(gè)數(shù)據(jù)線找到一個(gè)合適的采樣時(shí)鐘相位,保證在接口處把所有的數(shù)據(jù)都正確的采樣進(jìn)來(lái),用來(lái)完成這項(xiàng)工作的電路就叫做動(dòng)態(tài)相位對(duì)準(zhǔn)電路(dynamic phase alignment)。


 


器件專用資源:


我們假設(shè)需要實(shí)現(xiàn)一個(gè)數(shù)據(jù)速率為840Mbit/s,隨路時(shí)鐘為420MHz的接口電路(包括發(fā)送和接收部分),而且數(shù)據(jù)和時(shí)鐘之間是對(duì)齊(edge aligned)的,介紹利用stratix II 器件中的專用電路來(lái)實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收。


   發(fā)送接口:如果每根數(shù)據(jù)接口信號(hào)工作在840Mbit/s,FPGA內(nèi)部的邏輯顯然無(wú)法工作在這個(gè)頻率,假定內(nèi)部將要輸出的數(shù)據(jù)是8位并行數(shù)據(jù),工作時(shí)鐘頻率是105MHz。如果要傳送16對(duì)840Mbit/sLVDS數(shù)據(jù),那么內(nèi)部就是16 x 8位寬,105Mbit/s的數(shù)據(jù)總線。這時(shí),接口處需要一個(gè)串行器,把8位并行數(shù)據(jù)線轉(zhuǎn)為1位的串行信號(hào)。


    在普通的是stratix II器件的I/O管腳處,有一個(gè)IOE,可以支持DDR(雙數(shù)據(jù)速率)、SDR(單數(shù)據(jù)速率)以及無(wú)觸發(fā)器的數(shù)據(jù)通道,而在一些可以支持高速LVDS輸出的管腳處,還有一個(gè)串行器serializer電路,用戶可以選擇使用IOE或者是serializer電路。


內(nèi)部的串行器可以支持的串行化因子J可以為47、8、10等,也就是說串行器可以接收這幾種位寬的數(shù)據(jù)輸入,做并串轉(zhuǎn)換,如果需要實(shí)現(xiàn)J1SDR)或者2DDR),就需要使用IOE,而不是串行器。


在該例中,需要實(shí)現(xiàn)8位數(shù)據(jù)的輸入,J就要選擇8,同時(shí)需要輸入一個(gè)840MHz的串行時(shí)鐘供串行器電路使用,以及一個(gè)載入使能信號(hào)(每8個(gè)串行時(shí)鐘周期有效一次)。


Stratix II中的快速鎖相環(huán)Fast PLL就是為這種應(yīng)用而設(shè)計(jì)的。


Stratix II fast PLL可以輸出兩個(gè)串行時(shí)鐘(dffioclk0dffioclk1),兩個(gè)載入使能(loadena0,loadena1)。高倍串行時(shí)鐘是從VCO直接輸出的,沒有經(jīng)過輸出分頻計(jì)數(shù)器,而載入使能是由分頻器產(chǎn)生的。Fast PLL本身可以由分頻計(jì)數(shù)器(C0 ~ C3)來(lái)產(chǎn)生低速并行時(shí)鐘,輸出到全局時(shí)鐘網(wǎng)絡(luò)GCLK和區(qū)域網(wǎng)絡(luò)RCLK,供內(nèi)部使用。


Stratix II器件允許用戶把輸出的差分時(shí)鐘放在任意一對(duì)LVDS輸出上,完全像數(shù)據(jù)一樣輸出,而無(wú)需采用專用的時(shí)鐘輸出管腳,這樣,時(shí)鐘輸出的位置可以由用戶任意指定,可以使其靠近數(shù)據(jù)輸出總線,減小時(shí)鐘與數(shù)據(jù)之間的偏差,減小PCB設(shè)計(jì)難度。在輸出時(shí)鐘的時(shí)候,利用普通的LVDS數(shù)據(jù)輸出口,在輸入的并行接口輸入固定的“10101010”,同時(shí)把一位寄存器的輸出直接送到管腳,就可以產(chǎn)生一個(gè)固定頻率并且數(shù)據(jù)總線邊沿對(duì)齊的時(shí)鐘信號(hào)。


 


接收接口:在一些可以支持高速LVDS輸入的管腳處,同樣有一個(gè)解串器deserializer電路實(shí)現(xiàn)串行轉(zhuǎn)換。另外,在stratix IIstratix GX器件中,還有一個(gè)動(dòng)態(tài)相位調(diào)整DPA電路,可以實(shí)現(xiàn)更高速的輸入采樣電路。


在一些應(yīng)用中,數(shù)據(jù)字節(jié)在串行鏈路上是一位接一位傳送過來(lái)的。在接收端,如何把這些數(shù)據(jù)字節(jié)的邊界找到,是一個(gè)非常關(guān)鍵的工作,即字節(jié)邊界對(duì)準(zhǔn)。


輸入使能的位置將直接影響恢復(fù)出來(lái)的數(shù)據(jù)的字節(jié)邊界,故可通過調(diào)整輸入使能的位置來(lái)調(diào)整字節(jié)邊界。


 


如果不適用專用的串行器和解串器電路,僅使用IOE中的觸發(fā)器和LE資源,同樣可以實(shí)現(xiàn)并/串轉(zhuǎn)換電路。這種實(shí)現(xiàn)方法由于受到DDR觸發(fā)器和內(nèi)部邏輯性能的限制,數(shù)據(jù)速率不可能做得高。


 


動(dòng)態(tài)相位調(diào)整電路DPA


隨著設(shè)計(jì)時(shí)鐘速率越來(lái)越高,信號(hào)偏斜skew、抖動(dòng)jitter和噪聲noise都在吞噬著時(shí)序余量。在高速設(shè)計(jì)中,工程師不僅需要關(guān)注有源器件的特性,一些無(wú)源器件對(duì)信號(hào)的傳輸、時(shí)序余量起著非常大的影響,包括PCB走線、過孔via、接插件(連接器等),另外工藝、電壓和溫度對(duì)信號(hào)延時(shí)的影響也相當(dāng)大。


在普通的源同步設(shè)計(jì)中,隨路時(shí)鐘相對(duì)數(shù)據(jù)總線的相位固定,同時(shí)保證數(shù)據(jù)和數(shù)據(jù)、數(shù)據(jù)和時(shí)鐘之間的PCB走線偏斜盡量小。這樣,數(shù)據(jù)總線和時(shí)鐘在傳輸過程中的延時(shí)可以做到差別很小,同時(shí)他們受外部環(huán)境影響的效果差不多,各種影響可以基本抵消,而在內(nèi)部依靠延時(shí)單元或PLL將數(shù)據(jù)和采樣時(shí)鐘對(duì)準(zhǔn),這種對(duì)準(zhǔn)稱為靜態(tài)相位對(duì)準(zhǔn)。


當(dāng)靜態(tài)相位對(duì)準(zhǔn)方案在時(shí)鐘頻率很高時(shí)(如1Gbit/s),時(shí)序余量就不能滿足要求。如果傳送的數(shù)據(jù)和時(shí)鐘穿過連接器,由于數(shù)據(jù)線所受的影響各不相同,情況會(huì)變得很糟,甚至根本無(wú)法找到一個(gè)合適的相位來(lái)對(duì)所有數(shù)據(jù)正確采樣。


如果接受的時(shí)鐘能夠根據(jù)每個(gè)通道數(shù)據(jù)的相位自動(dòng)為每個(gè)通道分別選擇合適的采樣時(shí)鐘相位,那將使接口變得非??煽浚瑫r(shí)也免去了PCB設(shè)計(jì)時(shí)數(shù)據(jù)和時(shí)鐘之間嚴(yán)格等長(zhǎng)的要求,得到PCB設(shè)計(jì)更加容易。Altera器件中的動(dòng)態(tài)相位對(duì)準(zhǔn)電路DPA就是為了滿足這種要求二設(shè)計(jì)的。


DPA電路的原理:先用fast PLL輸出的8個(gè)不同相位的高速DPA時(shí)鐘對(duì)輸入的數(shù)據(jù)分別采樣,由此可以判斷出該數(shù)據(jù)線翻轉(zhuǎn)的位置,這樣就可以從這8個(gè)不同相位的始終內(nèi)選出一個(gè)位于有效數(shù)據(jù)中部的時(shí)鐘來(lái)采樣該數(shù)據(jù),從而可以保證采樣的正確性。每一個(gè)數(shù)據(jù)都可以在著8個(gè)相位的時(shí)鐘中選出一個(gè)合適的來(lái)采樣。


要格外注意的是,要使用DPA電路,輸入數(shù)據(jù)必須有足夠的翻轉(zhuǎn)沿,使得DPA能夠鎖定;而且用來(lái)采樣數(shù)據(jù)的時(shí)鐘一定要和輸入數(shù)據(jù)的時(shí)鐘源為同源時(shí)鐘。如果兩者不同源,即使時(shí)鐘的標(biāo)稱頻率一致,也將造成數(shù)據(jù)的采樣錯(cuò)誤。


Stratix GXstratix II中的DPA電路有所差異。在stratix GX中,同步器和數(shù)據(jù)重對(duì)準(zhǔn)電路位于解串器后面,是并行操作,而stratix II中是串行操作。要注意的是,如果只適用stratix GX器件中的解串器deserializer,而不用DPA電路,是不能夠?qū)γ恳粋€(gè)通道進(jìn)行字節(jié)邊界調(diào)整的,只能通過控制快速PLL的使能信號(hào)來(lái)對(duì)該PLL的所有通道統(tǒng)一調(diào)整。然而在stratix GXDPA方式下,數(shù)據(jù)重對(duì)準(zhǔn)電路在每個(gè)一通道內(nèi)部都有,可以對(duì)每一個(gè)通道單獨(dú)控制。


總之,DPA技術(shù)是目前業(yè)界為解決單板互聯(lián)的可靠性、簡(jiǎn)化PCB設(shè)計(jì)、提高接口的時(shí)序余量的一種方法,而且逐漸被業(yè)界所接受。


另外,有一種用FPGA內(nèi)部邏輯實(shí)現(xiàn)類似DPA的電路叫做軟數(shù)據(jù)恢復(fù)(soft data recovery)。也是利用較高速的時(shí)鐘對(duì)輸入的串行數(shù)據(jù)進(jìn)行過采樣(over-sampling),如一個(gè)比特采樣4次或5次,然后根據(jù)數(shù)據(jù)的跳變沿選擇一個(gè)采樣得到的數(shù)據(jù)作為有效數(shù)據(jù),這種方案由于受FPGA內(nèi)部邏輯和鎖相環(huán)性能的限制,實(shí)現(xiàn)的數(shù)據(jù)速率不能很高,一般建議300Mbit/s以下。


DPA技術(shù)類似的另一種方案是CDR(時(shí)鐘數(shù)據(jù)恢復(fù))技術(shù)。同樣需要依靠有足夠翻轉(zhuǎn)率的數(shù)據(jù)流,在接收端依靠模擬電路和鎖相環(huán)技術(shù),把串行數(shù)據(jù)流中的時(shí)鐘和數(shù)據(jù)恢復(fù)出來(lái),在本地使用。與DPA不同的是,CDR電路在接收端完全不需要發(fā)送端傳時(shí)鐘過來(lái)。就算本地時(shí)鐘與端時(shí)鐘不同源,只要它們?cè)谝欢ǖ念l率差允許的范圍內(nèi),就可以工作,CDR電路將補(bǔ)償時(shí)鐘之間的差別。


 


高速串行收發(fā)器


Stratix GX器件與stratix 器件相比,新增特性只有兩個(gè):一個(gè)在高速差分LVDS接口增加了DPA電路;另外一個(gè)就是增加了高速串行收發(fā)器transeiver。


高速串行收發(fā)器是一種數(shù)據(jù)傳送接口,它只傳送高速的數(shù)據(jù)碼流,不傳送時(shí)鐘信號(hào),在接收端需要依靠數(shù)據(jù)碼流中足夠的跳變沿來(lái)恢復(fù)出時(shí)鐘和數(shù)據(jù)。Stratix GX的收發(fā)器每個(gè)通道可以工作在3.1875Gbit/s的數(shù)據(jù)速率。


Stratix GX器件中的收發(fā)器分為模擬部分和數(shù)字部分。模擬部分主要完成鎖相環(huán)和并/串轉(zhuǎn)換的功能;數(shù)字部分完成編碼、對(duì)準(zhǔn)、速率匹配等功能。


在發(fā)送和接收端都需要本地參考時(shí)鐘。在發(fā)送端為了減少信號(hào)傳輸過程中的衰減,用戶可以選擇不同級(jí)別的預(yù)加重;在接收端用戶也可以選擇均衡器,補(bǔ)償高頻分量。


帶有收發(fā)器的FPGA主要用在高速背板互連,或者外接光模塊做遠(yuǎn)距離互連;另外一些標(biāo)準(zhǔn)的協(xié)議接口也是需要采用高速串行數(shù)據(jù)的,如XAUI等。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多