<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 基于嵌入式的SoC驗證效率測試方案

基于嵌入式的SoC驗證效率測試方案

作者: 時(shí)間:2013-01-08 來(lái)源:網(wǎng)絡(luò ) 收藏

隨著(zhù)科技的發(fā)展,系統級芯片(SoC)更高的功能集成度與更快的內部時(shí)鐘速度以及復雜的高速I(mǎi)/O相結合,這意味著(zhù)提供正常運行、并經(jīng)過(guò)全面驗證的系統比以前變得更難。由于通常情況下,軟件團隊和硬件團隊各自為政,前者專(zhuān)注于編程模型內部的軟件執行,后者則在硬件開(kāi)發(fā)框架內進(jìn)行調試,其中時(shí)鐘周期精度、并行運行及調試數據回溯原始設計的關(guān)系是關(guān)鍵。但在實(shí)際環(huán)境中,無(wú)差錯協(xié)同運行的情況不多,正因如此,經(jīng)常會(huì )導致關(guān)鍵成本上升及產(chǎn)品開(kāi)發(fā)周期延誤。

為在合理的成本和時(shí)間范圍內實(shí)現更高的集成度,業(yè)界必須轉向新的方法:設計的洞察。本文介紹了使用儀器調試SoC的一種方法,說(shuō)明了通過(guò)整合硬件調試視圖和軟件調試視圖,可以更快、更高效地調試整個(gè)系統。

調試基礎設施過(guò)程

處理器核心開(kāi)發(fā)人員一般會(huì )提供調試基礎設施或是某個(gè)核心的一套固定特性或一群核心的可配置插件。不管是哪種形式,調試基礎設施都變成了被制造的核心的一部分。然后調試軟件使用這個(gè)基礎設施,為軟件開(kāi)發(fā)人員提供調試特性。

與大多數現代處理器類(lèi)似,這里突出顯示的處理器核心支持一套基本調試功能。在本例中,可以通過(guò)JTAG訪(fǎng)問(wèn)的“后門(mén)”,允許軟件調試程序(如GDB)讀取和寫(xiě)入系統中的存儲器,檢測處理器的運行狀態(tài)。通過(guò)這些機制及訪(fǎng)問(wèn)原始軟件源代碼,GDB和其它軟件調試程序可以提供軟件斷點(diǎn)、單步操作、變量值檢查、堆棧跟蹤、初始條件配置、交替存儲器值及恢復功能。

在大多數情況下,硬件調試設施并不是與構成SoC的硬件IP核心一起提供的。相反,硬件調試設施通常疊加到現有的SoC設計上。造成這種差異的原因有很多。首先,與軟件調試不同,硬件要求的底層功能具有多樣化特點(diǎn),通常只有在SoC組裝時(shí)才能得到全面了解。此外,每種新的SoC通常要求不同的調試基礎設施。最后,作為新興領(lǐng)域,硬件調試的標準化程度不高,生態(tài)系統建設不夠。因此,硬件調試設施通常被留給各個(gè)設計人員,這些設計人員會(huì )創(chuàng )建針對不同功能領(lǐng)域的特定調試特性。在大型機構中,通常會(huì )開(kāi)發(fā)擁有內部支持的工具和結構。但是,隨著(zhù)SoC的復雜程度不斷提高,創(chuàng )建高效硬件調試設施的復雜程度也在不斷提高,內部開(kāi)發(fā)工作難以為繼。

作為替代方案,和測量廠(chǎng)商可以提供完整的設計工具、IP庫和工作流程,創(chuàng )建硬件調試設施。圖2所示的設置稱(chēng)為T(mén)ektronix Clarus Post-Silicon Validation Suite,這一驗證套件由多種可以重復配置的儀器組成,這些儀器可以連接起來(lái),分布在整個(gè)SoC中,創(chuàng )建滿(mǎn)足特定功能要求的調試基礎設施。Implementer工具可以在RTL級(Vreilog、System Verilog和VHDL)把硬件設計中任何層級的任何信號儀器化。Analyzer通過(guò)JTAG或以太網(wǎng)連接,配置和控制儀器。最后,Investigator把嵌入式儀器收集的數據向回映射到原始RTL(在仿真環(huán)境中),實(shí)現更復雜的調試。

