引言
如其前一代產品外設互聯標準(Peripheral Component Interconnect,PCI)那樣,PCI Express" title="PCI Express">PCI Express正在成為普遍使用的系統接口。與PCI不同的是,PCI Express采用了串行器/解串器(SERDES)接口為用戶提供了未來應用所需的可拓展性。隨著系統帶寬的提高,更多的應用開始使用基于SERDES的接口,如PCI Express。過去,通常使用ASIC或ASSP來實現下一代接口解決方案。ASIC和ASSP因其提供了低成本、低功耗的設計解決方案而被廣泛采用。然而,現在一些新的FPGA" title="FPGA">FPGA系列為設計師們提供了更具吸引力的選擇。
FPGA提供了極具靈活性的平臺并且不需要ASIC或靈活性較差的ASSP所需的很長的研制時間和大量的非重復性工程費用(NRE)。新一代帶有嵌入式SERDES的FPGA,如LatticeECP2M和LatticeECP3器件,為設計師們提供了極其豐富、高價值的可編程架構,同時還為串行接口提供了一種低成本、低功耗的解決方案。這些FPGA還可用于支持各種串行協議,如:PCI Express、千兆以太網、SGMII、XAUI、串行RapidIO等,使用單個FPGA平臺實現多種設計。
PCI Express也開始代替過去的并行接口,如PCI,成為控制板應用的接口選擇。新一代器件使用一個或多個PCI Express接口。在大多數器件中,PCI Express核作為一個PCI Express端點來實現。設計師們通常需要將這些器件與前幾代使用并行總線的器件連接(例如,帶有并行總線接口的微控制器)。使用一個低成本、低功耗的FPGA來橋接" title="橋接">橋接PCI Express和并行接口,使得設計師們能夠有足夠的靈活性,在無需使用超出其系統成本和功耗預算的前提下解決這個問題。
PCI Express設計的挑戰
當設計師們將設計從PCI遷移到PCI Express時,協議錯綜復雜的細節和基于SERDES的設計的復雜性給設計師們帶來了巨大的挑戰。幸運的是,FPGA和全功能PCI Express IP核、參考設計、硬件*估板和相關的演示有助于設計順利進行,否則PCI Express設計師們將面臨困難曲折的研究學習過程。事實上,FPGA是一種基于PCI Express應用的理想平臺。由于FPGA的可編程特性,使得設計師們擁有更大的靈活性,在之后的設計周期中使用很短的周轉時間來解決設計問題。設計師們還需要為每個設計需求演變過程中的特性更改或添加作好準備。此外,FPGA設計使設計師們能根據新的參數規格更改和更新設計,從而使產品不會因過時而被淘汰。可編程平臺還能讓設計師們使用同一款FPGA來實現接口解決方案,連接到大量其他PCI Express芯片集:端點器件、Root Complex或開關。設計師還可以將系統所需的其他功能集成到FPGA中,減少板上的元器件數量并進一步降低系統的總成本。
PCI Express解決方案
FPGA為系統設計提供了極其靈活的可編程平臺。全套解決方案包括了IP核、硬件平臺、演示設計、驅動器和軟件,使得設計師們能縮短其開發周期,同時降低設計的復雜性。PCI Express解決方案所需要解決的一個常見的設計要求就是PCI Express串行接口(端點器件)與合法的并行總線接口之間的橋接,如圖1所示。帶有PCI Express Root Complex IP核的FPGA為設計師們提供了實現這樣一個解決方案所需的基本構建模塊。或者也可以使用ASSP和ASIC實現該功能。然而,與FPGA不同的是,這些器件僅能實現一種固定的配置,且不能更改來實現其他可用的并行總線接口。相反,可編程FPGA平臺可使設計師們在設計中進行更改以實現特定的橋接功能,以符合其特定板上可用接口的要求。設計師們還能靈活地在單個FPGA中實現多種橋接或不同橋接配置,從而減少板上總的元件數量。帶有PCI Express Root Complex IP核的FPGA可以實現設計所需的多種其他橋接解決方案。
圖1:PCI Express橋接解決方案。
PCI Express Root Complex
PCI Express端點用作一個信號發出(upstream)器件,并且不能與信號接收(downstream)器件通信。該功能可由Root Complex器件實現,但是一個使用FPGA的全功能Root Complex實現是非常昂貴的。相反,一個帶有傳輸層功能子集的“輕量版”Root Complex核足以實現大部分橋接功能。如圖1所示,該橋由兩個基本構建模塊組成。第一個模塊是PCI Express Root Complex(或Root Complex-lite)IP核,與PCI Express端點器件接口。第二個模塊是橋接邏輯,用以接口到本地總線/并行接口。因為使用可編程FPGA來實現,設計師能有很大的靈活性定制基于特定接口需求的設計。其他功能也可以集成到同一個FPGA中,以減少板上其他元件的數量并降低元器件材料的總成本。
PCI Express Root Complex IP支持
PCI Express是一個復雜的協議。全功能、充分驗證的PCI Express IP核能為設計師大大降低設計的復雜性。例如,萊迪思PCI Express Root Complex Lite(RC-lite)核實現了一個x1或x4 Root Complex功能,主要用于PCI Express橋接應用。如圖2所示,所有的PCI Express層都使用嵌入式ASIC模塊和PCI Express RC-lite軟IP核在FPGA中實現。各個模塊包括電氣SERDES接口、物理層、數據鏈路層以及支持實現PCI Express Root Complex功能所需的協議棧的最簡化的傳輸層。這個“輕量的”IP專為用于簡單橋接PCI Express端點接口和并行本地總線接口應用而優化。
圖2:PCI Express RC-lite IP協議棧。
LatticeECP2M或LatticeECP3 FPGA中實現的PCI Express RC-lite IP實現了低成本、低功耗的PCI Express橋接應用,同時為設計師們提供了定制橋接接口的靈活性。此外,PCI Express硬件*估板和各種參考設計、演示板和軟件驅動幫助設計師們快速開始PCI Express設計并縮短產品上市時間。萊迪思還為設計師們提供了一款硬件*估板,用以測試RC-lite IP解決方案。設計師們還可以在實際系統級部署之前,完成其解決方案的互操作性并驗證其系統級功能,節省通常設計后調試和性能增強所需的時間和成本。
小結
PCI Express使設計師們面臨很大的設計挑戰。接口需求根據器件是否需要連接到其他端點、Root Complex或開關而各不相同。此外,在許多情況下, PCI Express端點需要使用并行總線接口連接到另一器件。設計師們可以使用低成本、低功耗的FPGA平臺來實現這些功能,同時保留靈活的可編程架構的所有優點。例如,在一個FPGA中實現PCI Express Root Complex IP功能,為實現這些橋接功能提供了理想的平臺。