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