引言
如其前一代產(chǎn)品外設(shè)互聯(lián)標(biāo)準(zhǔn)(Peripheral Component Interconnect,PCI)那樣,PCI Express正在成為普遍使用的系統(tǒng)接口。與PCI不同的是,PCI Express采用了串行器/解串器(SERDES)接口為用戶提供了未來應(yīng)用所需的可拓展性。隨著系統(tǒng)帶寬的提高,更多的應(yīng)用開始使用基于SERDES的接口,如PCI Express。過去,通常使用ASIC或ASSP來實(shí)現(xiàn)下一代接口解決方案。ASIC和ASSP因其提供了低成本、低功耗的設(shè)計(jì)解決方案而被廣泛采用。然而,現(xiàn)在一些新的FPGA系列為設(shè)計(jì)師們提供了更具吸引力的選擇。
FPGA提供了極具靈活性的平臺并且不需要ASIC或靈活性較差的ASSP所需的很長的研制時(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平臺實(shí)現(xiàn)多種設(shè)計(jì)。
PCI Express也開始代替過去的并行接口,如PCI,成為控制板應(yīng)用的接口選擇。新一代器件使用一個(gè)或多個(gè)PCI Express接口。在大多數(shù)器件中,PCI Express核作為一個(gè)PCI Express端點(diǎn)來實(shí)現(xiàn)。設(shè)計(jì)師們通常需要將這些器件與前幾代使用并行總線的器件連接(例如,帶有并行總線接口的微控制器)。使用一個(gè)低成本、低功耗的FPGA來橋接PCI Express和并行接口,使得設(shè)計(jì)師們能夠有足夠的靈活性,在無需使用超出其系統(tǒng)成本和功耗預(yù)算的前提下解決這個(gè)問題。
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ì)師們帶來了巨大的挑戰(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í)過程。事實(shí)上,F(xiàn)PGA是一種基于PCI Express應(yīng)用的理想平臺。由于FPGA的可編程特性,使得設(shè)計(jì)師們擁有更大的靈活性,在之后的設(shè)計(jì)周期中使用很短的周轉(zhuǎn)時(shí)間來解決設(shè)計(jì)問題。設(shè)計(jì)師們還需要為每個(gè)設(shè)計(jì)需求演變過程中的特性更改或添加作好準(zhǔn)備。此外,F(xiàn)PGA設(shè)計(jì)使設(shè)計(jì)師們能根據(jù)新的參數(shù)規(guī)格更改和更新設(shè)計(jì),從而使產(chǎn)品不會因過時(shí)而被淘汰。可編程平臺還能讓設(shè)計(jì)師們使用同一款FPGA來實(shí)現(xiàn)接口解決方案,連接到大量其他PCI Express芯片集:端點(diǎn)器件、Root Complex或開關(guān)。設(shè)計(jì)師還可以將系統(tǒng)所需的其他功能集成到FPGA中,減少板上的元器件數(shù)量并進(jìn)一步降低系統(tǒng)的總成本。
PCI Express解決方案
FPGA為系統(tǒng)設(shè)計(jì)提供了極其靈活的可編程平臺。全套解決方案包括了IP核、硬件平臺、演示設(shè)計(jì)、驅(qū)動(dòng)器和軟件,使得設(shè)計(jì)師們能縮短其開發(fā)周期,同時(shí)降低設(shè)計(jì)的復(fù)雜性。PCI Express解決方案所需要解決的一個(gè)常見的設(shè)計(jì)要求就是PCI Express串行接口(端點(diǎn)器件)與合法的并行總線接口之間的橋接,如圖1所示。帶有PCI Express Root Complex IP核的FPGA為設(shè)計(jì)師們提供了實(shí)現(xiàn)這樣一個(gè)解決方案所需的基本構(gòu)建模塊。或者也可以使用ASSP和ASIC實(shí)現(xiàn)該功能。然而,與FPGA不同的是,這些器件僅能實(shí)現(xiàn)一種固定的配置,且不能更改來實(shí)現(xiàn)其他可用的并行總線接口。相反,可編程FPGA平臺可使設(shè)計(jì)師們在設(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橋接解決方案。