新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 使用Xilinx的Spartan-6 FPGA作DDR芯片測(cè)試

        使用Xilinx的Spartan-6 FPGA作DDR芯片測(cè)試

        作者: 時(shí)間:2011-10-17 來源:網(wǎng)絡(luò) 收藏
        目前廣泛使用的計(jì)算機(jī)內(nèi)存芯片是(雙倍數(shù)據(jù)率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)[1]。它的最新品種3單片容量已經(jīng)可以達(dá)到2Gb以上,數(shù)據(jù)率可以達(dá)到1.6Gb/s以上[2],因此如何快速準(zhǔn)確判定芯片的好壞(功能)就很必要。

        由于DDR這類芯片的設(shè)置和讀寫時(shí)序相當(dāng)復(fù)雜,要在其性能所達(dá)到的高速條件下對(duì)其進(jìn)行,許多人選用的技術(shù)方法是:直接把它們放到計(jì)算機(jī)的內(nèi)存專用插座上,編一個(gè)相應(yīng)的程序去進(jìn)行。這不失為一種最簡(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è)試。


        關(guān)鍵詞: DDR 測(cè)試

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 隆化县| 赫章县| 乌兰察布市| 贵德县| 蓝山县| 新巴尔虎右旗| 石河子市| 通化市| 札达县| 黄石市| 合川市| 罗城| 黄龙县| 布拖县| 怀仁县| 嘉祥县| 项城市| 崇仁县| 浏阳市| 天峻县| 蕉岭县| 南汇区| 台东县| 黔南| 秭归县| 清苑县| 潼南县| 宁晋县| 莲花县| 肇州县| 西畴县| 杨浦区| 广东省| 清水县| 奉化市| 合山市| 汕尾市| 华蓥市| 苍溪县| 涪陵区| 舞阳县|