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