亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于異步物理層接口的PCIe接口芯片硬件驗證方法

文檔序號:6399644閱讀:279來源:國知局
專利名稱:基于異步物理層接口的PCIe接口芯片硬件驗證方法
技術(shù)領(lǐng)域
本發(fā)明涉及ASIC芯片的硬件驗證領(lǐng)域,具體涉及一種基于異步物理層接口的PCIe接口芯片硬件驗證方法。
背景技術(shù)
PCI Express (PCIe)是目前應(yīng)用最為廣泛的I/O總線標(biāo)準(zhǔn),基于PCI Express接口的ASIC芯片結(jié)構(gòu)如圖1所示,主要由物理層、PCI Express軟核以及用戶邏輯三部分構(gòu)成。物理層負(fù)責(zé)數(shù)據(jù)編碼和串并轉(zhuǎn)換,PCI Express軟核實現(xiàn)PCI Express總線協(xié)議,物理層與PCI Express軟核之間是一個工業(yè)標(biāo)準(zhǔn)接口,稱為PCI Express物理層接口(PHYInterface of PCI Express,簡稱PIPE接口),用戶邏輯在PCI Express用戶接口之上實現(xiàn)ASIC芯片的數(shù)據(jù)處理功能。ASIC芯片的驗證主要有兩種方法:軟件模擬和硬件驗證。軟件模擬基于模擬器對代碼進行仿真執(zhí)行,簡單方便但是速度較慢,難以發(fā)現(xiàn)邏輯設(shè)計中的深層次錯誤。硬件驗證將代碼綜合到硬件驗證平臺上在真實的環(huán)境中執(zhí)行,驗證速度很快,但是較為復(fù)雜。ASIC驗證過程中通常兩種方法會互為補充,最終實現(xiàn)對芯片功能的全覆蓋。ASIC代碼綜合到FPGA中時通常達不到ASIC實際的工作頻率,因此一般都采用降頻驗證的方式,將FPGA工作頻率降為ASIC工作頻率的幾分之一。內(nèi)部邏輯代碼降頻對功能驗證通常沒有影響,外部接口一般需要與FPGA驗證平臺以外的設(shè)備進行通信(例如PCIExpress端節(jié)點設(shè)備需要連接主板上的PCI Express根節(jié)點設(shè)備),如果FPGA驗證平臺的接口速率與其它設(shè)備的接口速率不一致,就無法進行正常的數(shù)據(jù)傳輸。PCI Express軟核的工作頻率與物理層接口速率間有嚴(yán)格的關(guān)系,直接降低軟核的工作頻率將會引起物理層接口速率降低,導(dǎo)致 無法連接標(biāo)準(zhǔn)速率的PCI Express設(shè)備,因此這就需要一種硬件驗證PCIExpress接口的方法以實現(xiàn)降頻后的PCI Express軟核和標(biāo)準(zhǔn)PCI Express設(shè)備之間的通 目。針對上述技術(shù)問題,現(xiàn)有技術(shù)的解決方法主要有如下兩種:(l)Xilinx/Altera公司的硬核替換法。將為ASIC設(shè)計的PCI Express軟核替換為可以在FPGA中實現(xiàn)的PCI Express軟核或硬核,然后在替換后的PCI Express用戶接口上插入異步FIFO實現(xiàn)降頻驗證。這種方法的缺點第一是PCI Express軟核自身以及相關(guān)邏輯無法得到驗證,第二由于每種PCI Express IP的用戶接口都不同,采用替換的方式改變了用戶接口,因此用戶邏輯必須做出相應(yīng)的修改,導(dǎo)致ASIC代碼和FPGA代碼不一致,不僅增加了驗證復(fù)雜性,而且降低了驗證的可信度。(2) SpeedBridge 技術(shù)。Cadence 的 SpeedBridge 技術(shù)是在標(biāo)準(zhǔn)的 PCI Express 接口與硬件驗證平臺上降頻的PCI Express接口之間插入一個特殊的PCI Express橋設(shè)備,該橋設(shè)備有兩個不同速率的端口,它將標(biāo)準(zhǔn)PCI Express接口收到的報文緩存后轉(zhuǎn)發(fā)給降頻的PCI Express接口,從而實現(xiàn)降頻PCI Express設(shè)備與標(biāo)準(zhǔn)PCI Express設(shè)備的透明通信。SpeedBridge技術(shù)需要設(shè)計專用的轉(zhuǎn)接板和橋芯片,實現(xiàn)非常復(fù)雜,并且SpeedBridge目前只能用于Cadence的Palladium驗證平臺,無法應(yīng)用到通用的FPGA驗證平臺上。綜上所述,如何在通用FPGA硬件驗證平臺上實現(xiàn)PCI Express接口的降頻驗證是本領(lǐng)域技術(shù)人員極為關(guān)注的技術(shù)問題。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種能夠?qū)崿F(xiàn)PCI Express接口芯片降頻硬件驗證、兼容現(xiàn)有測試代碼、實現(xiàn)簡單方便、通用性好、資源占用率低的基于異步物理層接口的PCIe接口芯片硬件驗證方法。為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:一種基于異步物理層接口的PCIe接口芯片硬件驗證方法,其實施步驟如下:I)構(gòu)建具有標(biāo)準(zhǔn)PCI Express接口的FPGA硬件平臺,將所述FPGA硬件平臺通過標(biāo)準(zhǔn)PCI Express接口與帶有PCI Express根節(jié)點設(shè)備的主機相連;2)在待驗證的PCI Express接口芯片ASIC代碼中的PCI Express軟核與物理層之間插入用于匹配頻率差的異步物理層接口,所述異步物理層接口包含發(fā)送緩沖區(qū)、接收緩沖區(qū)、降頻PIPE接口和標(biāo)準(zhǔn)PIPE接口,所述異步物理層接口通過降頻PIPE接口與FPGA硬件平臺相連、通過標(biāo)準(zhǔn)PIPE接口與物理層相連;3)將所述待驗證的PCI Express接口芯片ASIC代碼遷移到所述FPGA硬件平臺綜合實現(xiàn),并根據(jù)PCI Express接口芯片被綜合的最高頻率設(shè)置降頻PIPE接口的工作頻率;4)使用測試程序通過所述FPGA硬件平臺對PCI Express接口芯片的PCI Express軟核和用戶邏輯進行功能測試;當(dāng)PCI Express軟核通過異步物理層接口向物理層發(fā)送PCI Express報文時,PCI Express軟核通過降頻PIPE接口將PCI Express報文寫入異步物理層接口的發(fā)送緩沖區(qū),異步物理層接口將發(fā)送緩沖區(qū)緩存PCI Express報文通過標(biāo)準(zhǔn)PIPE接口發(fā)送給物理層,同時當(dāng)異步物理層接口的發(fā)送緩沖區(qū)為空時,異步物理層接口檢測鏈路的握手狀態(tài),如果握手未成功則在標(biāo)準(zhǔn)PIPE接口上插入SKP有序集報文來補償PCI Express軟核與物理層之間的頻率差,如果握手已經(jīng)成功則在標(biāo)準(zhǔn)PIPE接口上插入LIDLE邏輯空報文來補償PCIExpress軟核與物理層之間的頻率差;當(dāng)物理層通過異步物理層接口向PCI Express軟核發(fā)送PCI Express報文時,異步物理層接口檢測鏈路的握手狀態(tài),如果握手未成功則將接收到的PCIExpress報文按照降頻PIPE接口的工作頻率和標(biāo)準(zhǔn)PIPE接口的工作頻率之間的比值進行丟棄,并將未丟棄的PCI Express報文寫入異步物理層接口的接收緩沖區(qū),如果握手已經(jīng)成功則判斷接收到的PCI Express報文的類型,當(dāng)PCIExpress報文是鏈路層報文或者事務(wù)層報文時寫入異步物理層接口的接收緩沖區(qū),當(dāng)PCIExpress報文是邏輯空報文時全部丟棄,異步物理層接口將接收緩沖區(qū)緩存PCI Express報文通過降頻PIPE接口發(fā)送給物理層。作為本發(fā)明上述技術(shù)方案的進一步改進:所述步驟3)中根據(jù)PCI Express接口芯片被綜合的最高頻率設(shè)置降頻PIPE接口的工作頻率時,降頻PIPE接口的工作頻率取值規(guī)則如式(I)所示;fVfs = 1,4/5,3/4,7/10,2/3,3/5,1/2,2/5 (I)式(I)中,為降頻PIPE接口的工作頻率,fs為標(biāo)準(zhǔn)PIPE接口的工作頻率。所述異步物理層接口的接收緩沖區(qū)容量滿足式(2)的函數(shù)關(guān)系;
Cfifo > Ctlp*(UfffdllpVfs) (2)式⑵中,Cfif。為接收緩沖區(qū)的容量,Ctlp為PCI Express軟核的事務(wù)層報文接收緩沖區(qū)容量(具體數(shù)值與軟核配置有關(guān),一般不超過32KB),fdllp為數(shù)據(jù)鏈路層報文的最大更新頻率(具體數(shù)值與軟核配置有關(guān),一般不超過IMHzhf1為降頻PIPE接口的工作頻率,fs為標(biāo)準(zhǔn)PIPE接口的工作頻率。所述步驟4)中將接收到的PCI Express報文按照降頻PIPE接口的工作頻率和標(biāo)準(zhǔn)PIPE接口的工作頻率之間的比值進行丟棄時,丟棄比例滿足式(3)的函數(shù)關(guān)系;M/ (M+N) = fVfs (3)式(3)中,M為連續(xù)接收的報文個數(shù),N為連續(xù)丟棄的報文個數(shù),為降頻PIPE接口的工作頻率,fs為標(biāo)準(zhǔn)PIPE接口的工作頻率;同時所述丟棄比例還滿足式⑷和(5)的函數(shù)關(guān)系:fjfs = M/ (M+N) > 8/ (delaytx+delaylink+delayrx+16) (4)fVfs > 1/3 (5)式(4)中,delaytx是發(fā)送方的延遲、delaylink是物理鏈路的延遲、delayrx是接收方的延遲,delaytx、delaylink、delayM都是以在標(biāo)準(zhǔn)PIPE接口上發(fā)送一個有序集報文的時間作為單位時間。本發(fā)明基于異步物理層接口的PCI Express接口芯片驗證方法具有下述優(yōu)點:(I)本發(fā)明能夠?qū)崿F(xiàn)與標(biāo)準(zhǔn)PCI Express設(shè)備的通信,通過異步物理層接口實現(xiàn)的PCIExpress軟核與物理層之間的頻率差匹配,采用本發(fā)明后串行鏈路的發(fā)送接收速率均未改變,異步物理層接口對數(shù)據(jù)的刪除插入過程保證了與PCI Express協(xié)議的兼容性,因此能夠與PCIExpress設(shè)備正常通信,能夠?qū)崿F(xiàn)PCI Express接口芯片降頻硬件驗證。(2)本發(fā)明基于標(biāo)準(zhǔn)PIPE接口,未增加或減少任何信號,待驗證的FPGA代碼能夠與之直接相連,不需要做任何改動,因此待驗證的PCI Express軟核和用戶邏輯代碼不需要做任何修改,具有實現(xiàn)簡單方便、兼容現(xiàn)有測試代碼的優(yōu)點。(3)本發(fā)明不需要特別硬件的支持,能夠作為一個模塊直接與待驗證的代碼綜合實現(xiàn)于通用FPGA驗證平臺,具有通用性好、實現(xiàn)簡單、資源占用率低的優(yōu)點。


