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

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

圖2 虛擬驗證平臺

組件作用GEN_CLK_RST產(chǎn)生系統(tǒng)所用時鐘am29lv320d連接EBC的外部flash模型,存儲Boot程序sdram_module外部SDRAM模型MPCI_BFMPCIHost模型,支持故障注入;PCIMonitor檢查協(xié)議一致性Pci_ipsim_topPCIAgent模型eth_module接收系統(tǒng)發(fā)出來的幀,并轉(zhuǎn)發(fā)回去;構(gòu)造超長和超短幀,測試系統(tǒng)中以太網(wǎng)模塊對超長超短幀的處理UART_BFM接收及產(chǎn)生串行數(shù)據(jù)GPIO_BFM驅(qū)動輸入,監(jiān)控輸出sram0/1EBC存儲器接口的外部SRAM模型xps_iic作為I2C總線上的主從設(shè)備,發(fā)送和接收數(shù)據(jù)
2.3 測試程序
測試程序的通用功能主要包括定義入口地址、建立異常中斷處理向量、初始化外部存儲器、初始化堆棧指針、初始化I/O設(shè)備、初始化C程序需要的存儲空間,以及進(jìn)入C語言程序運行等[8]。程序跳轉(zhuǎn)到C程序的入口函數(shù)main(),main()函數(shù)是驗證程序的頂層,它初始化所有全局變量,調(diào)用各個測試模塊并報告總體測試結(jié)果。
軟件應(yīng)用工程包含五類源文件:.c源代碼、.h頭文件、.ld連接腳本文件、.s匯編文件以及makefile文件。其中:.c源代碼是.c文件用戶源程序,基于標(biāo)準(zhǔn)的C語言,是應(yīng)用程序的主要部分,用戶根據(jù)驗證策劃及驗證規(guī)范編寫相關(guān)代碼;.h頭文件是用戶編寫的頭文件;.ld連接腳本文件用于連接用戶源代碼,指定生成的目標(biāo)二進(jìn)制文件保存具體的段信息;.s匯編文件用于設(shè)置處理器核的指令數(shù)據(jù)緩存、處理中斷等操作,一般用于初始化和BootLoop應(yīng)用中;makefile文件用戶對軟件代碼的編譯進(jìn)行配置,確定所使用的編譯器、連接器等信息,完成軟件代碼的編譯,并最終生成用于仿真的.v文件。
2.4 工作流程
虛擬仿真的工作流程一般為:首先編寫C語言測試程序,經(jīng)過編譯鏈接后,把程序轉(zhuǎn)化成處理器能識別的二進(jìn)制文件,輸入到片外存儲器模型中,由處理器讀取并執(zhí)行指令來控制整個平臺的運作[9];同時,由外設(shè)和接口對應(yīng)的模型模擬外部輸入,和片上處理器程序的運行相結(jié)合,進(jìn)行虛擬仿真工作。虛擬仿真結(jié)果的正確性,可以通過處理器系統(tǒng)的程序進(jìn)行判斷,或者通過外部模型判斷。
虛擬驗證平臺通過模擬待測系統(tǒng)工作過程,驗證集成后模塊功能、模塊互連,以及整體功能、性能是否滿足設(shè)計需求,重點關(guān)注各個模塊在互連之后彼此之間的互操作性、數(shù)據(jù)流控制和一些簡單的應(yīng)用操作。
虛擬平臺的驗證主要包括兩大方面[10-11]。一方面是系統(tǒng)集成后的模塊級驗證,即模塊寄存器寫讀操作、相對獨立的功能、模塊對外I/O功能、邊界條件、設(shè)計間的斷點、錯誤條件及異常情況處理的驗證;另一方面是集成后的系統(tǒng)功能驗證,包括時鐘復(fù)位功能、功耗管理、地址空洞、各數(shù)據(jù)通路互連關(guān)系、數(shù)據(jù)通路上的存儲器映射關(guān)系等系統(tǒng)整體功能和性能的驗證。
各模塊的功能重點在IP級進(jìn)行驗證[12],系統(tǒng)集成后對IP級驗證項進(jìn)行相應(yīng)的刪減以及移植修改進(jìn)行系統(tǒng)集成后的模塊級驗證,這里不再一一贅述。特別指出的是,PPC處理器作為整個系統(tǒng)的核心中樞,在系統(tǒng)集成后的模塊級驗證中對其進(jìn)行了全面的驗證,包括復(fù)位功能、指令或數(shù)據(jù)Cache的控制和管理功能,內(nèi)存管理單元的讀寫訪問控制,各類中斷的功能驗證,計時器功能驗證,指令集功能驗證等。
虛擬平臺系統(tǒng)功能驗證包括五類[13-14],分別是時鐘復(fù)位功能、功耗管理功能、地址空洞驗證、數(shù)據(jù)通路驗證以及數(shù)據(jù)存儲及傳輸性能驗證。
(1)時鐘復(fù)位功能驗證中時鐘頻率配置驗證即不同主時鐘頻率下的各PLL鎖相環(huán)的配置及輸出;復(fù)位功能驗證包括系統(tǒng)上電復(fù)位功能、外部復(fù)位輸入功能、軟件復(fù)位功能、調(diào)試復(fù)位功能和看門狗復(fù)位功能的驗證。
(2)功耗管理功能驗證了通過配置寄存器實現(xiàn)模塊的休眠控制。
(3)地址空洞包括了PLB總線和DCR總線訪問地址空洞的功能驗證。
(4)數(shù)據(jù)通路驗證分別是以太網(wǎng)通路和PCI通路的驗證。以太網(wǎng)的發(fā)送和接收通路,涉及PPC處理器、以太網(wǎng)接口、SDRAM存儲器接口、片內(nèi)SRAM控制器、EBC存儲器接口、DMA控制器等模塊;PCI通路的驗證分別是處理器訪問外部PCI從設(shè)備通路驗證和PCI主設(shè)備訪問PLB端地址通路驗證,涉及PPC處理器、PCI主機(jī)接口、SDRAM存儲器接口、片內(nèi)SRAM控制器、EBC存儲器接口、DMA控制器等模塊。
(5)數(shù)據(jù)存儲及傳輸性能驗證以通用嵌入式處理器的主要性能參考指標(biāo)(如整型運算能力、浮點運算能力等)作為評判基準(zhǔn),驗證包括CPU整型運算性能、浮點運算性能、PCI接口性能、SDRAM接口性能、以太網(wǎng)接口數(shù)據(jù)傳輸能力及以太網(wǎng)數(shù)據(jù)協(xié)議解析傳輸能力測試。
通過文中設(shè)計的驗證平臺及策略的驗證,PowerPC架構(gòu)通用處理器系統(tǒng)功能正確,在處理器時鐘250 MHz,SDRAM頻率為100 MHz時,SDRAM讀寫效率分別為167.8 Mbps和362 Mbps,PCI頻率66 MHz時PCI讀寫效率分別為35.7 Mbps和221.7 Mbps,處理器系統(tǒng)性能為1.58 DMIPS/MHz,浮點運算性能為1.35 DMIPS/MHz。
文中在對一款PowerPC架構(gòu)通用處理器系統(tǒng)進(jìn)行功能分析和特性提取的基礎(chǔ)上,詳細(xì)介紹了基于軟硬件協(xié)同工作的虛擬驗證平臺的搭建及工作流程,并描述了模塊級和系統(tǒng)級的分層驗證策略及驗證重點。該虛擬驗證系統(tǒng)能夠有效地進(jìn)行處理器系統(tǒng)的功能和性能驗證,加快設(shè)計和驗證進(jìn)度,并且進(jìn)行簡單的修改移植便可以進(jìn)行同類型系統(tǒng)的虛擬驗證工作,具有可移植性。
[1] 陳 帥,張斌峰,王旭東.基于PowerPC的處理器模塊研究及故障分析[J].大眾科技,2014,16(4):35-37.
[2] 尚何章,李春濤.基于Power PC的小型無人機(jī)飛行控制系統(tǒng)設(shè)計[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交換芯片虛擬驗證關(guān)鍵技術(shù)研究[J].計算機(jī)技術(shù)與發(fā)展,2013,23(8):177-180.
[5] 申 敏,曹聰玲.基于SoC設(shè)計的軟硬件協(xié)同驗證技術(shù)研究[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驗證平臺的實現(xiàn)[J].航空計算技術(shù),2008,38(6):99-101.
[10] 一個成功的百萬門級芯片驗證平臺[J].中國集成電路,2005(6):36-43.
[11] 吳英攀,于立新,薛 可,等.基于層次化驗證平臺的存儲器的控制器功能驗證[J].微電子學(xué)與計算機(jī),2009,26(2):25-28.
[12] 楊海波,田 澤,蔡葉芳,等.FC IP軟核的仿真與驗證[J].計算機(jī)技術(shù)與發(fā)展,2009,19(9):168-172.
[13] 韓 霞,楊洪斌,吳 悅.面向SoC的事務(wù)級驗證研究[J].計算機(jī)技術(shù)與發(fā)展,2007,17(3):33-36.
[14] 田 靖,田 澤.AFDX-ES SoC虛擬仿真平臺的構(gòu)建與應(yīng)用[J].計算機(jī)技術(shù)與發(fā)展,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
中國航空工業(yè)集團(tuán)創(chuàng)新基金(2010BD63111)
王 婷(1985-),女,工程師,研究方向為集成電路設(shè)計與驗證;田 澤,博士,研究員,中航首席技術(shù)專家,研究方向為SoC設(shè)計、嵌入式系統(tǒng)設(shè)計、VLSI設(shè)計。
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