圖2: Clarus Post-Silicon Vlidtion Suite套件的結構。

嵌入式儀器被應用到SOC中,提供調試基礎設施,如圖3所示。其中一個(gè)重要方面是能夠在調試過(guò)程中重新配置儀器,針對SoC不同領(lǐng)域中的各種信號和場(chǎng)景?;緝x器稱(chēng)為捕獲站,其獨立管理觀(guān)測數據的選擇、壓縮、處理和存儲。多臺捕獲站通常一起使用,為某個(gè)SoC創(chuàng )建特定設計基礎設施。在插入過(guò)程中,捕獲站配置一系列關(guān)心的潛在信號、最高同時(shí)觀(guān)測數量以及最大RAM容量。捕獲站一般被分配給特定時(shí)鐘域,同時(shí)捕獲觀(guān)測數據。Analyzer從每個(gè)捕獲站中收集數據,顛倒壓縮算法,把每個(gè)站中捕獲的數據對準,在所有捕獲站中生成時(shí)間相關(guān)的視圖。

圖3: 硬件調試基礎設施。

本例中使用的SoC有四個(gè)捕獲站:一個(gè)位于處理器時(shí)鐘域,標為1號捕獲站(60MHz),針對362個(gè)信號;一個(gè)位于RX以太網(wǎng)域,標為2號捕獲站(25MHz),針對17個(gè)信號;一個(gè)位于TX以太網(wǎng)域,標為3號捕獲站(25MHz),針對17個(gè)信號;最后一個(gè)位于閃存時(shí)鐘域,標為4號捕獲站(33MHz),針對178個(gè)信號。每個(gè)捕獲站都并行運行,能夠選擇性地觀(guān)測任意信號組合。Analyzer工具的最終輸出是一個(gè)表示實(shí)際硅片器件中時(shí)鐘周期準確信號事務(wù)的波形,如圖4所示。

圖4: SoC波形實(shí)例。

盡管軟件調試設施和硬件調試設施在目標平臺上觀(guān)測只限于軟件問(wèn)題或硬件問(wèn)題時(shí)效果很好,但在了解涉及軟件和硬件交互的行為時(shí),則面臨著(zhù)明顯挑戰。表1列出了我們的臺開(kāi)發(fā)過(guò)程中遇到的部分問(wèn)題,以及我們在業(yè)界看到的代表性問(wèn)題。

主要挑戰在于,盡管使用軟件調試設施或硬件調試設施能夠“看到”非預期行為的影響,但通常很難確定觀(guān)測到的不正確行為到底是因還是果。這個(gè)問(wèn)題經(jīng)常變成軟件中非預計的行為是硬件行為不正確的結果,還是其它方式。關(guān)鍵在于確定多個(gè)事件之間的臨時(shí)關(guān)系,這要求軟件調試視圖和硬件調試視圖之間有一個(gè)公共參照物。

構建

整個(gè)SoC在Virtex-5開(kāi)發(fā)板卡上實(shí)現。圖1所示的SoC由一塊32位RISC指令集處理器及一條AMBA APB外設總線(xiàn)組成,處理器連接到AMBA AHB系統總線(xiàn)上。SoC還包含一個(gè)DDR2存儲控制器、一個(gè)千兆位以太網(wǎng)網(wǎng)絡(luò )適配器、一個(gè)Compact Flash控制器、VGA控制器及多個(gè)低速外設接口。SoC運行Debian GNU Linux操作系統第4版,這一操作系統運行v2.6.21內核。處理器核心工作頻率為60MHz,DDR存儲控制器工作頻率為100MHz,其它I/O外設在33MHz~12MHz之間的基本頻率上運行。

圖1. SoC基線(xiàn)測試臺。

這一系統是一臺全功能計算機,能夠提供基于終端的用戶(hù)接入,能夠連接互聯(lián)網(wǎng),運行應用程序,安裝文件系統等等。SoC的這些特點(diǎn)產(chǎn)生了復雜的調試場(chǎng)景,給硬件調試設施和軟件調試設施的功能帶來(lái)了壓力。在大多數情況下,關(guān)鍵操作都同時(shí)涵蓋硬件和軟件。