圖1為現(xiàn)有技術(shù)中PCI Express接口芯片的結(jié)構(gòu)示意圖。圖2為本發(fā)明實施例的方法流程示意圖。圖3為本發(fā)明實施例中PCI Express接口芯片插入異步物理層接口后的結(jié)構(gòu)示意圖。圖4為本發(fā)明實施例中FPGA驗證卡(降頻PCI Express設(shè)備)與服務(wù)器(標(biāo)準(zhǔn)PCI Express設(shè)備)通過PCI Express金手指和PCI Express插槽相連的連接結(jié)構(gòu)示意圖。圖5為本發(fā)明實施例中異步物理層接口的框架結(jié)構(gòu)示意圖。
具體實施例方式如圖2和圖3所示,本實施例基于異步物理層接口的PCIe接口芯片硬件驗證方法的實施步驟如下:
I)構(gòu)建具有標(biāo)準(zhǔn)PCI Express接口的FPGA硬件平臺,將PGA硬件平臺通過標(biāo)準(zhǔn)PCIExpress接口與帶有PCI Express根節(jié)點設(shè)備的主機相連;2)在待驗證的PCI Express接口芯片ASIC代碼中的PCI Express軟核與物理層之間插入用于匹配頻率差的異步物理層接口(如圖3所示),異步物理層接口包含發(fā)送緩沖區(qū)、接收緩沖區(qū)、降頻PIPE接口和標(biāo)準(zhǔn)PIPE接口,異步物理層接口通過降頻PIPE接口與FPGA硬件平臺相連、通過標(biāo)準(zhǔn)PIPE接口與物理層相連;3)將待驗證的PCI Express接口芯片ASIC代碼遷移到FPGA硬件平臺綜合實現(xiàn),并根據(jù)PCI Express接口芯片被綜合的最高頻率設(shè)置降頻PIPE接口的工作頻率;4)使用測試程序通過FPGA硬件平臺對PCI Express接口芯片的PCI Express軟核和用戶邏輯進行功能測試;當(dāng)PCI Express軟核通過異步物理層接口向物理層發(fā)送PCI Express報文時,PCI Express軟核通過降頻PIPE接口將PCI Express報文寫入異步物理層接口的發(fā)送緩沖區(qū),異步物理層接口將發(fā)送緩沖區(qū)緩存PCI Express報文通過標(biāo)準(zhǔn)PIPE接口發(fā)送給物理層,同時當(dāng)異步物理層接口的發(fā)送緩沖區(qū)為空時,異步物理層接口檢測鏈路的握手狀態(tài),如果握手未成功則在標(biāo)準(zhǔn)PIPE接口上插入SKP有序集報文來補償PCI Express軟核與物理層之間的頻率差,如果握手已經(jīng)成功則在標(biāo)準(zhǔn)PIPE接口上插入LIDLE邏輯空報文來補償PCI Express軟核與物理層之間的頻率差;當(dāng)物理層通過異步物理層接口向PCI Express軟核發(fā)送PCIExpress報文時,異步物理層接口檢測鏈路的握手狀態(tài),如果握手未成功則將接收到的PCIExpress報文按照降頻PIPE接口的工作頻率和標(biāo)準(zhǔn)PIPE接口的工作頻率之間的比值進行丟棄,并將未丟棄的PCI Express報文寫入異步物理層接口的接收緩沖區(qū),如果握手已經(jīng)成功則判斷接收到的PCI Express報文的類型,當(dāng)PCIExpress報文是鏈路層報文或者事務(wù)層報文時寫入異步物理層接口的接收緩沖區(qū),當(dāng)PCIExpress報文是邏輯空報文時全部丟棄,異步物理層接口將接收緩沖區(qū)緩存PCI Express報文通過降頻PIPE接口發(fā)送給物理層。本實施例在PCI Express 物理層接口上(PHY Interface of PCI Express,簡稱PIPE接口)實現(xiàn)降頻功能,不需要修改PCI Express軟核和用戶邏輯代碼,降頻后的PCIExpress端設(shè)備能夠與PCI Express根設(shè)備之間正常通信,采用軟核的方式實現(xiàn),資源占用率低,能夠直接與待驗證的代碼綜合到FPGA驗證平臺上實現(xiàn)。如圖4所示,本實施例中的具有標(biāo)準(zhǔn)PCI Express接口的FPGA硬件平臺為FPGA驗證卡,將FPGA驗證卡插到服務(wù)器的PCI Express插槽上,從而與服務(wù)器(帶有PCI Express根節(jié)點設(shè)備的主機)主板上的標(biāo)準(zhǔn)PCI Express設(shè)備相連,構(gòu)成一個PCI Express接口芯片F(xiàn)PGA驗證系統(tǒng)的FPGA硬件平臺,以便驗證PCIExpress接口芯片的功能。本實施例中,步驟3)中根據(jù)PCI Express接口芯片被綜合的最高頻率設(shè)置降頻PIPE接口的工作頻率時,降頻PIPE接口的工作頻率取值規(guī)則如式(I)所示;fVfs = 1,4/5,3/4,7/10,2/3,3/5,1/2,2/5 (I)式⑴中,為降頻PIPE接口的工作頻率,fs為標(biāo)準(zhǔn)PIPE接口的工作頻率。本實施例中,標(biāo)準(zhǔn)PIPE接口的工作頻率fs為125MHz,的取值為3/5、1/2、2/5時則分別對應(yīng)降頻PIPE接口的頻率為75MHz、62.5MHz、50MHz,能夠滿足PCI Express軟核使用FPGA進行硬件驗證的頻率要求。將待驗證的PCI Express接口芯片ASIC代碼遷移到FPGA硬件平臺綜合實現(xiàn)時,可以采用綜合工具進行綜合實現(xiàn),根據(jù)PCI Express能夠被綜合到的最高頻率設(shè)置降頻PIPE接口的工作頻率。本實施例中,異步物理層接口的接收緩沖區(qū)容量滿足式(2)的函數(shù)關(guān)系;Cfifo > Ctlp* (1- (frfdllp) /fs) (2)式⑵中,Cfif。為接收緩沖區(qū)的容量,Ctlp為PCI Express軟核的事務(wù)層報文接收緩沖區(qū)容量(具體數(shù)值與軟核配置有關(guān),一般不超過32KB),fdllp為數(shù)據(jù)鏈路層報文的最大更新頻率(具體數(shù)值與軟核配置有關(guān),一般不超過1MHz),為降頻PIPE接口的工作頻率,fs為標(biāo)準(zhǔn)PIPE接口的工作頻率。PCIe鏈路握手成功以后,PIPE接口上只發(fā)送兩種類型的報文:事務(wù)層報文(Transaction Layer Packet,簡稱TLP)和數(shù)據(jù)鏈路層報文(DataLink Layer Packet,簡稱DLLP),這兩種報文都作為有效數(shù)據(jù)寫入接收緩沖區(qū),寫入的頻率為fs,同時又被降頻的PCIe軟核讀出,讀出的頻率為f1;由于讀出的速度比寫入的速度慢,因此會有部分報文緩沖在異步PIPE接口中。數(shù)據(jù)鏈路層報文是周期性發(fā)送的,最大更新頻率為fdllp,因此用于實際處理TLP報文的速率為(fffdllp),而PCI Express軟核所能接收的事務(wù)層報文總?cè)萘渴芙邮站彌_容量Ctlp限制,因此只要接收緩沖區(qū)的容量Cfif。>Ctlp* (1-(frfdllp) /fs),就能夠防止接收緩沖區(qū)溢出。本實施例中,步驟4)中將接收到的PCI Express報文按照降頻PIPE接口的工作頻率和標(biāo)準(zhǔn)PIPE接口的工作頻率之間的比值進行丟棄時,丟棄比例滿足式(3)的函數(shù)關(guān)系;M/ (M+N) = fVfs (3)式(3)中,M為連續(xù)接收的報文個數(shù),N為連續(xù)丟棄的報文個數(shù),為降頻PIPE接口的工作頻率,fs為標(biāo)準(zhǔn)PIPE接口的工作頻率;同時丟棄比例還滿足式⑷和(5)的函數(shù)關(guān)系:fjfs = M/ (M+N) > 8/ (delaytx+delaylink+delayrx+16) (4)fVfs > 1/3 (5)式(4)中,delaytx是發(fā)送方的延遲、delaylink是物理鏈路的延遲、delayrx是接收方的延遲,delaytx、delaylink、delayM都是以在標(biāo)準(zhǔn)PIPE接口上發(fā)送一個有序集報文的時間作為單位時間。本實施例中,當(dāng)發(fā)送緩沖區(qū)為空時,異步物理層接口會在標(biāo)準(zhǔn)PIPE接口上插入一些PCIExpress規(guī)范定義的空閑報文:異步物理層接口在鏈路握手還未成功前插入SKP有序集報文,鏈路握手成功后則插入LIDLE邏輯空報文,以此來補償異步物理層接口兩邊的頻率差,保證標(biāo)準(zhǔn)異步物理層接口上的數(shù)據(jù)不中斷;按照PCI Express協(xié)議規(guī)范,標(biāo)準(zhǔn)PCIExpress設(shè)備收到空閑報文后會將其丟棄,因此插入這些報文不會影響標(biāo)準(zhǔn)PCI Express設(shè)備正常工作。異步物理層接口將接收到的PCI Express報文通過標(biāo)準(zhǔn)PIPE接口寫入異步物理層接口接收緩沖區(qū)。根據(jù)PCI Express規(guī)范,鏈路握手成功之前收到的PCI Express報文全部為有序集報文,為了匹配異步PIPE接口兩邊的頻率差,需要對接收到的有序集報文按照降頻PIPE接口的頻率與標(biāo)準(zhǔn)PIPE接口的頻率之間的比值進行丟棄,丟棄比例滿足式
(3)的函數(shù)關(guān)系。丟棄部分報文會影響到PCI Express協(xié)議的握手過程,根據(jù)PCI Express協(xié)議規(guī)范,在鏈路握手過程中狀態(tài)轉(zhuǎn)移需要滿足兩個條件:(1)收到8個連續(xù)的握手報文,
(2)收到對方第一個握手報文后已經(jīng)連續(xù)發(fā)送了 16個同樣的報文。為了使得丟棄部分報文不影響鏈路的握手過程,則最高能夠丟棄報文的比例滿足式(4)的函數(shù)關(guān)系,式(4)中,delaytx、delaylink、deIayrx分別是發(fā)送方、物理鏈路、接收方的延遲,都是以在標(biāo)準(zhǔn)PIPE接口上發(fā)送一個有序集報文作為單位時間(對于16bit/125MHz的標(biāo)準(zhǔn)PIPE接口單位時間為64ns)。delaylink和delayM是鏈路延遲和標(biāo)準(zhǔn)PCI Express設(shè)備的接收延遲,通常不可調(diào)節(jié),Clelaytx是發(fā)送方的延遲(包括異步PIPE模塊的延遲),因此通過調(diào)節(jié)延遲拍數(shù)可以改變最低工作頻率??紤]到PCI Express協(xié)議的信用超時和重傳超時等因素,fVfs最小值應(yīng)該大于l/3(16bit/125MHz的標(biāo)準(zhǔn)PIPE接口對應(yīng)最低降頻頻率為41.67MHz),已經(jīng)足夠滿足PCI Express軟核驗證的頻率要求。鏈路握手成功以后,異步物理層接口接收到的PCIExpress報文有三種:鏈路層報文、事務(wù)層報文和邏輯空報文,其中鏈路層報文和事務(wù)層報文是有效的PCI Express數(shù)據(jù),邏輯空報文只是為了填充鏈路上的空閑時間,保證數(shù)據(jù)的連續(xù)性而發(fā)送的報文,丟棄邏輯空報文不會影響PCIExpress數(shù)據(jù)傳輸?shù)恼_性。異步物理層接口將接收到的鏈路層報文和事務(wù)層報文寫入內(nèi)部的接收緩沖區(qū),邏輯空報文則全部丟棄,由于發(fā)送方能夠發(fā)送的鏈路層報文和事務(wù)層報文數(shù)量受接收信用的控制,為了防止接收FIFO溢出,接收緩沖區(qū)容量滿足式(2)的函數(shù)關(guān)系。異步物理層接口從接收緩沖區(qū)中讀出鏈路層報文和事務(wù)層報文,并通過降頻PIPE接口發(fā)送給PCI Experss軟核,當(dāng)接收緩沖區(qū)為空時,則發(fā)送邏輯空報文給PCI Experss軟核。通過這種方式調(diào)節(jié)PCI Express鏈路層和事務(wù)層報文之間所填充的邏輯空報文的比例,從而補償接收時異步物理層接口兩邊的頻率差。 如圖5所示,本實施例中異步物理層接口向上通過降頻PIPE接口連接PCIExpress軟核,向下通過標(biāo)準(zhǔn)PIPE接口連接物理層模塊,異步物理層接口模塊由四個部分構(gòu)成。(I)時鐘模塊時鐘模塊將標(biāo)準(zhǔn)PIPE接口上輸入的時鐘通過頻率綜合器PLL進行分頻,得到的降頻時鐘給待驗證的PCIExpress軟核使用,異步PIPE兩邊時鐘比例可以取如下值:降頻PIPE 時鐘 fV 標(biāo)準(zhǔn) PIPE 時鐘 fs = I,4/5,3/4,7/10,2/3,3/5,1/2,2/5這些取值的選擇是為了保證在PCI Express握手過程中能夠按照整數(shù)比均勻的插入和刪除報文,防止連續(xù)插入和刪除的報文數(shù)量過多影響PCI Express鏈路握手過程。(2)狀態(tài)與控制模塊狀態(tài)與控制模塊實現(xiàn)對物理層模塊的控制和狀態(tài)信號的采集,PIPE接口標(biāo)準(zhǔn)中所定義的信號除了 PHYSTATUS和RXSTATUS信號以外,對以下信號(TXDETECTRX,POWERDOWN,TXELECIDLE, RXELECIDLE, RXPOLARITY, TXCOMPLIANCE, RXVLAID)不做任何處理,降頻 PIPE接口與標(biāo)準(zhǔn)PIPE接口上對應(yīng)的信號直接相連;PHYSTATUS和RXSTATUS信號需要將物理層輸出的phystatus和rxstatus信號進行擴展,以保證在慢速時鐘域能夠采到該信號,擴展后信號寬度比值取整后應(yīng)該滿足如下關(guān)系(將phystatus和rxstatus延遲四拍或在一起即可滿足該條件):[T/TJ > [fs/fj,T1表示降頻接口上PHYSTATUS和RXSTATUS的周期,Ts表示物理層接口輸出的phystatus和rxstatus的周期。(3)發(fā)送模塊發(fā)送模塊將PCI Express軟核生成的數(shù)據(jù)從慢速時鐘域發(fā)送到快速時鐘域,發(fā)送模塊又分為以下三個子模塊:a)FIFO寫入模塊:用于在TXELECIDLE信號無效時將輸入數(shù)據(jù)寫入發(fā)送FIFO模塊,同時將輸入數(shù)據(jù)與PCI Express報文類型的識別標(biāo)志進行比較(有序集標(biāo)識為COM符號,數(shù)據(jù)鏈路層報文的標(biāo)識為SDP/ENDB/ENDG符號,事務(wù)層報文的標(biāo)識為STP/ENDB/ENDG符號,邏輯空報文為全零),得到當(dāng)前數(shù)據(jù)的報文類型PKT_TYPE,根據(jù)PKT_TYPE可以判斷報文的開始與結(jié)束,每次遇到報文尾標(biāo)志時報文總數(shù)計數(shù)器PKT_NUM加1,將PKT_NUM轉(zhuǎn)換為gray碼(格雷碼)后發(fā)送到快速時鐘域供發(fā)送控制器模塊使用。b)發(fā)送FIFO模塊:發(fā)送FIFO模塊即為前述方法的發(fā)送緩沖區(qū),用于保存待發(fā)送的數(shù)據(jù),發(fā)送FIFO模塊有一個空標(biāo)志prog_empty,這個空標(biāo)志prog_empty在發(fā)送FIFO模塊中剩余的數(shù)據(jù)數(shù)量小于16(2個有序集的最大長度)時被置I。發(fā)送控制器模塊從發(fā)送FIFO模塊中讀出的數(shù)據(jù)也首先與PCI Express報文類型的識別標(biāo)志進行比較,得到當(dāng)前數(shù)據(jù)的報文類型pkt_type,根據(jù)pkt_type判斷報文的開始與結(jié)束,每次遇到報文尾標(biāo)志時報文總數(shù)計數(shù)器pkt_num加I。c)發(fā)送控制器模塊:用于從FIFO中讀出數(shù)據(jù)并發(fā)送給物理層。發(fā)送控制器模塊的工作過程分為以下幾個步驟:第一步:將讀有效信號置O (即rd_en = 0),報文跳過總數(shù)計數(shù)器置O (skp_num =0);第二步:當(dāng)TXELECIDLE信號無效且發(fā)送FIFO模塊空標(biāo)志prog_empty等于O時,發(fā)送控制器模塊使能發(fā)送FIFO模塊的讀有效信號(rd_en等于I)開始讀出數(shù)據(jù)并發(fā)送出去,直到prog_empty等于I并且當(dāng)前輸出的數(shù)據(jù)為一個有序集的頭(報文類型pkt_type等于有序集標(biāo)識COM),將讀有效信號置O (rd_en等于0)轉(zhuǎn)第三步;或者遇到LIDL報文則轉(zhuǎn)到第四步。第三步:連續(xù)發(fā)送SKP有序集報文,直到prog_empty等于O,轉(zhuǎn)到第二步;第四步:如果pkt_num小于PKT_NUM(發(fā)送FIFO模塊是異步FIF0,報文計數(shù)要在異步FIFO的寫入和讀出端同時進行,寫入端報文計數(shù)用PKT_NUM表示,讀出端報文計數(shù)用pkt_num表示,通過比較這兩個計數(shù)器的大小,可以知道異步FIFO中是否還有報文,因此這兩個計數(shù)器用相同的名字,通過大小寫區(qū)別)則rd_en等于1,從發(fā)送FIFO中連續(xù)讀出數(shù)據(jù)并發(fā)送給物理層,當(dāng)pkt_hum等于PKT_NUM時rd_en等于O轉(zhuǎn)到第五步;第五步:連續(xù)發(fā)送LIDL報文,每發(fā)送一個LIDL報文skp_num加I,當(dāng)skp_num大于1000時插入一個SKP有序集報文并將skp_num清O,直到pkt_num小于PKT_NUM時轉(zhuǎn)第四步;上述步驟中一旦TXELECIDLE信號有效則回到第一步。(4)接收模塊接收模塊分為以下三個子模塊:a)接收控制器模塊:接收控制器模塊(RECV_C0NTR0LLER)將接收到的數(shù)據(jù)進行過濾后寫入接收FIFO模塊。接收控制器模塊的工作過程分為以下幾個步驟:第一步:將接收數(shù)據(jù)與報文類型的識別標(biāo)志進行比較(有序集標(biāo)識為COM符號,DLLP標(biāo)識為SDP/ENDB/ENDG符號,TLP標(biāo)識為STP/ENDB/ENDG符號,邏輯空報文為全零),從而得到當(dāng)前數(shù)據(jù)的報文類型rxpkt_type,根據(jù)rxpkt_type可以判斷當(dāng)前接收到的數(shù)據(jù)是報文開始、結(jié)束、還是處于報文中間;第二步:如果當(dāng)前收到的數(shù)據(jù)是有序集報文頭(即rXpkt_type = COM),開始連續(xù)向接收FIFO模塊中寫入M個有序集報文(寫使能信號wt_en等于I),然后丟棄N個有序集報文(寫使能信號wt_en等于O),如果收到的數(shù)據(jù)是邏輯空報文則轉(zhuǎn)到第三步;第三步:向接收FIFO中連續(xù)寫入M個邏輯空報文(寫使能信號wt_en等于I),然后丟棄N個邏輯空報文(寫使能信號wt_en等于O),直到當(dāng)前數(shù)據(jù)是數(shù)據(jù)鏈路層報文頭轉(zhuǎn)到第四步;第四步:如果收到的是有序集報文轉(zhuǎn)到第二步,如果是數(shù)據(jù)鏈路層報文或事務(wù)層報文則寫入接收FIFO模塊,如果是邏輯空報文并且當(dāng)前數(shù)據(jù)不是DLLP或事務(wù)層報文則丟棄;上述步驟執(zhí)行過程中一旦物理層輸出的rxelecidle有效則直接回到第一步。b)接收FIFO模塊:接收FIFO模塊即為前述方法的接收緩沖區(qū),接收FIFO模塊是標(biāo)準(zhǔn)的異步FIF0,接收FIFO模塊對應(yīng)設(shè)有一個用于記錄存儲空狀態(tài)的空標(biāo)志empty,當(dāng)接收FIFO模塊中的全部數(shù)據(jù)被讀出后將空標(biāo)志empty置I。c) FIFO讀出模塊:當(dāng)空標(biāo)志empty等于O時接收FIFO的讀使能信號有效,從接收FIFO模塊中讀出的數(shù)據(jù)直接輸出,當(dāng)空標(biāo)志empty等于I時則輸出邏輯空報文LIDL。 以上所述僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明的保護范圍并不僅局限于上述實施例,凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護范圍。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理前提下的若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
權(quán)利要求
1.一種基于異步物理層接口的PCIe接口芯片硬件驗證方法,其特征在于實施步驟如下: 1)構(gòu)建具有標(biāo)準(zhǔn)PCIExpress接口的FPGA硬件平臺,將所述FPGA硬件平臺通過標(biāo)準(zhǔn)PCI Express接口與帶有PCI Express根節(jié)點設(shè)備的主機相連; 2)在待驗證的PCIExpress接口芯片ASIC代碼中的PCI Express軟核與物理層之間插入用于匹配頻率差的異步物理層接口,所述異步物理層接口包含發(fā)送緩沖區(qū)、接收緩沖區(qū)、降頻PIPE接口和標(biāo)準(zhǔn)PIPE接口,所述異步物理層接口通過降頻PIPE接口與FPGA硬件平臺相連、通過標(biāo)準(zhǔn)PIPE接口與物理層相連; 3)將所述待驗證的PCIExpress接口芯片ASIC代碼遷移到所述FPGA硬件平臺綜合實現(xiàn),并根據(jù)PCI Express接口芯片被綜合的最高頻率設(shè)置降頻PIPE接口的工作頻率; 4)使用測試程序通過所述FPGA硬件平臺對PCIExpress接口芯片的PCI Express軟核和用戶邏輯進行功能測試;當(dāng)PCI Express軟核通過異步物理層接口向物理層發(fā)送PCI Express報文時,PCI Express軟核通過降頻PIPE接口將PCI Express報文寫入異步物理層接口的發(fā)送緩沖區(qū),異步物理層接口將發(fā)送緩沖區(qū)緩存PCI Express報文通過標(biāo)準(zhǔn)PIPE接口發(fā)送給物理層,同時當(dāng)異步物理層接口的發(fā)送緩沖區(qū)為空時,異步物理層接口檢測鏈路的握手狀態(tài),如果握手未成功則在標(biāo)準(zhǔn)PIPE接口上插入SKP有序集報文來補償PCIExpress軟核與物理層之間的頻率差,如果握手已經(jīng)成功則在標(biāo)準(zhǔn)PIPE接口上插入LIDLE邏輯空報文來補償PCI Express軟核與物理層之間的頻率差;當(dāng)物理層通過異步物理層接口向PCI Express軟核發(fā)送PCI Express報文時,異步物理層接口檢測鏈路的握手狀態(tài),如果握手未成功則將接收到的PCI Express報文按照降頻PIPE接口的工作頻率和標(biāo)準(zhǔn)PIPE接口的工作頻率之間的比值進行丟棄,并將未丟棄的PCI Express報文寫入異步物理層接口的接收緩沖區(qū),如果握手已經(jīng)成功則判斷接收到的PCI Express報文的類型,當(dāng)PCIExpress報文是鏈路層報文或者事務(wù)層報文時寫入異步物理層接口的接收緩沖區(qū),當(dāng)PCIExpress報文是邏輯空報 文時全部丟棄,異步物理層接口將接收緩沖區(qū)緩存PCI Express報文通過降頻PIPE接口發(fā)送給物理層。
2.根據(jù)權(quán)利要求1所述的基于異步物理層接口的PCIe接口芯片硬件驗證方法,其特征在于,所述步驟3)中根據(jù)PCI Express接口芯片被綜合的最高頻率設(shè)置降頻PIPE接口的工作頻率時,降頻PIPE接口的工作頻率取值規(guī)則如式(I)所示;fx/fs = 1,4/5,3/4,7/10,2/3,3/5,1/2,2/5 (I) 式(I)中,為降頻PIPE接口的工作頻率,fs為標(biāo)準(zhǔn)PIPE接口的工作頻率。
3.根據(jù)權(quán)利要求1所述的基于異步物理層接口的PCIe接口芯片硬件驗證方法,其特征在于,所述異步物理層接口的接收緩沖區(qū)容量滿足式(2)的函數(shù)關(guān)系;Cfifo > Ctlp* (HfffdllpVfs) (2) 式(2)中,Cfif。為接收緩沖區(qū)的容量,Ctlp為PCI Express軟核的事務(wù)層報文接收緩沖區(qū)容量,fdllpS數(shù)據(jù)鏈路層報文的最大更新頻率,為降頻PIPE接口的工作頻率,fs為標(biāo)準(zhǔn)PIPE接口的工作頻率。
4.根據(jù)權(quán)利要求1或2或3所述的基于異步物理層接口的PCIe接口芯片硬件驗證方法,其特征在于:所述步驟4)中將接收到的PCI Express報文按照降頻PIPE接口的工作頻率和標(biāo)準(zhǔn)PIPE接口的工作頻率之間的比值進行丟棄時,丟棄比例滿足式(3)的函數(shù)關(guān)系;M/(M+N) = Vfs (3) 式(3)中,M為連續(xù)接收的報文個數(shù),N為連續(xù)丟棄的報文個數(shù),為降頻PIPE接口的工作頻率,fs為標(biāo)準(zhǔn)PIPE接口的工作頻率; 同時所述丟棄比例還滿足式(4)和(5)的函數(shù)關(guān)系: = M/ (M+N) > 8/ (delaytx+delaylink+delayrx+16) (4)fl/fs > 1/3 (5) 式(4)中,delaytx是發(fā)送方的延遲、delaylink是物理鏈路的延遲、deIayn是接收方的延遲,delaytx、delaylink、delayM都是以在標(biāo)準(zhǔn)PIPE接口上發(fā)送一個有序集報文的時間作為單位時間。
全文摘要
本發(fā)明公開了一種基于異步物理層接口的PCIe接口芯片硬件驗證方法,其實施步驟如下1)構(gòu)建具有標(biāo)準(zhǔn)PCI Express接口的FPGA硬件平臺;2)在待驗證的PCI Express接口芯片ASIC代碼中的PCI Express軟核與物理層之間插入用于匹配頻率差的異步物理層接口;3)將待驗證的PCI Express接口芯片ASIC代碼遷移到FPGA硬件平臺綜合實現(xiàn),并根據(jù)PCIExpress接口芯片被綜合的最高頻率設(shè)置降頻PIPE接口的工作頻率;4)使用測試程序通過FPGA硬件平臺對PCI Express接口芯片的PCI Express軟核和用戶邏輯進行功能測試。本發(fā)明能夠?qū)崿F(xiàn)PCI Express接口芯片的降頻硬件驗證,具有兼容現(xiàn)有測試代碼、實現(xiàn)簡單方便、通用性好、資源占用率低的優(yōu)點。
文檔編號G06F11/267GK103164314SQ20131005712
公開日2013年6月19日 申請日期2013年2月22日 優(yōu)先權(quán)日2013年2月22日
發(fā)明者肖立權(quán), 張磊, 王克非, 劉路, 沈勝宇, 王學(xué)慧, 張鶴穎, 肖燦文, 王永慶, 伍楠, 戴藝, 曹繼軍, 高蕾 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1