基于Virtex-5的PCI-Express總線接口設(shè)計(jì)和實(shí)現(xiàn)
4 實(shí)驗(yàn)結(jié)果分析
首先初始化FPGA內(nèi)部的寄存器文件,通過設(shè)置相應(yīng)的控制位啟動(dòng)數(shù)據(jù)從Host內(nèi)存通過PCI-Express接口向下傳輸?shù)紽PGA內(nèi)部,傳輸完畢后,F(xiàn)PGA內(nèi)部控制邏輯將接收的數(shù)據(jù)進(jìn)行處理,并得到向上輸出的數(shù)據(jù),然后通過PCI-Express接口,再將數(shù)據(jù)傳輸回Host內(nèi)存,Host內(nèi)存的檢測(cè)程序?qū)λ盏降臄?shù)據(jù)進(jìn)行校驗(yàn)。在進(jìn)行FPGA內(nèi)部PCI-Express接口速度測(cè)試時(shí),由于Host讀寫內(nèi)存需要一定的時(shí)間,所以在測(cè)試速度時(shí)不進(jìn)行Host內(nèi)存的讀寫。而在正確性測(cè)試時(shí),則通過Host讀寫內(nèi)存判斷數(shù)據(jù)是否正確。所有ChipScope截圖均以一包數(shù)據(jù)包大小為4KDW為例進(jìn)行捕捉,圖中有文字標(biāo)識(shí)其中的信號(hào)意義。
圖6為Host將數(shù)據(jù)通過PCI-Express接口向下傳輸?shù)紽PGA內(nèi)部的ChilpScope截圖。本文引用地址:http://butianyuan.cn/article/150893.htm
從圖中可以看出,F(xiàn)PGA接收數(shù)據(jù)包的最大載荷為512B,而發(fā)送數(shù)據(jù)包為128B。在Host將數(shù)據(jù)通過PCI-Express接口向下傳輸?shù)紽PGA過程中,首先FPGA要向Host發(fā)送一系列mem讀請(qǐng)求包,Host收到請(qǐng)求包后,就根據(jù)請(qǐng)求包的內(nèi)存地址和數(shù)據(jù)長(zhǎng)度發(fā)送CPLD包給FPGA,F(xiàn)PGA解析CPLD包并存儲(chǔ)數(shù)據(jù)到相應(yīng)數(shù)據(jù)區(qū)。圖7為在Windows XP下測(cè)得的每包數(shù)據(jù)包大小為16KDW時(shí)傳輸速率為5.03Gb/s。
圖8為FPGA處理完后將數(shù)據(jù)通過PCI-Express接口向上傳輸?shù)紿ost的ChipScope截圖。從圖中可以看出包和包之間的發(fā)送有一定的間隔,這是因?yàn)榭刂泼堪l(fā)送造成的間隔,所以在同樣每包數(shù)據(jù)包大小為16KDW時(shí)測(cè)得的傳輸速率要底于Host向下傳輸?shù)乃俾?,只?.7Gb/s左右。
5 總結(jié)和展望
Virtex5系列FPGA芯片內(nèi)嵌PCI-Express End-pointBlock硬核,為實(shí)現(xiàn)單片可配置PCI-Express總線解決方案提供了可能。基于Virtex5 FPGA的PCI-Express設(shè)計(jì)實(shí)現(xiàn)方式簡(jiǎn)單、配置靈活,適合于各種應(yīng)用領(lǐng)域,降低了設(shè)計(jì)成本,縮短了產(chǎn)品上市時(shí)間,保證了產(chǎn)品的功能性和易用性,開創(chuàng)了高效率PCI Express開發(fā)的新時(shí)代。
評(píng)論