用FPGA構建PCI Express端點(diǎn)器件最佳平臺
鏈路效率
鏈路效率是延遲、用戶(hù)應用設計、有效載荷大小和額外開(kāi)銷(xiāo)的函數。隨著(zhù)有效載荷大小(通常稱(chēng)為最大有效載荷)的增加,有效鏈路效率也會(huì )增加。這是由包的額外開(kāi)銷(xiāo)固定不變這一事實(shí)造成的;如果有效載荷大,效率就提高。一般情況下,256字節的有效載荷可提供93%的理論效率(256有效載荷字節+12包頭字節+8幀字節)。盡管PCI Express允許的包大小可達4KB,但如果有效載荷大小大于256或512字節,大多數系統的性能都無(wú)法提高。由于鏈路協(xié)議額外開(kāi)銷(xiāo)(ACK/NAK、包重新發(fā)送)和流程控制協(xié)議,在Virtex-5 LXT FPGA中實(shí)現x4或x8PCI Express的鏈路效率為88-89%。
利用FPGA實(shí)現可以更好地控制鏈路效率,因為它允許您選擇與端點(diǎn)實(shí)現對應的接收緩沖器尺寸。如果鏈接雙方不是采用相同的方式實(shí)現數據通路,則二者的內部延遲會(huì )不同。例如,如果一號鏈接方使用64位、250MHz實(shí)現,延遲為80ns,而二號鏈接方使用128位、125MHz實(shí)現,延遲為160ns,該鏈路的組合延遲即為240ns?,F在,如果一號鏈接方的接收緩沖器設計成160ns的延遲(即期待其鏈接對方也是64位、250MHz實(shí)現),那么鏈路效率就會(huì )降低。如果采用ASIC實(shí)現,就不可能改變接收緩沖器的尺寸,效率損失將是實(shí)實(shí)在在的,而且是永久性的。
用戶(hù)應用程序設計也會(huì )對鏈路效率有所影響。用戶(hù)應用程序必須設計成定期排空PCI Express接口的接收緩沖器,并保持發(fā)送緩沖器時(shí)刻充滿(mǎn)。如果用戶(hù)應用程序不立即使用接收的包(或者不立即響應發(fā)送請求),無(wú)論接口的性能如何,總鏈路效率都會(huì )受到影響。
使用某些處理器設計時(shí),如果處理器不能執行大于1 DWORD的突發(fā),則需要實(shí)現一個(gè)DMA控制器。這將造成鏈路利用不充分,效率不佳。大多數嵌入式CPU可以發(fā)送長(cháng)于1 DWORD的突發(fā),所以通過(guò)良好的FIFO設計就可以有效地管理這些設計的鏈路效率。
PCI Express兼容性
兼容性是經(jīng)常被遺漏和低估的重要細節。如果要構建必須與其他應用和設備一起工作的PCI Express應用,則必須確保設計的兼容性。
兼容性不只針對IP,而是針對整個(gè)解決方案,包括IP、用戶(hù)應用、半導體器件和硬件板。如果整個(gè)解決方案已經(jīng)過(guò)PCI-SIG PCI Express兼容性工作組的驗證,就能很好地保證您設計的PCI Express部分會(huì )一直有效工作。
本文結論:
PCI Express已替代PCI成為事實(shí)上的系統互連標準,并且已從PC轉移到其他系統市場(chǎng),包括嵌入式系統設計。FPGA非常適合于構建PCI Express端點(diǎn)器件,因為它允許您創(chuàng )建帶有用戶(hù)所需的附加定制功能的兼容性PCI Express器件。
類(lèi)似Virtex-5 LXT和SXT系列的新65nm FPGA完全符合PCI Express v1.1規范,并為用戶(hù)應用提供廣泛的邏輯和器件資源。使用外部PHY的Spartan-3系列FPGA提供了低成本解決方案。這些因素,加上內在的可編程邏輯優(yōu)勢(靈活性、可再編程性和低風(fēng)險)使FPGA成為PCI Express的最佳平臺。
評論