事件管理

重建軟件調試視圖和硬件調試視圖之間臨時(shí)關(guān)系的能力,涉及兩種調試設施中調試狀態(tài)和事件處理的整合,或綜合硬件管理,如圖5所示。

圖5: 綜合事件管理。

在本例中,Clarus Suite提供的分布式異步儀器使得每個(gè)捕獲站可以視作自治設備。為支持儀器之間的“交叉觸發(fā)”,有一條共享事件總線(xiàn)及一個(gè)集中式事件處理器。集中式事件處理器在圖5中標為接入控制(Access Control),把調試事件和狀態(tài)傳送給Analyzer軟件,Analyzer軟件管理著(zhù)整個(gè)調試基礎設施。這可以對多個(gè)功能單元和時(shí)鐘域同時(shí)進(jìn)行高效硬件調試。為創(chuàng )建綜合事件管理,這些信息傳播到軟件調試設施中,并從軟件基礎設施中收集數據。通過(guò)采用綜合事件管理,基礎設施可以檢測軟件斷點(diǎn)事件,調試處理器的狀態(tài)。同樣,軟件調試設施能夠檢測硬件觸發(fā),調試硬件調試設施的狀態(tài)。

綜合事件管理的兩大優(yōu)勢是軟件調試發(fā)起的事件能夠控制硬件觸發(fā),硬件調試發(fā)起的事件能夠控制軟件調試。更具體地說(shuō),軟件斷點(diǎn)可以映射到特定硬件行為,硬件觸發(fā)可以在某個(gè)點(diǎn)中斷軟件。圖6和圖7分別說(shuō)明了這兩種場(chǎng)景的實(shí)例。

圖6:由軟件發(fā)起的事件。

圖7:由硬件發(fā)起的事件。

為演示綜合調試系統中軟件發(fā)起的斷點(diǎn)功能,我們修改了Linux內核,在磁盤(pán)扇區0x00041d90上發(fā)生讀取時(shí)打印消息“BLOCK”.然后,把目標對準調試設施中來(lái)自“sysace”Compact Flash控制器的軌跡。我們使用GDB,在xsysace.c文件第714行上設置了一個(gè)硬件斷點(diǎn)(printk發(fā)生的行)。然后配置測試設施,使用綜合事件管理監測軟件調試設施。最后,“find/”命令強制內核讀取整個(gè)磁盤(pán)。如圖6所示,軟件斷點(diǎn)在希望的行上暫停了內核執行,另外還觸發(fā)了硬件調試設施。結果,可以在軟件斷點(diǎn)時(shí)間上看到詳細的硬件行為。

我們使用硬件適配器,演示綜合調試系統中硬件發(fā)起的觸發(fā)功能。我們設置成在Linux內核清除以太網(wǎng)適配器中的“RX Packet Ready Interrupt Bit”時(shí)發(fā)生硬件觸發(fā)。我們把綜合事件管理界面配置成把硬件事件映射到軟件調試設施。到系統中路由器IP地址的ping從SoC到路由器應答位置發(fā)起一個(gè)發(fā)送包。在應答發(fā)生時(shí),這個(gè)包到達以太網(wǎng)物理層,由以太網(wǎng)適配器處理。然后處理器被中斷,Linux內核服務(wù)中斷。在中斷服務(wù)結束時(shí),中斷被清除。這導致硬件觸發(fā)和軟件被暫停,如圖7所示。得到的視圖顯示了從物理層直到操作系統的整個(gè)復雜系統中硬件和軟件的同步行為或時(shí)間相關(guān)行為。

本文通過(guò)在軟件調試設施和硬件調試設施之間創(chuàng )建綜合事件管理界面,可以圍繞軟件調試事件和硬件調試事件實(shí)現單事件同步。這種同步可以有意義地表示同時(shí)來(lái)自這兩種基礎設施的調試數據。這樣一個(gè)完整的系統視圖為觀(guān)察涵蓋軟件和硬件的各種SoC功能之間的臨時(shí)關(guān)系打開(kāi)了一扇窗戶(hù),可以更快、更高效地調試日益復雜的SoC設計。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


關(guān)鍵詞: 嵌入式 測試 效率 SoC驗證

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>