實戰(zhàn)分享 – Xilinx DDR3控制器在高溫環(huán)境下(結(jié)溫≥110°C)不穩(wěn)定的問題,分析及解決
之前分享過一篇LVDS接收在高溫環(huán)境下不穩(wěn)定的Case,這篇可以算作其姊妹篇,也是基于一個真實的Case。
問題描述:
所用器件: Kintex7-325T,-3速度等級,商業(yè)檔
系統(tǒng)描述: 使用3個HPbank接了4片16位寬的DDR3顆粒,DDR3控制器使用MIG生成,Data Rate 為1866Mbps。使用的是Native Interface,命令和數(shù)據(jù)通道分開,分別提供一讀一寫2個數(shù)據(jù)通道。
現(xiàn)象描述:在做高溫測試時,在芯片結(jié)溫超過110°C之后(芯片結(jié)溫可以用JTAG實時監(jiān)測),整個系統(tǒng)開始不正常。此時通過FPGA內(nèi)部添加ILA邏輯分析儀進行分析,發(fā)現(xiàn)DDR3控制器的讀通道開始沒有響應(yīng),即發(fā)送讀命令下去,但是并沒有數(shù)據(jù)返回,看起來像是DDR3控制器已經(jīng)跑死了。
同樣從Xilinx器件本身來說,商業(yè)檔的芯片,手冊標稱的溫度范圍是0-85℃,即使是-E等級的芯片,標稱也不過是0-100℃。
從測試現(xiàn)象來說,DDR3控制器在110℃以后才出問題,其實已經(jīng)超過了普通商業(yè)檔芯片的標稱工作范圍。但凡事無絕對,本著同之前LVDS的Case一樣的態(tài)度,嘗試一下,沒準我們能發(fā)現(xiàn)一些更深層次的問題呢!
分析過程:
因為現(xiàn)在沒什么頭緒,我們就從一些最常規(guī)的手段去嘗試。
1. 降頻
客戶的系統(tǒng)對DDR3貸款的需求比較大,最多降到1600Mbps,降得再低可能系統(tǒng)帶寬無法保證。在1600Mbps時,溫度特性沒有什么明顯差異,也是在110°C左右開始出現(xiàn)問題。
2. 單獨測試DDR3讀寫
使用MIG生成獨立的DDR3讀寫測試工程,發(fā)現(xiàn)此時即使結(jié)溫升到120℃,DDR3的讀寫邏輯依舊工作正常。這說明PCB layout和信號完整性應(yīng)該沒有太大的問題。難道問題出現(xiàn)在Timing上?
3.Timing時序
仔細重新梳理了一遍設(shè)計,和時序約束,該約束的都約束上了,而且從最終的實現(xiàn)報告上來看,所有的時序都滿足要求,沒有違例。
應(yīng)該也不是Timing約束的問題。
至此我們排查了邏輯設(shè)計,Timing約束和報告,PCB layout,沒有發(fā)現(xiàn)特別的疑點。那么還有那些因素可能影響呢,會不會是電源問題呢?
4. 電源
在整個系統(tǒng)正常跑起來后,用示波器接在電源上進行分析。在常溫下,幾路電源都完全工作正常。隨著溫度的升高,到約110℃附近,F(xiàn)PGA的核壓Vccint的那一路電源,1.0V會有一個明顯的下降。
會不會是1.0V的電源供電不足導(dǎo)致的,因為隨著溫度的升高,F(xiàn)PGA的功耗也會顯著的加大。
解決辦法:
使用外部的獨立穩(wěn)壓電源給1.0V單獨供電,再進行高低溫測試,即使結(jié)溫升到120℃,系統(tǒng)仍然工作正常??雌饋碚请娫吹膯栴}。