使用Xilinx的Spartan-6 FPGA作DDR芯片測試
由于DDR這類芯片的設(shè)置和讀寫時序相當(dāng)復(fù)雜,要在其性能所達(dá)到的高速條件下對其進(jìn)行測試,許多人選用的技術(shù)方法是:直接把它們放到計算機(jī)的內(nèi)存專用插座上,編一個相應(yīng)的程序去進(jìn)行測試。這不失為一種最簡單的選擇。但由于在測試過程中,計算機(jī)讀取相應(yīng)的指令還要花費(fèi)不少時間,所以在芯片容量越來越大的情況下,這并不是一個好方法。
使用FPGA,將測試軟件變成硬件,做成DDR專用測試工具,是提高測試效率的較好的選擇。一開始設(shè)計的DDR專用測試工具是使用Xilinx公司的Spartan-3E來實現(xiàn)的,但是很快發(fā)現(xiàn):無論如何進(jìn)行設(shè)計約束,諸多的地址信號、控制信號和數(shù)據(jù)信號很難做到同步送出,信號時延的離散范圍很難達(dá)到0.2ns以下。對于數(shù)據(jù)率在200Mb/s以下的早期DDR產(chǎn)品,這勉強(qiáng)可以接受。但目前DDR2的數(shù)據(jù)率已經(jīng)可以高達(dá)800Mb/s,也就是說,按相位角算,離散范圍已達(dá)60°。為了保證上述有關(guān)信號的同步,不得不在FPGA與DDR相連接的所有信號線之間,增加了用CPLD器件做成的同步接口,利用CPLD器件端口到端口具有一致的延時特性來保證所有信號時間上的一致性。
對于Xilinx公司的Spartan-6系列[3],由于它有專為各類DDR內(nèi)存設(shè)計的存儲器控制模塊(MCB),用戶可以利用提供的存儲器控制模塊,直接驅(qū)動DDR芯片,大大方便了與DDR的接口。
在我們新的DDR專用測試工具“DDR存儲芯片測試儀”中,使用Spartan-6系列的XC6SLX16芯片,按照該公司的ug416.pdf文件[4]的指引,用CORE Generator軟件中的MIG3.4分別產(chǎn)生了DDR2和DDR3兩種類型的應(yīng)用文件,包括DDR的基層MCB控制模塊的應(yīng)用文件,和它們的高層次使用舉例文件example_top。后者本身就是一個DDR的測試程序,它向你顯示如何實現(xiàn)與基層MCB控制模塊接口。我們在它的基礎(chǔ)上增加了一些測試模式,并增加了測試設(shè)置寄存器和測試結(jié)果狀態(tài)寄存器,用一個宏晶公司的STC12C5408單片機(jī)作為整個DDR芯片測試設(shè)備的管理器,經(jīng)串行口與主機(jī)通信,很順利地實現(xiàn)了對DDR2、DDR3芯片的測試。
評論