王 婷,馬 超,田 澤
(1.中國航空計算技術研究所,陜西 西安 710068;2.集成電路與微系統設計航空科技重點試驗室,陜西 西安 710068)
基于PowerPC架構的通用處理器系統虛擬驗證
王 婷1,2,馬 超1,2,田 澤1,2
(1.中國航空計算技術研究所,陜西 西安 710068;2.集成電路與微系統設計航空科技重點試驗室,陜西 西安 710068)
基于PowerPC架構通用處理器系統在全球軍用/宇航微處理器等長壽命、高可靠領域應用非常廣泛,與此同時其規模和復雜度之大給設計和驗證帶來了巨大挑戰。文中基于一款PowerPC架構的通用處理器系統,構建軟硬件協同工作的虛擬驗證平臺,開發驗證模型和測試程序,并采用模塊級到系統級的分層驗證策略。驗證結果表明,基于PowerPC架構通用處理器系統虛擬驗證能夠有效地進行系統的功能和性能驗證,提高了驗證效率,縮短了設計中的查錯糾錯時間,從而降低風險,加快設計、驗證進度。
PPC通用處理器;驗證平臺;驗證模型;虛擬仿真
PowerPC架構通用處理器系統在多媒體、計算機、汽車等領域及衛星、軍用飛機、彈道發射系統、艦船和海軍設備等軍用領域有非常廣泛的應用[1-3]??紤]到通用處理器系統的規模和設計復雜度之大,保證其通用性和靈活性的同時兼顧處理效率,大多采用軟硬件協同設計的方法,在設計難度增大的情況下,進行行之有效的仿真驗證工作也變得至關重要[4-5]。
文中基于一款PowerPC架構的通用處理器系統,通過搭建虛擬驗證平臺模擬其工作過程,采用模塊級到系統級的分層驗證策略,能夠有效進行系統的功能和性能驗證,縮短設計中的查錯糾錯時間,從而降低風險,加快設計和驗證進度。
文中的PowerPC架構通用處理器系統是一款以PowerPC處理器為核心,集成浮點處理單元、二級Cache,對外提供SDRAM存儲器接口、以太網接口和PCI接口,并提供UART、GPIO、I2C、EBC等豐富外設接口的高性能、低功耗處理器系統,如圖1所示。

圖1 處理器系統結構框圖
高帶寬、低延遲的處理器局部總線PLB負責連接高性能的外圍設備[6-7],如DMA控制器、片上存儲等。片上外設總線OPB則用來連接低速外圍設備,如看門狗、實時時鐘等。PLB總線與OPB總線之間用PLB-OPB的橋接器連接,以減輕PLB總線的負荷。設備控制寄存器總線DCR把所有連接在PLB和OPB上的模塊用雛菊鏈的方式進行互連,通過它來對所有設備的控制寄存器進行操作,以減少零碎的寄存器訪問對PLB和OPB總線帶寬的占用。二級Cache用于提升PPC處理器的處理性能,節省PLB訪問帶寬,增加PLB總線上的其他主設備可訪問總線帶寬。浮點處理單元與PPC處理器核配合使用,包含可并行執行的五級算術流水線和四級存儲加載流水線。
虛擬驗證平臺具有精確、便于調試的特點。文中依照PowerPC架構通用處理器系統的功能、性能需求,提取功能點,搭建驗證平臺,實施驗證。
2.1 驗證環境
基于PowerPC架構的通用處理器系統的虛擬驗證平臺如圖2所示。采用軟硬件協同驗證方法,開發相應的驗證模型和測試程序。
2.2 驗證模型
PowerPC架構通用處理器系統驗證模型掛接在系統的對應外接口上模擬處理器實際工作時的周邊元件,驗證模型及說明見表1。

圖2 虛擬驗證平臺

