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