新一代CPLD及其應(yīng)用
近年來,隨著集成芯片制造技術(shù)的發(fā)展,可編程邏輯器件(PLD)在速度和集成度兩方面得到了飛速提高。由于它具有功耗低、體積小、集成度高、速度快、開發(fā)周期短、費(fèi)用低、用戶可定義功能及可重復(fù)編程和擦寫等許多優(yōu)點(diǎn),應(yīng)用領(lǐng)域不斷擴(kuò)大,越來越多的電子系統(tǒng)開始采用可編程邏輯器件來實(shí)現(xiàn)數(shù)字信號(hào)處理,從而使通用DSP芯片難于完成的一些時(shí)序組合邏輯和某些簡(jiǎn)單的大運(yùn)算量的數(shù)學(xué)計(jì)算得以實(shí)現(xiàn)。繼QuickLogic和XILINX分別開發(fā)了內(nèi)含嵌入式FIR core的CPLD之后,ALTERA公司又推出了新一代可編程邏輯器件Stratix系列,其性能完全滿足高速數(shù)字信號(hào)算是系統(tǒng)的設(shè)計(jì)要求。
1 Stratix系列器件的主要特性
同其它含有嵌入式FIR core的CPLD相比較,Stratix系列CPLD采用了1.5V內(nèi)核,0.13μm全銅工藝,由QuartusII 2.0以上版本軟件支持,可以重復(fù)編程,通過JTAG接口或者EPROM加載程序,內(nèi)部有DSP模塊、PLL、大帶寬高速I/O接口和大容量存儲(chǔ)模塊。主要內(nèi)部資源參見表1。
表1 Stratix器件內(nèi)部資源表
該系列CPLD主要特點(diǎn)包括:
• 高性能體系:Stratix系列器件的新結(jié)構(gòu)采用了DitrectDriveTM技術(shù)和快速連續(xù)MultiTrackTM互聯(lián)技術(shù)。 MultiTrackTM互聯(lián)技術(shù)可以根據(jù)走線不同長(zhǎng)度進(jìn)行優(yōu)化,改善內(nèi)部模塊之間的互聯(lián)性能。Altera公司特有的DirectDriveTM技術(shù)保證片內(nèi)所有的函數(shù)可以直接連接使用同一布線資源。這兩種技術(shù)與QuartusII 2.0以上版本軟件提供的LogicLock(tm)功能相結(jié)合,便于進(jìn)行模塊化設(shè)計(jì),簡(jiǎn)化了系統(tǒng)集成。Stratix系統(tǒng)器件片內(nèi)的全局和本地時(shí)鐘資源提供了多達(dá)40個(gè)獨(dú)立的系統(tǒng)時(shí)鐘,有利于實(shí)現(xiàn)最豐富的系統(tǒng)性能;全新的布線結(jié)構(gòu),分為三種長(zhǎng)度的行列布線,在保證延時(shí)可預(yù)測(cè)的同時(shí),增加了布線的靈活性。
•大容量存儲(chǔ)資源:Stratix器件中的TriMatrix存儲(chǔ)結(jié)構(gòu)具有高達(dá)10Mbit的RAM和高達(dá)12Tbps的峰值存儲(chǔ)帶;有三種不的嵌入存儲(chǔ)模塊類型,它們都具有混合寬度和混合時(shí)鐘模式嵌入移位寄存器功能,可用于多種不同的場(chǎng)合:
512bit M512模塊(512×1bit到32×18bit):512位模塊加上校驗(yàn),可用于接口速率適配的FIFO。
4Kbit M4K模塊(4096×1bit到128×36bit):4K位模塊加上校驗(yàn),可用于小型數(shù)據(jù)塊存儲(chǔ)和多通道I/O協(xié)議。
512Kbit MegaRAM模塊(64K×9bit到4K×144bit):512K位RAM加上校驗(yàn),可用于存儲(chǔ)大型數(shù)據(jù)塊或者Nios TM嵌入式處理器軟核代碼等。
其中,4Kbit M4K模塊和512Kbit MegaRAM模塊支持完全的雙端口模式。所有存儲(chǔ)資源分布在整個(gè)器件中,設(shè)計(jì)者可根據(jù)設(shè)計(jì)的存儲(chǔ)器類型和容量大小,通過Altera Quartus II軟件的MegaFunction函數(shù),靈活選擇不同參數(shù),配置成特定存儲(chǔ)容量的RAM、DPRAM、FIFO等特殊模塊。
•高帶寬 DSP模塊:Stratix DSP模塊包括硬件乘法器、加法器、減法器、累加器和流水線寄存器。各個(gè)功能單元之間有專用的走線,具有針對(duì)Stratix器件內(nèi)部大量存儲(chǔ)器的專用存儲(chǔ)器結(jié)構(gòu)接口,因此通過優(yōu)化設(shè)計(jì),DSP模塊可提供高達(dá)2.0GMACS的DSP性能,并且具有盡可能小的布線擁塞。
Altera Quartus II軟件的MegaFunction提供了多種DSP模塊操作模式。每一DSP模塊可針對(duì)不同的應(yīng)用,通過選擇合適的DSP模塊操作模式,實(shí)現(xiàn)8個(gè)9×9 位乘法器、4個(gè)18×18位乘法器或一個(gè)36×36位乘法器。當(dāng)配置為36×36位乘法器模式時(shí),DSP模式還可實(shí)現(xiàn)浮點(diǎn)算法。專用的乘法器電路支持帶符號(hào)和不帶符號(hào)乘法操作,并可在不帶來任何精度損失的情況下,動(dòng)態(tài)地在兩種運(yùn)算之間切換。
Stratix器件的DSP模塊提供了高于DSP 處理器的數(shù)據(jù)處理能力,并且更為靈活和經(jīng)濟(jì)。每一Stratix DSP模塊可提供多達(dá)8個(gè)運(yùn)行在250MHz的并行乘法器,數(shù)據(jù)吞吐能力高達(dá)2GMACS。最大的Stratix器件EP1S125包括28個(gè)DSP模塊,可完成高達(dá)224個(gè)并行乘法操作,并提供56GMACS的總線數(shù)據(jù)吞吐能力;而傳統(tǒng)的DSP處理器最多僅可同時(shí)進(jìn)行8個(gè)并行乘法操作,數(shù)據(jù)吞吐量也只有8.8GMACS。除了DSP模塊中的專用乘法器以外,還可利用邏輯單元(LE)實(shí)現(xiàn)乘法器和DSP功能。例如,可在Stratix器件中利用大約 9600個(gè)邏輯單元實(shí)現(xiàn)一個(gè)256階FIR濾波器。Stratix系列的EP1S120包括大約114140個(gè)邏輯單元,可以容納11個(gè)這樣的濾波器。每一濾波器可運(yùn)行在200MHz,這意味著通過利用LE可提供563GMACS的器件總吞吐能力。結(jié)合DSP模塊提供的56GMACS數(shù)據(jù)吞吐能力,Stratix器件可提供高達(dá)620GMACS的數(shù)據(jù)總吞吐能力。因此Stratix器件適用于大數(shù)據(jù)量數(shù)字信號(hào)處理。
•支持多種 I/O標(biāo)準(zhǔn)和高速接口:Stratix器件支持現(xiàn)有和將來的多種高速接口,如SFI-4、SPI-4、HyperTransport和RapidIO;多種高速外部存儲(chǔ)器件接口,如DDR SDRAM/SDR SDRAM、ZBT、QDR、QDRII和DDR SRAM/DDR FCRAM;也支持多種單端和差分I/O標(biāo)準(zhǔn),如LVDS、HyperTransport、LVPECL、PCML、SSTL和STL,能夠在不同接口電平和協(xié)議下高速傳送數(shù)據(jù)。典型的True-LVDSTM專用電路包括SERDES電路、差分I/O緩沖器、數(shù)據(jù)定位電路和精確調(diào)整時(shí)鐘數(shù)據(jù)關(guān)系的鎖相環(huán)(PLL),具有840Mbps性能,提供很高的數(shù)據(jù)吞吐能力,能夠確保數(shù)據(jù)在所需的高比特率下可靠地傳送和接收。
•時(shí)鐘管理功能:每個(gè) Stratix器件有多達(dá)12個(gè)PLL和40個(gè)全局,采用全功能的嵌入式鎖相環(huán)(PLL)管理片內(nèi)和片外時(shí)鐘,可以進(jìn)行頻率合成、倍頻、分頻、調(diào)整相位和延遲。Stratix器件提供了兩種PLL:增強(qiáng)型PLL支持外部時(shí)鐘反饋、時(shí)鐘轉(zhuǎn)換、PLL重置、可編程帶寬等功能;快速型PLL用于優(yōu)化高速差分 I/O端口和全局時(shí)鐘,實(shí)現(xiàn)最豐富的系統(tǒng)性能。
•終端技術(shù):Stratix器件的片內(nèi)終端技術(shù)提供了串行、并行、差分、單端片內(nèi)端接電阻,實(shí)現(xiàn)了驅(qū)動(dòng)阻抗匹配,減小了傳輸終端反射,改善了信號(hào)的完整性,提高了差分和單端I/O傳輸信號(hào)的質(zhì)量和可靠性。同時(shí),由于去除了多個(gè)分立終端電阻,減少了部件數(shù)量,從而減小了印刷電路板的復(fù)雜性,優(yōu)化了印刷電路板的布局和布線。
•NiosTM軟核嵌入處理器:NiosTM軟件嵌入式處理器為Stratix、APEX等高端CPLD設(shè)計(jì),可以實(shí)現(xiàn)SOPC(System-on-a-Progamable-Chip)集成。它提供了16 位專用指令集、ALU、同步地址發(fā)生器、16或32bit數(shù)據(jù)總線、各種外設(shè)(如定時(shí)器、SRAM、FLASH)和接口(如UART、PIO、SPI、 PWM、SDRAM接口和IDE硬盤控制器等),把微處理器的優(yōu)點(diǎn)和PLD異常強(qiáng)大的DSP處理器功能結(jié)合在一起。DSP設(shè)計(jì)者采用Stratix DSP模塊和Nios軟核處理器,可以充分利用高性能DSP模塊和軟核處理器為軟件算法實(shí)現(xiàn)所需的控制邏輯,通過硬件CPLD完成軟件DSP算法。
•器件配置和遠(yuǎn)程系統(tǒng)升級(jí):配置了差錯(cuò)恢復(fù)電路,確保了遠(yuǎn)程可靠、安全地系統(tǒng)升級(jí)和差錯(cuò)修復(fù)。如果恢復(fù)電路在重配置錯(cuò)誤時(shí),差錯(cuò)恢復(fù)電路將安全地回到初始的設(shè)置。
2 Stratix器件的典型應(yīng)用
在高速信號(hào)處理系統(tǒng)中,通用DSP已經(jīng)無法滿足實(shí)時(shí)性、快速性的要求。設(shè)計(jì)者經(jīng)常采用DSP+CPLD的結(jié)構(gòu),將任務(wù)分解成DSP完成的計(jì)算方式及控制結(jié)構(gòu)比較復(fù)雜的信號(hào)處理算法和CPLD完成的時(shí)序組合邏輯及某些簡(jiǎn)單的運(yùn)算,從而使系統(tǒng)處理能力顯著提高。采用Stratix器件設(shè)計(jì)了高速數(shù)字信號(hào)預(yù)處理模塊。
2.1 Stratix器件應(yīng)用設(shè)計(jì)
高速數(shù)字信號(hào)預(yù)處理模塊用于對(duì)原始數(shù)據(jù)進(jìn)行濾波降采樣處理,達(dá)到降低采樣率、減少數(shù)據(jù)量、提高系統(tǒng)實(shí)時(shí)性的目的。具體結(jié)構(gòu)如圖2所示。原始數(shù)據(jù)通過FPDP端口接收并經(jīng)過大容量DPRAM,并通過PCI總線送回主機(jī),進(jìn)行現(xiàn)場(chǎng)數(shù)據(jù)保存;另一方面拋棄輔助數(shù)據(jù),提取真實(shí)數(shù)據(jù)包后,傳送到降抽樣濾波器,其結(jié)果由通用浮點(diǎn)DSP芯片ADSP21160讀取,通過特有的Link Port傳送到主處理板。所有FIFO、DPRAM、DSP模塊均使用EP1S25內(nèi)部資源。這種CPLD+DSP的混合結(jié)構(gòu)設(shè)計(jì)可以同時(shí)具有DSP運(yùn)算能力強(qiáng)和EP1S25速度高、資源豐富、設(shè)計(jì)靈活的特點(diǎn),能適應(yīng)大數(shù)據(jù)流的處理。
2.2 FIR濾波器仿真設(shè)計(jì)和參數(shù)計(jì)算
設(shè)計(jì)的核心部分是基于Stratix EP1S25設(shè)計(jì)的兩個(gè)結(jié)構(gòu)相同的低通濾波器,分別對(duì)I/Q兩路原始數(shù)據(jù)進(jìn)行濾波處理,使得其帶寬降低。為了選取適當(dāng)?shù)臑V波器階數(shù),必須在濾波效果和運(yùn)算量之間進(jìn)行折中。單純從濾波效果的角度講,濾波器階數(shù)越高,越能逼近理想的矩形通帶,提高抽樣后信號(hào)的信噪比。但是階數(shù)越高,運(yùn)算量就越大,因此必須限制濾波器的階數(shù)。綜合考慮EP1S25中DSP模塊數(shù)量與信號(hào)指標(biāo)要求,即可確定濾波器的階數(shù)。完成分析之后,在MATLAB下計(jì)算濾波器的參數(shù),然后將參數(shù)歸一化,重新分析濾波器性能是否滿足要求。歸一化后的參數(shù)可以直接作為FIR濾波器參數(shù)供CPLD設(shè)計(jì)使用。
2.3 基于CPLD的抽樣FIR濾波器的結(jié)構(gòu)設(shè)計(jì)
基于CPLD設(shè)計(jì)的FIR濾波器結(jié)構(gòu)可以采用以下幾種類型:直接型FIR濾波器、倒置型FIR濾波器和降抽樣型FIR濾波器。直接型FIR濾波器是CPLD 實(shí)現(xiàn)FIR濾波器的最常用結(jié)構(gòu),來源于FIR公式的推導(dǎo),是一種常見的模型。考慮到FIR的參數(shù)是對(duì)稱的,可以采用對(duì)稱的直接型結(jié)構(gòu)。倒置型FIR濾波器是直接型FIR濾波器的變形,與直接型不同之處在于:直接型的加乘器是完全對(duì)稱的,在設(shè)計(jì)中,可以統(tǒng)一的加法器、乘法器后插入緩存器,對(duì)計(jì)算結(jié)果進(jìn)行暫存,實(shí)現(xiàn)對(duì)數(shù)據(jù)的流水處理;而倒置型不具備這個(gè)特點(diǎn),它的乘加器運(yùn)算必須在一個(gè)時(shí)鐘周期內(nèi)完成,否則運(yùn)算錯(cuò)誤。降抽樣型FIR濾波器,在結(jié)構(gòu)上類似于直接到FIR的并聯(lián),與前面兩種濾波器的最大不同之處是邊濾波邊抽樣。
前兩種FIR濾波器通常用于串行輸入數(shù)據(jù)的情況下。直接型由于對(duì)稱結(jié)構(gòu),可以采用流水調(diào)度,所以工作頻率很高,但是數(shù)據(jù)延遲比較大,40階的濾波器可以達(dá)到20個(gè)時(shí)鐘周期,控制比較復(fù)雜;倒置型結(jié)構(gòu)的優(yōu)點(diǎn)是沒有數(shù)據(jù)延遲,控制簡(jiǎn)單,但是工作頻率很低,與CPLD的乘加器性能有關(guān);降抽樣型FIR濾波器適用于輸入數(shù)據(jù)是壓縮數(shù)據(jù)的情況,即輸入的數(shù)據(jù)由多個(gè)原始數(shù)據(jù)組成,可以避免數(shù)據(jù)拆包重組和濾波后的抽樣,便于CPLD設(shè)計(jì),最大的特點(diǎn)是可以在較低的時(shí)間頻率下完成濾波抽樣,不會(huì)造成數(shù)據(jù)的積累。從結(jié)構(gòu)上分析,降抽樣型 FIR濾波器和直接型類似,也存在控制復(fù)雜的問題。
2.4 降抽樣型FIR濾波器的仿真結(jié)果
設(shè)計(jì)中通過調(diào)用Altera Quartus II軟件的MegaFunction中的乘加器實(shí)現(xiàn)了一個(gè)32階降抽樣FIR濾波器。通過仿真,該濾波器完成對(duì)輸入的4096點(diǎn)數(shù)據(jù)流的濾波和1/4降抽樣的實(shí)時(shí)處理,只需要1024個(gè)時(shí)鐘周期,輸出延遲10個(gè)時(shí)鐘周期,處理速度大大高于通用DSP,仿真的最高工作頻率fmax達(dá)到了132MHz。在系統(tǒng)實(shí)際測(cè)試中,CPLD的最高工作頻率fmax超80MHz,數(shù)據(jù)吞吐量達(dá)到2560Mbit/s。
采用Stratix系列的EP1S25 設(shè)計(jì)的高速數(shù)字信號(hào)預(yù)處理模塊,在實(shí)驗(yàn)中,EP1S25承擔(dān)了70%的運(yùn)算量,使系統(tǒng)達(dá)到了實(shí)時(shí)數(shù)字信號(hào)處理的要求。實(shí)驗(yàn)同時(shí)證明,采用基于CPLD的 FIR濾波器和高性能DSP+CPLD的混合結(jié)構(gòu),可以同時(shí)具有DSP軟件算法編程方便和CPLD結(jié)構(gòu)靈活配置、適合固定算法的特點(diǎn),對(duì)不同的算法都有較強(qiáng)的適應(yīng)能力。