我采用XC4VSX35或XC4VLX25 FPGA來連接DDR2 SODIMM和元件。SODIMM內存條選用MT16HTS51264HY-667(4GB),分立器件選用8片MT47H512M8。設計目標:當客戶使用內存條時,8片分立器件不焊接;當使用直接貼片分立內存顆粒時,SODIMM內存條不安裝。請問專家:
1、在設計中,先用Xilinx MIG工具生成DDR2的Core后,管腳約束文件是否還可更改?若能更改,則必須要滿足什么條件下更改?生成的約束文件中,ADDR,data之間是否能調換?
2、對DDR2數據、地址和控制線路的匹配要注意些什么?通過兩只100歐的電阻分別連接到1.8V和GND進行匹配 和 通過一只49.9歐的電阻連接到0.9V進行匹配,哪種匹配方式更好?
3、V4中,PCB LayOut時,DDR2線路阻抗單端為50歐,差分為100歐?Hyperlynx仿真時,那些參數必須要達到那些指標DDR2-667才能正常工作?
4、 若使用DDR2-667的SODIMM內存條,能否降速使用?比如降速到DDR2-400或更低頻率使用?
5、板卡上有SODIMM的插座,又有8片內存顆粒,則物理上兩部分是連在一起的,若實際使用時,只安裝內存條或只安裝8片內存顆粒,是否會造成信號完成性的影響?若有影響,如何控制?
6、SODIMM內存條(max:4GB)能否和8片分立器件(max:4GB)組合同時使用,構成一個(max:8GB)的DDR2單元?若能,則布線阻抗和FPGA的DCI如何控制?地址和控制線的TOP圖應該怎樣?
7、DDR2和FPGA(VREF pin)的參考電壓0.9V的實際工作電流有多大?工作時候,DDR2芯片是否很燙,一般如何考慮散熱?
8、由于多層板疊層的問題,可能頂層和中間層的銅箔不一樣后,中間的夾層后度不一樣時,也可能造成阻抗的不同。請教DDR2-667的SODIMM在8層板上的推進疊層?
網友zyonghui回復如下:
1.請教FPGA工程師,一般來說可以。
2.數據線已經有ODT不需要外部匹配了,沒見過兩個電阻的匹配方式。單個電阻連到0.9V VTT上,注意這個VTT需要有SHUNT能力,即能輸出正負電流的。
3.DDR2中阻抗是一方面,不過更關鍵是的TIMING以及CROSSTALK,另外注意不要跨分割,這是最基本的。
4.當然可以
5.肯定會有影響,你所能做的只有盡量縮短STUB的影響
6.這取決于你的硬件設計,如CS。ODT的連接。當然應該沒有設計蠢到不能同時用的程度,除非主控CPU不能尋址超過4G的范圍。
7.如果說參考電壓,則幾乎不需要電流,因為只是做參考。如果你說的是0.9V終端匹配電壓,那需要一些電流,一般正負3A就足夠了,這個可以計算的。速度越快DDR2越燙,一般一條4G的內存按到6到8W的功耗算,已經很高了。
8.只要維持地平面,任何阻抗PCB廠家都是可以控制的。但要告訴你阻抗只是很小一方面,很多供應商的參考設計對DDR的阻抗要求都是變來變去的,根本沒統一的標準。