《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 業(yè)界動(dòng)態(tài) > 關(guān)于PCIe協(xié)議中FPGA的實(shí)現(xiàn)

關(guān)于PCIe協(xié)議中FPGA的實(shí)現(xiàn)

2019-06-19
關(guān)鍵詞: PCIe FPGA

  PCIe鏈路協(xié)議使用“端到端的數(shù)據(jù)傳送方式”,,發(fā)送端和接收端中都含有TX(發(fā)送邏輯)和RX(接收邏輯),。PCIe協(xié)議采用分層結(jié)構(gòu),分為事務(wù)層,、數(shù)據(jù)鏈路層和物理層 ,。PCIe中2個(gè)互連的設(shè)備采用事務(wù)的方式通信,事務(wù)是指為實(shí)現(xiàn)設(shè)備間某種信息傳送,。

  而定制的由一個(gè)或者若干個(gè)包組成的發(fā)送序列,,事務(wù)通過事務(wù)包(TLP) 具體實(shí)現(xiàn)。協(xié)議每層的功能如下:

  1,、物理層(PhysicalLayer):電氣特性,,使用兩個(gè)單向的低電壓差分對(duì)信號(hào)實(shí)現(xiàn)數(shù)據(jù)傳輸,同時(shí)也承擔(dān)8b/10b的數(shù)據(jù)編解碼,,即在PCIe鏈路上的10 bit中含有8 bit的有效數(shù)據(jù)

  2,、數(shù)據(jù)鏈路層(DataLink Layer):對(duì)該層傳輸?shù)腡LP進(jìn)行組裝和分拆,作為中間層為上下兩層服務(wù),。

  3,、事務(wù)層(TransactionLayer):接受從軟件方送來的請(qǐng)求,并生成請(qǐng)求包傳輸?shù)綌?shù)據(jù)鏈路層,。同時(shí)接受從數(shù)據(jù)鏈路層傳來的數(shù)據(jù)包,,

  傳遞給軟件,,也就是對(duì)TLP進(jìn)行分裝和組裝。

  PCIE協(xié)議通信框圖如下:

  

o4YBAF0KA72AYln4AAEG18OxOLQ916.png

  用戶邏輯與PCI Express事務(wù)層接口直接連接,,可發(fā)送或接收事務(wù)層數(shù)據(jù)包用以實(shí)現(xiàn)BAR(基址地址寄存器)空間訪問功能和DMA讀寫功能,。計(jì)算機(jī)對(duì)板卡BAR空間的memory讀寫即為 CPU( 計(jì)算機(jī)) 發(fā)出存儲(chǔ)器映射地址寫寄存器的命令,該命令包括了存儲(chǔ)器映射地址字節(jié)使能和寄存器內(nèi)容,,PCIe相應(yīng)的TLP 端點(diǎn) 接收該TLP并將寄存器內(nèi)容寫到對(duì)應(yīng)的本地寄存器后,,事務(wù)結(jié)束。

  當(dāng)CPU發(fā)出存儲(chǔ)器映射地址讀寄存器的命令,,該命令包括了存儲(chǔ)器映射地址字節(jié)使能,,生成相應(yīng)的TLP, 端點(diǎn)收到該TLP后會(huì)生成響應(yīng)TLP( 包含數(shù)據(jù)) 完成包傳送,,提取其有效載荷并賦值給指定寄存器后,,事務(wù)結(jié)束。 用戶邏輯設(shè)計(jì)結(jié)構(gòu)如圖2所示:

  

2.png

  上圖中PCIe集成端點(diǎn)模塊核可以在FPGA中直接使用PCIe的IP核實(shí)現(xiàn),,我們需要在FPGA中自已實(shí)現(xiàn)的主要是上圖中與PCIe IP核相連接的部分幾個(gè)模塊,。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。