- 註冊時間
- 2009-9-13
- 最後登錄
- 2023-9-27
- 主題
- 查看
- 積分
- 223
- 閱讀權限
- 50
- 文章
- 193
- 相冊
- 1
- 日誌
- 0
狀態︰
離線
|
我曾經在一家為 Wi-Fi 打造智慧天線 SoC 的新創公司工作。這大約是2002-2003年之間的事了,當時 802.11n 甚至都還沒出現呢!我們的工作目標是開發產品的 MAC 和實體層。
為了在建置 ASIC 以前先測試這款系統,我們購買了兩個相同的 FPGA 原型板;一個作為發射器,另一個則是接收器。
這兩塊原型板分別採用賽靈思(Xilinx) Virtex XCV2000 (分別有2百萬閘)。設計本身約2百萬閘分佈於兩個 FPGA 。我負責實驗室支援以及MAC硬體(後來還加上MAC韌體),所以我開始架設起測試硬體。
FPGA原型板僅用於實體層驗證作業。針對除錯作業,我們採用一款示波器、一款邏輯分析儀,我還提議使用 Xilinx 的 ChipScope 技術,這是一種可嵌入於FPGA的JTAG-based虛擬邏輯分析儀。測試程序是以測試向量來執行設計,看看所得到的反應是否能與模擬作業相容。由於我們想要在不受外在干擾的情況下擷取許多內部訊號,因此所用的這款邏輯分析儀其實並不是一款理想的選擇。此外,由於這款低成本邏輯分析儀性能較低階,它的探棒還會和板上的低速訊號產生干擾。
FPGA 工程師下載設計後就開始進行測試。在經過初步的除錯與調整後,我們已經準備好傳送數據封包並測試VHDL程式碼的功能了。在操作這些原型板時,每塊板上的功耗約4-5A/5V,作業時脈為80MHz。在測試進行期間,由於測試向量無法與模擬搭配起來,FPGA工程師一直忙著找出問題所在。在其它 VHDL 問題逐步解決後,FPGA工程師才能繼續進行下一階段作業。但他仍無法找到設計合成或繞線的任何其他錯誤。因此,他請求我們的協助。
我們都不願相信硬體會有什麼問題。我的意思是指真正的硬體問題(與VHDL語言無關)。我開始用示波器探測原型板。 FPGA 工程師堅持得查看電源供應器的狀況。一開始我發現電源供應器時好時壞。在原型板上大約有三條跳線可通過輸入電流到內部穩壓器,但總有一兩次會出現跳線接觸不良的情形。我便用鉗子和焊接的方式來調緊跳線。
連接RF部份的FPGA原型板
然而問題並沒有解決。由於可用的示波器僅有100MHz低頻寬,加上探棒上接地線雜訊太大,讓我們無法看到乾淨的訊號,於是我用一條很短的導線在探棒上設置接地。我們可以看到在訊號傳送期間形成約1.8V的FPGA功耗,這與內部邏輯作業是一致的。
示波器波形模擬圖,X軸表示時間,Y軸表示電壓。
電源軌出現了週期性電壓驟降的情形。根據 FPGA 資料表中的電壓應該高於1.75V,但在某些情況下,電壓約1.70V左右。 FPGA 工程師確定這就是問題所在。雖然我不相信這就是造成間歇性問題的解答,但我仍然答應會去解決這個問題。
檢查過原型板的原理圖(幸好我們還有原理圖)以及板卡本身後,我簡直不敢相信,每個電源接腳竟然只有10nF的超低去耦電容!根據過去的經驗法則是在每個IC添加100nF以及電解或鉭電容,但經驗豐富的高速設計者都知道這在速度不斷攀升時是行不通的。一般來說,數位IC必須添加兩種電容類型。除了這裡用的去耦電容以外,通常用濾波電容器以進行旁路,那麼就能再加進更多電容來補償瞬間需要大量突波電流的開關電路。
這就是我們面對的情況。我已經測量到開關電壓壓降了。當然,由於頻寬與接地的問題,我們這台頻寬為100MHz的示波器只能勉強捕捉到清楚的訊號,這讓事情變得更加棘手。更不用提 FM 收音機頻率(87-108MHz)正干擾著我們的測量作業。而附近山區的電台天線在為我們的收音機提供良好的訊號雜訊比(SNR)之餘......也為我們的量測作業帶來了令人傷腦筋的 SNR 。真是夢靨一場!
如果每塊原型板消耗4-5A的電流,表示每個FPGA功耗約2A,那麼我們有多少開關電流呢?10nF的電容器能容納多大的電流?
FPGA原型板上的去耦電容結構
我只好在每個FPGA周圍放置許多這樣的小型結構。這些結構對於機械應力非常敏感,即使只是輕微的壓力施加在電容器上,也可能摧毀小型的PCB焊墊。但出乎我的意料之外的是,在經過一番「手術」重建後,這款設計竟可順利作業了!
沒錯。就算是小至mV範圍的壓降也足以干擾到邏輯時序,而使得設計間歇性地出現一些問題。
這次的測試作業我們更加瞭解電源層以及在各種情況下什麼才是重要的。我還發現,即使一點點不相容的小細節也會導致攸關設計成敗的重大差別。還有,當然,我們才不告訴開發板設計者這些新發現呢!
|
|