FPGA設(shè)計的注意事項
有幾個方法可以減小SSN。有些器件只需通過限制I/O標(biāo)準(zhǔn)的選擇就可簡化這個問題,但不是所有器件都能這么做。一些供應(yīng)商建議將高速總線輸出分布到整個裸片上,如果SSN是你唯一關(guān)注的問題,那么這絕對是一個很好的建議。不過,如果按照這個建議去做,有2個基本問題將會冒出來。
首先,這可能會帶來下游布通性問題,因為將信號散布到整個裸片上經(jīng)常會引起更多的走線交叉。而這就導(dǎo)致需要更多的信號布線層。其次,大多數(shù)設(shè)計在散布信號前也要求進(jìn)行仔細(xì)研究,因為當(dāng)一個總線散布到特定的塊或區(qū)外時會引起塊/區(qū)間的兼容性問題。因此,如果你能在考慮布通性的同時,小心地將一個較小的總線分布到一個或兩個塊/區(qū)域內(nèi),那么系統(tǒng)將會工作得很好。
如果你被一個具有相鄰高速切換輸出的設(shè)計所困擾,有好幾種技術(shù)能幫助你解決潛在的SSN問題。首先對你的設(shè)計進(jìn)行合適的布局和去耦合。對于去耦合,使用距離盡可能近的電源和地平面對,中間用一個SMT電容隔開。使用SMT電容進(jìn)行去耦合也有助于減小電感,而電感是產(chǎn)生系統(tǒng)噪聲的一個主要因素。
如果你仍然覺得需要使用去耦電容(為了減小SSN),應(yīng)該使得這些電容的位置盡可能靠近高速輸出引腳。Altera的一項研究發(fā)現(xiàn),如果這些電容到引腳的距離大于1英寸,在使用適當(dāng)?shù)腟MT電容去退耦時,這些電容變得效率極低。其他減小SSN或者其可能產(chǎn)生影響的建議包括:避免將敏感信號(復(fù)位、時鐘和使能等)位于SSO附近;可能時,使用較小偏移的輸出和使用最低電感的過孔;通過在合適位置插入延時使得輸出信號交替出現(xiàn)。即使已經(jīng)完成了PCB的生產(chǎn),這個建議仍然可以應(yīng)用。
參考將被連接到FPGA上的器件的相關(guān)資料。對于每個器件,確定最大輸入低電壓門限(單位毫伏)。這是FPGA驅(qū)動該器件需要的最大電壓,所以該設(shè)備仍然可以檢測到一個有效邏輯低狀態(tài)(最大VIL值)。同樣,還要確定器件可以容忍且能繼續(xù)工作的最大輸入負(fù)脈沖信號(單位毫伏)。
在某些情況下,最大容許的地反彈可能不是或者不僅是以上給出的值。而是要通過獲得最大輸入低電壓門限的最小值、最大輸入負(fù)脈沖信號、或者所有器件的最大地反彈來確定最大的系統(tǒng)地反彈。
然后,根據(jù)具有相似負(fù)載特點的網(wǎng)絡(luò)連接的數(shù)目和種類對類似的FPGA總線進(jìn)行分組。接著研究每個部分、區(qū)域或者塊的電源和接地引腳數(shù)目,還有對于所使用的每個I/O標(biāo)準(zhǔn),每個電源和接地管腳對所允許的SSO數(shù)目。這些數(shù)目可以用于計算每個組的總電容負(fù)載和每個輸出驅(qū)動的電容,以確定可以容忍的SSO最大值。
你也應(yīng)該咨詢供應(yīng)商以確定基于每個塊和每一對塊你是否超過了推薦的SSO數(shù)目,前提是供應(yīng)商已經(jīng)研究了這些問題。同時,因為有多個因素會導(dǎo)致SSN,所以最好建立一個具有內(nèi)置抗噪聲性能的魯棒系統(tǒng)。否則,就使用針對每個引腳限制I/O標(biāo)準(zhǔn)的器件,這樣就可以減少可能的SSN問題。
差分信號
在FPGA設(shè)計中,你可能會發(fā)現(xiàn)對差分信號的處理存在最多的爭議。類似于SSN,最好從供應(yīng)商、書籍和用戶群獲得盡可能多的信息。同時,在確定某個方案前咨詢你的布局部門以了解他們推薦的建議和信息。
主要爭論開始于差分信號對是否應(yīng)該采用寬邊耦合還是邊緣耦合,以及每對之間到底應(yīng)該存在多少耦合。答案通常是“根據(jù)具體情況確定”,所以需要進(jìn)行具體研究。
如果你不能確定對于一個單端信號為什么需要選擇差分I/O標(biāo)準(zhǔn),答案很簡單。使用差分信號,你幾乎可以完全控制信號的回路。因為這是信號對的一部分,而且理論上在任何一個接地(或者電源)平面上不應(yīng)該出現(xiàn)來自信號對的電流。
這里假設(shè)走線對具有相等長度,布設(shè)在相鄰區(qū)域且間距不變,走線阻抗恒定且匹配。此外,利用單端信號,你很難控制信號回程,而且測試一個信號的返回也可能徒勞無益。
差分信號的主要缺點是他們需要兩根走線彼此臨近。當(dāng)在一個PCB上分配幾百個差分信號時這可能是個難點。但這是布線工程師的問題,不是嗎?
評論