組件作用GEN_CLK_RST產生系統所用時鐘am29lv320d連接EBC的外部flash模型,存儲Boot程序sdram_module外部SDRAM模型MPCI_BFMPCIHost模型,支持故障注入;PCIMonitor檢查協議一致性Pci_ipsim_topPCIAgent模型eth_module接收系統發出來的幀,并轉發回去;構造超長和超短幀,測試系統中以太網模塊對超長超短幀的處理UART_BFM接收及產生串行數據GPIO_BFM驅動輸入,監控輸出sram0/1EBC存儲器接口的外部SRAM模型xps_iic作為I2C總線上的主從設備,發送和接收數據
2.3 測試程序
測試程序的通用功能主要包括定義入口地址、建立異常中斷處理向量、初始化外部存儲器、初始化堆棧指針、初始化I/O設備、初始化C程序需要的存儲空間,以及進入C語言程序運行等[8]。程序跳轉到C程序的入口函數main(),main()函數是驗證程序的頂層,它初始化所有全局變量,調用各個測試模塊并報告總體測試結果。
軟件應用工程包含五類源文件:.c源代碼、.h頭文件、.ld連接腳本文件、.s匯編文件以及makefile文件。其中:.c源代碼是.c文件用戶源程序,基于標準的C語言,是應用程序的主要部分,用戶根據驗證策劃及驗證規范編寫相關代碼;.h頭文件是用戶編寫的頭文件;.ld連接腳本文件用于連接用戶源代碼,指定生成的目標二進制文件保存具體的段信息;.s匯編文件用于設置處理器核的指令數據緩存、處理中斷等操作,一般用于初始化和BootLoop應用中;makefile文件用戶對軟件代碼的編譯進行配置,確定所使用的編譯器、連接器等信息,完成軟件代碼的編譯,并最終生成用于仿真的.v文件。
2.4 工作流程
虛擬仿真的工作流程一般為:首先編寫C語言測試程序,經過編譯鏈接后,把程序轉化成處理器能識別的二進制文件,輸入到片外存儲器模型中,由處理器讀取并執行指令來控制整個平臺的運作[9];同時,由外設和接口對應的模型模擬外部輸入,和片上處理器程序的運行相結合,進行虛擬仿真工作。虛擬仿真結果的正確性,可以通過處理器系統的程序進行判斷,或者通過外部模型判斷。
虛擬驗證平臺通過模擬待測系統工作過程,驗證集成后模塊功能、模塊互連,以及整體功能、性能是否滿足設計需求,重點關注各個模塊在互連之后彼此之間的互操作性、數據流控制和一些簡單的應用操作。
虛擬平臺的驗證主要包括兩大方面[10-11]。一方面是系統集成后的模塊級驗證,即模塊寄存器寫讀操作、相對獨立的功能、模塊對外I/O功能、邊界條件、設計間的斷點、錯誤條件及異常情況處理的驗證;另一方面是集成后的系統功能驗證,包括時鐘復位功能、功耗管理、地址空洞、各數據通路互連關系、數據通路上的存儲器映射關系等系統整體功能和性能的驗證。
各模塊的功能重點在IP級進行驗證[12],系統集成后對IP級驗證項進行相應的刪減以及移植修改進行系統集成后的模塊級驗證,這里不再一一贅述。特別指出的是,PPC處理器作為整個系統的核心中樞,在系統集成后的模塊級驗證中對其進行了全面的驗證,包括復位功能、指令或數據Cache的控制和管理功能,內存管理單元的讀寫訪問控制,各類中斷的功能驗證,計時器功能驗證,指令集功能驗證等。
虛擬平臺系統功能驗證包括五類[13-14],分別是時鐘復位功能、功耗管理功能、地址空洞驗證、數據通路驗證以及數據存儲及傳輸性能驗證。
(1)時鐘復位功能驗證中時鐘頻率配置驗證即不同主時鐘頻率下的各PLL鎖相環的配置及輸出;復位功能驗證包括系統上電復位功能、外部復位輸入功能、軟件復位功能、調試復位功能和看門狗復位功能的驗證。
(2)功耗管理功能驗證了通過配置寄存器實現模塊的休眠控制。
(3)地址空洞包括了PLB總線和DCR總線訪問地址空洞的功能驗證。
(4)數據通路驗證分別是以太網通路和PCI通路的驗證。以太網的發送和接收通路,涉及PPC處理器、以太網接口、SDRAM存儲器接口、片內SRAM控制器、EBC存儲器接口、DMA控制器等模塊;PCI通路的驗證分別是處理器訪問外部PCI從設備通路驗證和PCI主設備訪問PLB端地址通路驗證,涉及PPC處理器、PCI主機接口、SDRAM存儲器接口、片內SRAM控制器、EBC存儲器接口、DMA控制器等模塊。
(5)數據存儲及傳輸性能驗證以通用嵌入式處理器的主要性能參考指標(如整型運算能力、浮點運算能力等)作為評判基準,驗證包括CPU整型運算性能、浮點運算性能、PCI接口性能、SDRAM接口性能、以太網接口數據傳輸能力及以太網數據協議解析傳輸能力測試。
通過文中設計的驗證平臺及策略的驗證,PowerPC架構通用處理器系統功能正確,在處理器時鐘250 MHz,SDRAM頻率為100 MHz時,SDRAM讀寫效率分別為167.8 Mbps和362 Mbps,PCI頻率66 MHz時PCI讀寫效率分別為35.7 Mbps和221.7 Mbps,處理器系統性能為1.58 DMIPS/MHz,浮點運算性能為1.35 DMIPS/MHz。
文中在對一款PowerPC架構通用處理器系統進行功能分析和特性提取的基礎上,詳細介紹了基于軟硬件協同工作的虛擬驗證平臺的搭建及工作流程,并描述了模塊級和系統級的分層驗證策略及驗證重點。該虛擬驗證系統能夠有效地進行處理器系統的功能和性能驗證,加快設計和驗證進度,并且進行簡單的修改移植便可以進行同類型系統的虛擬驗證工作,具有可移植性。
[1] 陳 帥,張斌峰,王旭東.基于PowerPC的處理器模塊研究及故障分析[J].大眾科技,2014,16(4):35-37.
[2] 尚何章,李春濤.基于Power PC的小型無人機飛行控制系統設計[J].伺服控制,2012(4):50-52.
[3] Lam W K,Microsystems S.Hardware design verification:simulation and formal method-based approaches[M].[s.l.]:Prentice Hall PTR Publisher,2005.
[4] 吳曉成,田 澤,郭 蒙,等.AFDX交換芯片虛擬驗證關鍵技術研究[J].計算機技術與發展,2013,23(8):177-180.
[5] 申 敏,曹聰玲.基于SoC設計的軟硬件協同驗證技術研究[J].電子測試,2009(3):9-12.
[6] Wolberg G.Digital image warping[M].Los Alamitos Califor-nia:IEEE Computer Society Press,1990:208-209.
[7] Wolf W.High performance embedded computing architectures,applications,and methodologies[M].New York:Elsevier,2007.
[8] Sefraoui O,Aissaoui M,Eleuldj M.Open stack:toward an open-source solution for cloud computing[J].International Journal of Computer Application,2012,55(3):38-42.
[9] 郭 蒙,田 澤,蔡葉芳,等.1553B總線接口SoC驗證平臺的實現[J].航空計算技術,2008,38(6):99-101.
[10] 一個成功的百萬門級芯片驗證平臺[J].中國集成電路,2005(6):36-43.
[11] 吳英攀,于立新,薛 可,等.基于層次化驗證平臺的存儲器的控制器功能驗證[J].微電子學與計算機,2009,26(2):25-28.
[12] 楊海波,田 澤,蔡葉芳,等.FC IP軟核的仿真與驗證[J].計算機技術與發展,2009,19(9):168-172.
[13] 韓 霞,楊洪斌,吳 悅.面向SoC的事務級驗證研究[J].計算機技術與發展,2007,17(3):33-36.
[14] 田 靖,田 澤.AFDX-ES SoC虛擬仿真平臺的構建與應用[J].計算機技術與發展,2010,20(8):192-194.
Virtual Verification of General Processor System Based on PowerPC Architecture
WANG Ting1,2,MA Chao1,2,TIAN Ze1,2
(1.Aeronautics Computing Technique Research Institute,Xi’an 710068,China; 2.Key Lab of Aeronautics Science and Technology of Integrate Circuit and Micro-system Design, Xi’an 710068,China)
The general processor system based on PowerPC architecture is outstanding in the military/astronautics microprocessor field with longer life and higher reliability.At the same time,with the increasing of the transistor number and the complexity,the design and verification has been brought huge challenge.Based on the general processor system based on PowerPC architecture,the hardware/software co-design virtual verification testbench is proposed,and verifying model and testcase is developed,and the verification method from module to system is adopted.The simulation results show that the virtual verification for general processor system based on PowerPC architecture can conduct the verification of function and performance,which improves the efficiency and reduces the time of error correction in design,to reduce the risk and increase the degree of design and verification.
PPC general processor;testbench;verifying model;virtual simulation
2015-06-16
2015-09-22
時間:2016-03-22
中國航空工業集團創新基金(2010BD63111)
王 婷(1985-),女,工程師,研究方向為集成電路設計與驗證;田 澤,博士,研究員,中航首席技術專家,研究方向為SoC設計、嵌入式系統設計、VLSI設計。
http://www.cnki.net/kcms/detail/61.1450.TP.20160322.1517.006.html
TP39
A
1673-629X(2016)04-0136-03
10.3969/j.issn.1673-629X.2016.04.030