FPGA電路板設計選型及設計思路分析
如果你在采用FPGA的電路板設計方面的經(jīng)驗很有限或根本沒有,那么在新的項目中使用FPGA的前景就十分堪憂——特別是如果FPGA是一個有1000個引腳的大塊頭。繼續(xù)閱讀本文將有助于你的FPGA選型和設計過程,并且有助于你規(guī)避許多難題。
本文引用地址:http://butianyuan.cn/article/201903/398364.htm選取一家供應商
你面臨的第一個問題當然是供應商和器件的選擇。通常供應商決策傾向于你以前接觸最多的那家——如果你是一位FPGA初學者當然另當別論了?;蛟S這個決策早已由設計內部邏輯的工程師(也許就是你)依據(jù)熟悉的供應商或第三方IP及其成本完成了。
供應商的軟件工具也會影響到上述決策。下載并使用這些軟件工具,不需要硬件就能將設計帶入仿真階段。這也是判斷需要多大規(guī)模的FPGA的一種方式,前提是你的內部邏輯設計基本做完了。
要想知道FPGA的水有多深,需要多逛逛各家供應商的網(wǎng)站。如果你想從這些網(wǎng)站提供的海量(而且并不總是想象中那么清晰的)信息中有所收獲,必須確保你有一整天空閑的時間。Altera和賽靈思公司是在市場份額和前沿技術方面都遙遙領先的兩家公司。它們的器件使用內部配置RAM,因此要求使用存放配置數(shù)據(jù)的外部ROM來“啟動”器件(兩家公司也都有些小的非易失性CPLD類產(chǎn)品)。值得考慮的其它供應商還有Microsemi/Actel、萊迪思和賽普拉斯。它們的器件功能包括非常低的靜態(tài)功耗、用于“即時開機”啟動的基于ROM的配置和模擬外設。
好了,至此供應商問題解決了。接下來是選取FPGA的系列和規(guī)模。供應商都會將它們的產(chǎn)品細分成多個系列,通常以低端、中端和高端性能(和規(guī)模)這樣的模糊概念加以區(qū)分。片上RAM需要多大?要多少DSP/乘法模塊,或千兆位收發(fā)器?你可能需要通讀一遍數(shù)據(jù)手冊,找出諸如最大時鐘頻率和I/O時延等參數(shù)來幫助你選擇正確的系列。需要重申的是,擁有HDL代碼是有很大幫助的,因為設計軟件可以讓你知道適合哪種器件,它們是否能夠滿足你的性能要求。
你的應用還可以從不改變PCB就能更新器件中受益。一些FPGA系列包含眾多引腳兼容的器件,可以在需要時讓你切換到更大(或更便宜和更小)的器件。只是要確保針對最少數(shù)量的引腳輸出進行設計。
不要忘了考慮其它一些細節(jié),比如如何為不同的供電電壓和I/O標準劃分I/O組、PLL要求以及DDR接口要求。
我們需要更多的功率!
通常很難計算一塊電路板要求的最大電流。但FPGA電源設計相當有技巧。FPGA所需電流很大程度上取決于邏輯設計和時鐘頻率。同樣一個器件在一個設計中可能只需0.5W,而在另一個設計中可能高達5W。
開發(fā)工具(或一個獨立的程序或電子數(shù)據(jù)表)應該可以為給定設計提供功率預估值,但它們需要從你那兒得到許多附加信息,其中一些可能只是有根據(jù)的推測。如果有FPGA開發(fā)板,就應該有方法測量各種情況下的供電電流。一些開發(fā)板甚至內嵌電流計顯示器!只是要確保增加足夠多的余量來應對設計更改以及特殊工藝/溫度要求。
下面是“難題”可能會出現(xiàn)的時候:
● 做熱分析,并在必要時增加散熱器。
● FPGA要求按順序加電嗎?(你的設計很容易出現(xiàn)5個或6個電源)
● 至少可能需要一個“安靜的”電源,通常用于片上PLL。可以使用LDO加上一些無源濾波器件。千兆位收發(fā)器電源也能從低噪聲中受益。
● 確保你理解FPGA在上電和初始化時在做什么事。許多器件在這個時候需要抽取很大的電流。
關于引腳及其它
接下來可以認真考慮引腳分配這件大事了。同樣,如果你的邏輯設計已經(jīng)達到可以被編譯的階段,就讓設計軟件來提供幫助吧,或至少在做電路板之前驗證你分配的引腳是可行的。你當然已經(jīng)處理過明顯的資源,比如根據(jù)供電電壓劃分I/O組,確保諸如LVDS、SSTL或內部50Ω終端等“特殊”引腳設置兼容它們所在的組和供電電壓。
但在許多器件中存在更深層次的微妙關系:在“不要在單端信號的2個IC綁定焊盤內放置差分對”,或“類似于參考電壓的輸入必須距離時鐘信號至少3個焊盤遠”等字里行間隱含著復雜的規(guī)則。這些規(guī)則很容易讓人發(fā)瘋。如果讓人不堪忍受,就讓設計軟件為你指出違例吧。如果你不這樣做,那么這些問題肯定會讓你疲憊不堪。
接地反彈或并發(fā)開關噪聲(SSN)是另外一個考慮因素。由于FPGA的應用方式太多,所以供應商經(jīng)常為最好的場景設計電源分配方案。如果你的設計要充分發(fā)揮I/O功能,比方使用數(shù)量很多的快速同時開關輸出,那么你可能需要“減少”實際可以使用的引腳數(shù)量。盡量減小驅動和壓擺率設置通常是一個好主意。設計軟件也可能幫助進行SSN分析。我認為減小SSN的一個技巧是將未用引腳連接到地,然后在設計文件中將它們設置為輸出,驅動‘0’。這些引腳將被用作偽地引腳,雖然質量沒有真實地好。
交付
現(xiàn)在是將凝聚了你心血的產(chǎn)品交付給PCB版圖設計的時候了。這里我不想深入討論PCB設計(可以參考下面給出的一些文章),但會指出針對FPGA設計需要考慮的一些事項。
堆疊設計對任何復雜的電路板來說都很重要,而在最復雜的電路板中通常都能找到FPGA的身影。隨著500引腳芯片被認為是“中等規(guī)?!币约安粩嗫s小的引腳間距,你可能需要十分留意走線逃逸圖案、焊盤中的過孔、引腳區(qū)域內的去耦電容以及電源與地平面。一定要有創(chuàng)造性。必要時可以分割電源平面(當然要避免高速走線)。如果足夠小心,一些電源連接(通常是局部的電源,如PLL電源)可以放在信號層上。將一些關鍵平面和信號放在最靠近FPGA的層。留意一些專門的版圖建議,比如針對DRAM的一些建議。
評論