每家公司在設計一個像IEEE 802.11無線區域網路(WLAN)控制器等複雜的高速智慧財產權(IP)核心時,都會面臨如何證明設計能夠正常運作且是高品質的挑戰。此時測試晶片非常重要,因為只有透過測試晶片才能證明該IP是否通過矽驗證(Silicon-proven)。不過測試晶片只能捕獲到硬體設計在某個時點的狀態,而IP須要具有足夠的彈性才能支援各種配置和應用。WLAN對彈性和可升級性還有更多要求,因為不斷有新興起與市場相關的規範產生,例如Wi-Fi、歐洲電訊標準協會(ETSI)/美國聯邦通訊委員會(FCC),而且有部分新規範要求,或至少須要作硬體更改。
Wipro-NewLogic決定透過研究以現場可編程閘陣列(FPGA)為基礎的平台來解決這個問題。並將最終產品命名為WiLDSYS板,以便對應WLAN IP的名稱--WiLD a/b/g。
針對該設計制定了幾項關鍵性要求。首先,其必須支援WLAN IP的全速運行,亦即對802.11a和802.11g而言,達到54Mbit/s的空中資料速率。其次,針對FPGA和特定應用積體電路(ASIC)使用一個單獨資料庫。第三,希望具有超高可靠性,能夠確保對FPGA目標板的測試結果和故障修正可應用於ASIC目標板。最後,須要在FPGA上建置對主機和對無線電系統的所有外部介面,以便盡可能減少外部元件數,同時利用FPGA的可編程性在將來提供其他備選介面。在此計畫執行期間,發現FPGA平台不僅能滿足所有這些目標的需求,甚至還能幫助WiLDSYS板全面通過Wi-Fi認證。
不妨從頭開始,來概括性了解一下WiLDSYS設計的情況,以及如何選擇FPGA元件。
打好基礎 先了解WiLDSYS
圖1顯示在原始設計中建置的WiLDSYS平台方框圖。左側的WiLD Core包含802.11a/b/g媒體存取控制器(MAC)和數據機硬體。MAC功能分別由WiLD突發處理器、緩存管理單元/DMA引擎以及負責RC4和AES加密的WiLD流處理器來完成。兩個模組都可作為中央高階高效能匯流排(AHB)的主控系統,並且都不是時序的關鍵元件。WiLD數據機包含適用於802.11a/b/g標準的CCK/DSSS和調變技術正交分頻多工(OFDM)訊號處理功能。專用於ASIC的訊號處理,很難映射(Map)到FPGA上。將在下文對這些挑戰和相應解決方案進行更詳細說明。 此外,還準備了運行二層MAC軟體的完整ARM7型處理器平台。同時支援軟體中的接入點和站模式。
在FPGA板上建置外部ARM7晶片,對於希望使用該電路板卻苦於未獲得安謀國際(ARM)許可的客戶非常有幫助。此外,還為超過FPGA內部存儲量的應用添加外部SRAM,並採用快閃記憶體元件進行引導。建置足夠的插頭連接器,不僅可用於連接所有外部介面的FPGA輸入/輸出(I/O)接腳,也可用於調試。儘管目前還沒有使用第二塊FPGA的理由,但便於未來升級,為其增加了空間。圖2為WiLDSYS FPGA板。
攸關成效 慎選FPGA
在本設計方案中,採用賽靈思(Xilinx)Virtex-4 FPGA。之所以選擇該產品系列,原因在於其擁有卓越的高速度以及眾多豐富的專用資源,如數位訊號處理器(DSP)塊、內部記憶體、高彈性I/O Pad以及高效能時脈支援。由於包含該平台的WiLD IP已占用700K個閘(等同於NAND2),因而選用了尺寸小巧的Virtex-4 LX200 FPGA。表1顯示設計方案的採用報告。
Virtex-4 FPGA可支援高達500MHz的時脈速度。需要如此高的速度來支援為Wipro-Newlogic WLAN無線射頻晶片(運行速度為240MHz)所建置的高速串列介面。
由於目標之一是讓ASIC和FPGA採用單一資料庫,因此必須在不對其進行最佳化的情況下,直接將ASIC代碼映射(Map)到FPGA上,以充分利用FPGA資源。
一般來說,ASIC代碼採用較長的組合路徑,因此需要在FPGA的最高速度和設計的最高時脈頻率之間留出餘量。賽靈思(Xilinx)已顯著改進了Virtex-4 FPGA的訊號處理模組,尤其是乘法器。稱為DSP48的專用模組經過精心最佳化,可用於乘法和加法。可充分利用DSP48資源在FPGA上,以80MHz的速度運行802.11a/g數據機。
另外,對提供的全區時脈線路也非常滿意。Virtex-4 LX200 FPGA具備三十二個全區時脈緩衝器,其中八個不受特定FPGA區域的限制。由於能將連接至這八個時脈緩衝器之一的觸發器置於FPGA中的任意位置,這樣的設計就可擁有更多的映射(Map)、建置及路由選擇。
效能優先 採單一資料庫
在FPGA上執行的驗證只有當結果被反映到ASIC設計方案中才有意義。映射至FPGA的代碼必須隨著對ASIC代碼的修改或添加到ASIC代碼中的新特性而發生變化。另一方面,在FPGA驗證過程中進行的任何修改,都必須報告返回到ASIC設計中,並在ASIC驗證環境中進行全面模擬。從一開始就清楚,要有效率處理這一切,就須要對FPGA和ASIC使用單一的資料庫。在建置過程中,很快地就遇到幾項難題。
在某些情況下,唯一的解決方案是修改ASIC代碼。在OFDM數據機上的邏輯路徑並未能滿足Virtex-4元件上的80MHz時序。於是透過插入更多觸發器來拆分組合路徑。這會增加數據機的總體延遲,不過這也沒什麼,因為仍有足夠的餘裕效能。在FPGA上滿足時序後,將調整情況報告回ASIC資料庫,並在ASIC目標晶片上進行全面的回歸測試。在完成ASIC綜合後,對於ASIC建置修改後的設計而言,甚至還存在區域優勢,因為寬鬆的時序使ASIC綜合工具能夠使用較少數量的緩衝器及更小的組合單元。
時脈控制器是技術門檻
時脈控制器是ASIC最重要的模組之一,也是最難映射到FPGA上的部分。最終,必須為FPGA建置創建專用的模組。為ASIC和FPGA設置了綜合腳本,以便為每個目標選擇正確的模組。採用Virtex-4數位時脈管理器(DCM)資源取代了WLAN ASIC設計通常使用的鎖相環。與在ASIC中完全一樣,DCM從40MHz或50MHz振盪器輸入創建了所需的240MHz頻率。
為將WiLD IP用於低功耗應用,因此除了獨立的電源域,在設計中還添加時脈門支援。由於無法在FPGA中全面建置這兩種特性,但希望至少能夠納入時脈與電源域的控制與開關功能。由於Virtex-4 LX200只有八個不受區域限制的全區性時脈緩衝器,沒有足夠多的資源來覆蓋ASIC的所有時脈頻率和時脈門控功能。決定讓FPGA建置系統提供正常功能所需的時脈門控,而不是僅為省電而提供的時脈門控。
為簡化時脈樹,採用了Synplify Pro FPGA綜合工具提供的時脈門控轉換功能。該綜合器將門控條件從時脈線路上移除,並將其放置在觸發器啟用輸入之上或資料登錄之上。將BUFG和BUFGCE緩衝器用於時脈門控,以便邏輯的輸出路由仍然採用Virtex-4 FPGA的高速度、低歪斜全區時脈線路。BUFGUMX資源可在時脈的工作模式與低功耗模式之間提供無干擾複用。
在WiLD的設計中,建置了多個電壓域,可以在不同的時間開啟和關斷。儘管該FPGA僅包含一個電源域,但還是使用Virtex-4對這項複雜且重要的功能進行驗證。可關斷的電源域必須在上電時進行復位。在FPGA上,採用域重定來對關斷狀態進行類比。雖然這種方法不能全面地驗證電源域連接,而且必須與其他ASIC檢查和驗證相關聯,還是能夠發現域連接和重定產生的功能性錯誤,除非採用有時間限制的ASIC仿真,否則可能無法發現這些問題。
WiLD平台符合AHB標準,四個匯流排主系統共用對外設的訪問,如記憶體和高級外設匯流排(APB)子系統等。對時序收斂來說,位址與資料線的連接是非常關鍵的部分。透過映射FPGA內部的中央處理器(CPU)和記憶體而非使用外部設備來克服這個問題。對後者來說,充分利用了Virtex-4元件內置的大容量記憶體模組,顯著縮短了的路由時間。Synplify Pro工具的幫助也不小,因為其能從記憶體的網表檔(EDN)中抽取時序資料,而不是將它們當作黑盒子對待。
針對ASIC的訊號處理難以映射至FPGA上,因為其是針對區域進行最佳化的,在資料速率低於時脈時可在每個時脈週期上重複使用硬體模組。FPGA綜合採用重定時序和邏輯複製的方法克服了這一問題。使用賽靈思PlanAhead布局規畫工具將OFDM數據機的關鍵模組限制在既定的FPGA區域中,以便減少這些模組內部以及它們之間的路由延遲。
可採外部介面作適應性調整
由於Virtex-4能夠透過其適配Pad來支援各種不同的介面驅動特性,因而WiLDSYS FPGA平台可以彈性而方便地根據外部介面的變化進行適應性調整。
沒有使用任何外部元件,就使FPGA上產生的所有介面訊號都具有良好的電氣特性。將介面訊號路由到插頭連接器上,這樣所有須要做的就僅是設計合適的機械介面轉換器。
在原設計中,採用CardBus作為主機介面。將FPGA Pad定義為「PCI 3.3V」,然後將其逐一連接至CardBus連接器上。若客戶要求將主機介面改為MII和SDIO,利用Virtex-4的適配Pad也可直接驅動這些介面,而不必在WiLDSYS板上進行任何改動。只是簡單設計了適用於MII和SDIO的新型機械連接適配器,WiLDSYS板便能直接用於客戶的專案。
同樣也適用於射頻(RF)介面。首先在設計中使WiLDSYS板能夠透過的客製高速串列介面連接到Wipro-NewLogic的射頻側。其採用差分低電壓差動訊號傳輸(LVDS)驅動器,而且最高時脈速度為240MHz。由於Virtex-4內建有LVDS Pad,因而能夠完全在FPGA上建置這個要求非常高的連接。在這些Pad中加了觸發器,以配合該資料路徑上嚴格的240MHz時序限制。若希望將IP傳輸到模擬I/Q RF連接上,所須要做的不過是將數位I和Q訊號映射到標準Pad以及另一個插頭連接器上,然後在該插頭連接器上插入帶類比數位轉換器(ADC)和數位類比轉換器(DAC)的子板。
開始FPGA/ASIC協同驗證
若採用適用於ASIC和FPGA的單一資料庫,便可開始FPGA-ASIC協同驗證。僅有一個硬體資料庫意味著對兩個目標板也只須保留一個WLAN MAC軟體版本。可將FPGA板設置為站模式或接入點模式,並使其與採用商用設備設置的其他WLAN節點進行互動。透過運行完整的ASIC系統測試計畫來啟動基於FPGA的驗證,該計畫涵蓋所有的功能特性,其中包括來自Wi-Fi聯盟的諸多測試範本,如頻寬共用測試、加密測試及服務品質測試等。
每當在FPGA平台上檢測到問題的時候,都會首先採用FPGA專用的方法展開研究。WiLDSYS板的邏輯分析器連接頭可提供比ASIC更豐富的除錯介面,後者常常受到接腳數量的限制。利用GPIO訊號將診斷訊號映射到這些連接器上,並借助賽靈思FPGA編輯器(Xilinx FPGA Editor)對內部FPGA訊號進行探查。該工具可打開FPGA設計的布線圖形視圖;設計人員可挑選任意一條內部線路,並將其連接到未使用的Pad上。FPGA編輯器能直接修改FPGA點陣圖,從而避免耗時巨大的重新映射及設計布線。
透過探測相關訊號,能夠找到問題的根源所在,然後在ASIC RTL仿真測試台上以足夠高的準確度對其進行複製,隨後糾正。最後須要做的只是運行新的FPGA綜合,並建立新的點陣圖檔。
對FPGA板的最終修復驗證方法是反覆運行針對此問題的測試案例,並執行一定數量的回歸測試。
然後使WLAN IP以全空中資料速率運作,並透過真正的無線電連接至另一個WLAN節點上,以便添加壓力測試的案例,其中包括通宵(Over Night)測試。採用Wi-Fi聯盟測試平台提供的設備來執行所有互操作性測試,不僅顯著提升測試覆蓋面,而且WLAN軟、硬體都表現出非常高的穩健性。在所有測試過程中特別值得一提的是,將FPGA板送交Wi-Fi官方實驗室進行認證,結果不僅通過11a/b/g的基準測試計畫,而且還通過服務品質(WMM)、802.11d以及802.11h的任選項目測試。
當WiLDSYS板開始在客戶專案中投入使用時,最終證明FPGA-ASIC協同驗證為成功開發ASIC奠定非常堅實的基礎。在投片前進行以FPGA為基礎的完整驗證,其中包括廣泛的系統級和Wi-Fi測試,並取得數項樣品成功。
總之,要實現使用FPGA的WLAN IP以全空中資料速率運行的目標,以及依賴FPGA平台完成大多數系統級驗證,就須要解決若干設計難題,而賽靈思Virtex-4 FPGA與賽靈思工具正是讓這一切得以實現的理想解決方案。最後,獲得了這對內部開發計畫,與對客戶專案而言,都具有極重要價值的工具--WiLDSYS板。
在成功經驗的基礎上,採用相同的Virtex-4板搭配不同的子板來開發的藍牙2.1EDR IP。由於對802.11a/b/g仍有需求,現正考慮將IP與賽靈思Spartan-6配合使用,因為這款新產品系列能夠提供比Virtex-4的成本低得多的資源。現在運用以FPGA為基礎的WLAN在商業上已具備可行性,這也為打開全新的市場機會。
(本文作者Agnes Fa為Wipro-NewLogic資深產品行銷經理、Wolfgang Meryk為資深設計工程師)