AFDX-ES SoC驗證平臺的構建與實(shí)現
摘 要: 以SoC軟硬件協(xié)同設計方法學(xué)及驗證方法學(xué)為指導,系統介紹了以ARM9為核心的AFDX-ES SoC設計過(guò)程中,軟硬件協(xié)同設計和驗證平臺的構建過(guò)程及具體實(shí)施。應用實(shí)踐表明該平臺具有良好的實(shí)用價(jià)值。
本文引用地址:http://dyxdggzs.com/article/149700.htm航空系統中的控制系統對數據的安全性、實(shí)時(shí)性、可靠性及可維修性有極高的要求。在這種環(huán)境下,必須使用最具可靠性與實(shí)時(shí)性的通信鏈路。航空全雙工交換以太網(wǎng)AFDX(Avionics Full-Duplex Ethernet)的開(kāi)發(fā)滿(mǎn)足了商業(yè)航空應用的需要。AFDX[1]是一種航空電子子系統間進(jìn)行數據交換的網(wǎng)絡(luò )標準,它是在IEEE802.3以太網(wǎng)技術(shù)的基礎上增加一些特殊機制,提供一個(gè)具有確定性和可靠性的網(wǎng)絡(luò )。冗余鏈路的設置,保證了數據報文傳輸的可靠性。幀管理機制負責在數據報文發(fā)送給應用程序之前檢查幀的完整性和管理冗余。
AFDX-ES(End System)是指AFDX的終端系統,主要功能是提供服務(wù),確保提供給應用方的數據具有安全性和可靠性。每一個(gè)終端系統與交換機之間不僅有一條直接的雙向連接,同時(shí)還與另一臺交換機之間保持第二條雙向連接,確保終端系統具有冗余性。
AFDX-ES SoC是從航電系統總線(xiàn)應用需求出發(fā),規劃出以高性能ARM922T處理器為核心、可實(shí)現AFDX協(xié)議主要功能的高速互聯(lián)網(wǎng)終端系統芯片。
典型的SoC驗證平臺通常采用3種體系結構:黑匣子結構、通用現場(chǎng)可編程門(mén)陣列FPGA板和開(kāi)放式結構。開(kāi)放式結構因其在系統資源使用和擴展上的靈活性,已成為SoC驗證平臺的主流,典型的平臺有加州伯克利大學(xué)的BEE、Hardi公司的HAPS和ApTIx公司的MP4CF。BEE和HAPS采用大規模FPGA陣列,MP4CF則采用現場(chǎng)可編程互聯(lián)元件(FPIC)技術(shù)。在國內一些大學(xué)也開(kāi)發(fā)了規模相對較小的FPGA陣列驗證平臺。
SoC驗證所花費的工作量平均占總設計工作量的80%以上,驗證已逐漸成為大規模集成電路設計的主要瓶頸。隨著(zhù)我國航電系統大規模芯片設計的快速發(fā)展,SoC的規模越來(lái)越大,設計與驗證流程越來(lái)越冗長(cháng),如何縮短驗證時(shí)間、提高驗證效率和質(zhì)量、縮短芯片面市時(shí)間, 已是SoC設計領(lǐng)域中最受關(guān)注的問(wèn)題。為了加速SoC的驗證,縮短開(kāi)發(fā)周期,有效解決AFDX-ES SoC設計邏輯驗證的瓶頸限制,本文提出了用于驗證AFDX-ES SoC芯片邏輯功能的FPGA驗證平臺,采用軟硬件協(xié)同驗證方式,以確保在流片之前對設計進(jìn)行充分、有效的驗證。
1 AFDX-ES芯片架構
AFDX-ES SoC芯片的片上總線(xiàn)采用ARM公司的AMBA(Advanced MicroCONtroller Bus Architecture)總線(xiàn),包括高速總線(xiàn)(AHB)和外設總線(xiàn)(APB)等。AHB總線(xiàn)提供高帶寬、低延遲的連接,APB總線(xiàn)為連接具有不同總線(xiàn)寬度和時(shí)序要求的外設提供一條途徑,避免低性能設備對高性能設備的影響。ARM922T處理器、ES-CCU(終端系統中央控制單元)控制器、PCI總線(xiàn)控制器、SRAM、中斷控制器、SDRAM控制器、Flash接口、DMA和測試接口控制器(TIC)掛接在A(yíng)HB總線(xiàn)上,TIMER、RTC、WDT、串口控制器及通用輸入輸出接口等掛接在A(yíng)PB總線(xiàn)上,AHB/APB橋接器可以提供兩種總線(xiàn)之間的訪(fǎng)問(wèn)控制。
目前基于0.18 ?滋m的復雜芯片一次投片成功率只有35%左右,造成芯片重復投片的主要原因是驗證不夠充分。SoC設計的驗證需要投入的資源已占整個(gè)設計資源的60%~80%,如何在流片之前對設計進(jìn)行充分的驗證,已成為整個(gè)SoC設計流程的關(guān)鍵。
對于功能復雜、具有高集成度的SoC,要在流片前充分驗證,確保流片功能的正確性,構建AFDX-ES SoC設計與驗證平臺是確保一次流片成功的前提。
2 AFDX-ES SoC設計與驗證流程
AFDX-ES SoC設計與驗證采用層次化驗證的方法,軟硬件協(xié)同設計與層次化驗證由以下4個(gè)階段組成:
(1)IP/模塊級仿真驗證;
(2)基于芯片虛擬原型的軟硬件協(xié)同驗證;
(3)基于芯片FPGA原型的軟硬件協(xié)同驗證;
(4)物理設計后的版圖后仿真。
本文重點(diǎn)描述基于芯片FPGA原型的軟硬件協(xié)同驗證。
3 基于芯片FPGA原型的軟硬件協(xié)同仿真驗證
基于虛擬原型的驗證平臺可以大量驗證設計電路的功能,但是存在驗證時(shí)間長(cháng)、速度相對較慢的缺點(diǎn)[5]。因此,一些驗證時(shí)間比較長(cháng)的驗證項,如大量幀收發(fā)的驗證、協(xié)議驗證、操作系統驗證等適合在基于芯片的FPGA原型中驗證??梢猿浞职l(fā)揮此平臺的驗證特點(diǎn),盡可能模擬系統的真實(shí)應用環(huán)境,對于在虛擬原型平臺上不便于驗證和難以驗證的驗證項進(jìn)行快速驗證。此階段的驗證可以認為完全等同于芯片的邏輯功能的全面驗證?;谛酒現PGA原型的軟硬件協(xié)同驗證的充分驗證,一方面可以發(fā)現設計中存在的各種問(wèn)題;另一方面盡可能地將芯片的FPGA原型置身于應用環(huán)境下,*價(jià)芯片能不能用、好不好用。
3.1 芯片FPGA原型的軟硬件協(xié)同驗證平臺的構建
在芯片的FPGA原型構建過(guò)程中采用基于A(yíng)RM922T-
Core Module+驗證母板的模式。ARM922T Core Module板卡實(shí)現ARM922T處理器的功能,并且提供一組標準的接口;驗證母板實(shí)現AFDX-ES中除了處理器之外的其他功能模塊的功能及其他測試手段。
驗證母板上包含了AFDX-ES邏輯單元及外圍的輔助測試資源,驗證母板的結構如圖1所示。
3.2 基于芯片FPGA原型平臺的驗證程序的開(kāi)發(fā)
此階段的程序開(kāi)發(fā)主要有4個(gè)方面。
(1)對于虛擬原型中使用的基本資源、基本功能及部分系統級功能驗證程序,需要移植到FPGA驗證平臺。由于FPGA驗證平臺與虛擬原型的驗證平臺有一定的差異,包括地址空間分配等,需要把原來(lái)在虛擬原型平臺上的程序做相應的移植。本部分軟件支持3.3節完成芯片的基本資源、基本功能和系統級功能的驗證工作。
(2)開(kāi)發(fā)典型的AFDX協(xié)議驗證程序。在虛擬原型驗證平臺上受驗證速度等因素的限制,一些系統級的驗證和協(xié)議驗證必須在FPGA驗證平臺上實(shí)現。本階段開(kāi)發(fā)的軟件完成3.4節AFDX協(xié)議的軟硬件協(xié)同驗證;
(3)嵌入式操作系統的移植與應用驗證程序的開(kāi)發(fā)。本階段開(kāi)發(fā)的軟件完成3.5節基于芯片FPGA原型的嵌入式操作系統協(xié)同驗證。
(4)開(kāi)發(fā)典型應用驗證程序,本階段開(kāi)發(fā)的軟件可完成3.6節的典型應用驗證。
3.3 基于芯片FPGA原型平臺基本功能驗證
基于FPGA原型的驗證要對虛擬原型驗證平臺的所有驗證項進(jìn)行驗證,保證虛擬平臺的所有驗證內容在真實(shí)環(huán)境中也是正確的[6]。首先要進(jìn)行的是資源和功能的驗證。在此階段主要還是使用虛擬原型階段開(kāi)發(fā)的驗證程序對于資源和功能進(jìn)行驗證。但是需要注意的是,由于受ARM922TCore Module的限制,虛擬原型和FPGA原型的地址空間分配等有所不同,需要根據具體情況進(jìn)行相應的修改。
在此階段,對每一個(gè)設計模塊都必須進(jìn)行詳細的測試驗證,尤其是驗證在真實(shí)的硬件環(huán)境中各個(gè)模塊的特性和功能是否滿(mǎn)足要求。針對核心模塊ES-CCU還需要進(jìn)行大量幀收發(fā)的驗證,確保在大數據量傳輸時(shí)該功能模塊無(wú)缺陷。
3.4 基于芯片FPGA原型AFDX協(xié)議的軟硬件協(xié)同驗證
芯片實(shí)現了AFDX協(xié)議功能,在實(shí)際應用中必須開(kāi)發(fā)相應的協(xié)議軟件以滿(mǎn)足系統要求,在設計階段需要開(kāi)發(fā)協(xié)議軟件進(jìn)行軟硬件協(xié)同驗證。主要包括驅動(dòng)層軟件和協(xié)議層軟件。
驅動(dòng)軟件實(shí)現設備管理并提供用戶(hù)或操作系統訪(fǎng)問(wèn)網(wǎng)絡(luò )通道硬件設備的接口,設備驅動(dòng)程序采用結構化的設計思想。遵循Linux、Windows等系統的程序設計規范,提供一個(gè)通用的與設備無(wú)關(guān)的程序結構,方便系統移植和維護。按照通用設備結構,為上層用戶(hù)提供一組通用的設備管理和通信函數。驅動(dòng)層軟件主要包括初始化軟件和接口函數。初始化軟件包括上電初始化、通信協(xié)議初始化、DMA初始化配置、PCI初始化配置、協(xié)議初始化配置和中斷初始化等初始化過(guò)程。
協(xié)議層軟件主要實(shí)現針對協(xié)議層要求對數據進(jìn)行分片、打包等轉換,并對從MAC端口接收的數據進(jìn)行完整性檢查和余度管理,完成數據與包頭的分離、校驗和計算、UDP協(xié)議類(lèi)型提取等操作,為片上處理器進(jìn)行協(xié)議棧處理提供必要信息。
3.5 基于芯片FPGA原型的嵌入式操作系統協(xié)同驗證
芯片FPGA原型的驗證能夠最直接和全面地驗證設計的正確性和完備性,是虛擬原型驗證通過(guò)之后最接近真實(shí)硬件設計的驗證。雖然完成了模塊級、系統級的驗證程序對片上各個(gè)模塊之間的互動(dòng)操作進(jìn)行模塊級、系統級功能驗證,但這種方法仍然很難保證驗證的充分性。
在此情況下,往往采用基于嵌入式操作系統的系統級軟件,從資源管理者的角度進(jìn)行功能的充分驗證。
嵌入式操作系統作為嵌入式系統的靈魂,對整個(gè)系統進(jìn)行硬件資源管理、多任務(wù)協(xié)調調度、任務(wù)間同步和通信、存儲管理、設備管理等。在SoC驗證中,通過(guò)運行嵌入式操作系統及基于操作系統的應用程序,模擬真實(shí)的軟件應用環(huán)境;通過(guò)驗證平臺的搭建,能夠移植操作系統和各種實(shí)際應用軟件,更加真實(shí)地模擬應用環(huán)境,操作系統的移植和運行能夠更高效地覆蓋硬件設計IP及互聯(lián)的驗證項,實(shí)現較高的驗證覆蓋率??梢栽谛酒脑O計階段發(fā)現操作系統是否能夠對硬件資源進(jìn)行管理、能否有效地進(jìn)行任務(wù)管理等問(wèn)題,能否對設計中各模塊功能以及系統功能進(jìn)行更為有效的驗證,盡早地發(fā)現SoC硬件設計中的缺陷,確保設計的正確性和可靠性,為芯片的充分驗證提供了有效手段。同時(shí),為流片后的芯片測試及應用工作提供了一個(gè)良好的測試平臺和應用軟件的開(kāi)發(fā)平臺,加速SoC應用開(kāi)發(fā)的進(jìn)度,加速芯片推廣和盡快上市。
日益復雜的應用需求,加快了嵌入式操作系統的發(fā)展。目前國內外已有幾十種商業(yè)化操作系統可供選擇,如VxWorks、WinCE等。在同一硬件平臺上可以運行不同的嵌入式操作系統,但必須根據自己的硬件平臺和應用場(chǎng)合將某種操作系統進(jìn)行定制和代碼修改,使其能夠運行在該硬件平臺上,這個(gè)過(guò)程就是操作系統的移植。在明確驗證了芯片的基本硬件資源以后,移植盡可能多的嵌入式操作系統至SoC上,確保驗證的充分性。在A(yíng)FDX-ES設計中,在FPGA原型驗證環(huán)境下移植了VxWorks嵌入式操作系統,并編寫(xiě)大量上層應用程序來(lái)對SoC硬件設計進(jìn)行了詳盡的驗證。
VxWorks是美國風(fēng)河公司設計開(kāi)發(fā)的一套具有微內核(最小為8 KB)、可裁剪的高性能實(shí)時(shí)操作系統(RTOS),支持廣泛的網(wǎng)絡(luò )協(xié)議。其在軍事、航天、通信、工業(yè)控制等諸多方面應用廣泛,并已成為嵌入式領(lǐng)域使用最多的操作系統之一?;贔PGA平臺的VxWorks系統移植驗證,需要建立開(kāi)發(fā)環(huán)境,在PC機上安裝VxWorks集成開(kāi)發(fā)環(huán)境Tornado2.2 for ARM,采用宿主機目標機交叉開(kāi)發(fā),以網(wǎng)口作為內核下載通道。編寫(xiě)一個(gè)可靠的BSP軟件包,是進(jìn)行VxWorks操作系統移植工作的重要部分,直接決定了操作系統移植能否成功。設計中根據具體的硬件點(diǎn),首先配置一個(gè)能生成最小內核的BSP包,包括中斷處理程序、定時(shí)器驅動(dòng),同時(shí)為了方便調試,還加入網(wǎng)口驅動(dòng),以便啟動(dòng)WDB調試工具[10]。在成功運行最小內核以后,以此BSP包為基礎添加基于A(yíng)FDX-ES芯片上其他模塊的驅動(dòng)程序,以達到對系統的充分驗證。
通過(guò)運行VxWorks嵌入式操作系統,對片上資源進(jìn)行管理以及各功能模塊進(jìn)行功能調用,驗證了AFDX-ES芯片各IP模塊的工作情況及各IP模塊在系統中相互配合工作的情況,盡早地發(fā)現了SoC硬件設計中的缺陷,確保了設計的正確性和可靠性。由此,在SoC上移植嵌入式操作系統可謂SoC的設計中一個(gè)優(yōu)秀的測試向量集。
3.6 基于芯片FPGA原型的典型應用驗證
為了進(jìn)一步驗證設計的SoC是否滿(mǎn)足系統的應用需求,利用搭建的芯片FPGA原型構建了一個(gè)典型的系統應用環(huán)境,對于A(yíng)FDX-ES進(jìn)行了典型系統應用驗證。在此系統中使用了一臺AFDX交換機。此階段的驗證一方面通過(guò)驗證證明所設計的SoC可以與交換機進(jìn)行通信;另一方面此階段所開(kāi)發(fā)的驗證原型系統也是所設計SoC的一個(gè)系統解決方案。
圖2所示的應用驗證是一個(gè)典型的應用驗證環(huán)境。在此基礎上,使用了一臺AFDX交換機、2塊AFDX-ES驗證板和1臺PC機。PC機與AFDX交換機連接,可作為服務(wù)器使用,2塊AFDX-ES驗證板都連接到交換機,驗證系統1可以通過(guò)交換機與系統2通信,同時(shí),也可以通過(guò)駐留在PC機上的監控軟件檢測數據交換狀態(tài)。通過(guò)上述驗證表明所設計的AFDX-ES可以與交換機互相通信,滿(mǎn)足系統應用需求。
為了適應我國航電系統大規模芯片設計的快速發(fā)展,解決驗證規模的瓶頸限制,本文提出了以ARM9為核心的AFDX-ES SoC軟硬件協(xié)同驗證方法、流程和平臺。整個(gè)驗證過(guò)程基于FPGA原型,對設計的基本功能進(jìn)行了充分驗證,完成了協(xié)議所要求的最基本的數據處理機制的驗證,驗證軟件可以很好地應用在流片后的系統應用中,同時(shí)利用原型平臺構建了與交換機通信的典型應用環(huán)境,并在此環(huán)境中開(kāi)發(fā)了相應的程序,實(shí)現了交換機的通信驗證。此階段開(kāi)發(fā)的應用程序和原型系統可以應用在流片后的系統中。
本文介紹的軟硬件協(xié)同設計驗證方法、流程、平臺能在流片之前對設計進(jìn)行充分、有效的驗證,在項目的實(shí)踐中取得了良好的效果,對于類(lèi)似的SoC協(xié)同驗證有很好的參考價(jià)值。
評論