采用開(kāi)放式芯片協(xié)議(OCP)總線(xiàn)的跟蹤儀器與架構(gòu)
MIPS 科技公司攜手其他業(yè)內(nèi)領(lǐng)先的嵌入式處理器與 IP 開(kāi)發(fā)商,決定共同采用開(kāi)放式芯片協(xié)議(OCP)插槽作為標(biāo)準(zhǔn)化供應(yīng)商進(jìn)行片上總線(xiàn)集成的中立方法。本文將就總線(xiàn)級(jí)片上儀器(OCI)和支持基于OCP 系統(tǒng)的分析工具進(jìn)行詳盡討論。
本文引用地址:http://butianyuan.cn/article/80613.htm基于 OCP 的總線(xiàn)可進(jìn)行多種高帶寬操作,在基本數(shù)據(jù)傳輸?shù)幕A(chǔ)上添加了許多新的特性和功能。這些新性能包括專(zhuān)用總線(xiàn)命令模式、脈沖操作、多數(shù)據(jù)標(biāo)簽以及用于增加跟蹤信號(hào)數(shù)量的擴(kuò)展能力。附錄中列出的 MIPS24K OCP 接口就是這類(lèi)產(chǎn)品的典型。除了提供基本地址尋址和數(shù)據(jù)操作的總線(xiàn)接口信號(hào)外,OCP 還提供多種可選信號(hào),以調(diào)用專(zhuān)用處理器的特定強(qiáng)化功能,如數(shù)據(jù)排列、脈沖及多線(xiàn)程運(yùn)行等功能。
采用 OCP 這類(lèi)先進(jìn)總線(xiàn)架構(gòu)的另一個(gè)好處是,它能夠更有效地協(xié)調(diào)內(nèi)部大量集成內(nèi)核的復(fù)雜工作。分析因素包括對(duì)給定OCP 接口提出特定的問(wèn)題,以及片上子系統(tǒng)性能等更受全球關(guān)注的問(wèn)題。這些問(wèn)題涵蓋諸如理解和優(yōu)化傳輸效率、延遲、飽和、資源沖突和其他操作選項(xiàng)等可能對(duì)處理器元件的性能和運(yùn)行產(chǎn)生直接影響等因素
雖然仿真是開(kāi)發(fā)流程的重要環(huán)節(jié),但無(wú)論是在原型還是在系統(tǒng)級(jí)驗(yàn)證階段,對(duì)硬件本身狀況進(jìn)行分析也是同樣重要的環(huán)節(jié),而最終產(chǎn)品本身的硬件分析就更加重要了。在大多數(shù)情況下,諸如硬件內(nèi)嵌入式總線(xiàn)在信息分析中所遇到的問(wèn)題通常是能見(jiàn)度難題 —— 您很難確定自己看不到的問(wèn)題。使用傳統(tǒng)的 JTAG 掃描通常很難解決這個(gè)能見(jiàn)度難題,其原因在于:
?由于總線(xiàn)運(yùn)行的多周期性,在一個(gè)總線(xiàn)運(yùn)行周期內(nèi)有些信號(hào)會(huì)在不同時(shí)段變得非?;钴S,調(diào)試工具應(yīng)當(dāng)進(jìn)行連續(xù)的跟蹤,而不是單個(gè)周期的瞬態(tài)圖;
?總線(xiàn)運(yùn)行問(wèn)題牽涉到至少兩個(gè)通信時(shí)鐘(如處理器和存儲(chǔ)器外設(shè))。傳統(tǒng)的調(diào)試方法,如暫停部分系統(tǒng)進(jìn)行測(cè)試可能會(huì)帶來(lái)變化并引入新的變量,從而干預(yù)測(cè)試環(huán)節(jié)和過(guò)程;
?如果問(wèn)題是間歇性和少量的,那么追蹤操作就應(yīng)當(dāng)采用觸發(fā)模式,如實(shí)時(shí)捕獲有重要意義的總線(xiàn)周期信息。
目前廣泛采用的具有調(diào)試功能的嵌入式OCP 總線(xiàn)方法是在設(shè)計(jì)中添加片上儀器(OCI),以改善子系統(tǒng)接口的能見(jiàn)度。OCI 實(shí)際上是一個(gè)專(zhuān)門(mén)用來(lái)高效跟蹤嵌入式信號(hào)的IP 子系統(tǒng)。它既不通過(guò) JTAG 端口進(jìn)行緩沖,也不通過(guò)專(zhuān)門(mén)的測(cè)試端口流到您的 PC 上以供觀看。 OCI 能夠提供成功的嵌入式設(shè)計(jì)所必需的高效跟蹤功能,廣泛應(yīng)用于調(diào)試、嵌入式處理器運(yùn)行控制和邏輯分析。OCI 解決方案能夠解決片上總線(xiàn)分析中 SoC 的特定問(wèn)題,并為非可見(jiàn)的總線(xiàn)接口提供強(qiáng)大的調(diào)試能見(jiàn)度。最近OCI 解決方案已開(kāi)始面市。
圖 1 顯示的是一個(gè)基本的多內(nèi)核架構(gòu)(雙處理器、存儲(chǔ)器接口和采用通用片上總線(xiàn)的定制化IP)和幾類(lèi)可使該子系統(tǒng)更加簡(jiǎn)化,并可提高調(diào)試效率的可添加儀器。圖1 詳盡列出了本文探討的重點(diǎn)——總線(xiàn)監(jiān)測(cè)與跟蹤儀器的組成部分,其他支持或補(bǔ)充的儀器分區(qū)可以包含在處理器和邏輯分析調(diào)試的地址中。
調(diào)試儀器的功能基本可劃分為兩個(gè)主要類(lèi)型:
?專(zhuān)門(mén)用于進(jìn)行調(diào)試控制、支持特定處理器和其他內(nèi)核的系統(tǒng)內(nèi)分析分區(qū);
?支持跟蹤和任何用戶(hù)定義信號(hào)的更為通用的邏輯分析器分區(qū)。
總線(xiàn)分析通常用來(lái)處理用于通用邏輯分析的同類(lèi)儀器,也能執(zhí)行總線(xiàn)架構(gòu)和協(xié)議專(zhuān)用信號(hào)信息的線(xiàn)上處理和后處理。應(yīng)當(dāng)強(qiáng)調(diào)的是,圖中所示的所有儀器都與單個(gè)JTAG 流程鏈關(guān)系緊密,因此需要通過(guò)定制的JTAG 控制器接口進(jìn)行訪(fǎng)問(wèn)。通過(guò)同樣的JTAG 接口還能夠訪(fǎng)問(wèn)邊界掃描和其他傳統(tǒng)的JTAG 功能。
處理器內(nèi)核的系統(tǒng)內(nèi)分析器(ISA)分區(qū)能夠?yàn)樘幚砥魈峁┨囟ǖ倪\(yùn)行控制、觸發(fā)硬/軟件斷點(diǎn)監(jiān)測(cè)及實(shí)時(shí)跟蹤指令和數(shù)據(jù)等操作。
FS2 ISA-MIPS 能夠執(zhí)行以下典型的處理器調(diào)試子系統(tǒng)操作:
?JTAG 內(nèi)核的啟動(dòng)、停止、斷點(diǎn)和單步執(zhí)行;
?無(wú)限制的軟件斷點(diǎn);
?多達(dá)15個(gè)硬件事件/斷點(diǎn);
?基于指令執(zhí)行、存儲(chǔ)、IO操作、地址值或地址范圍、操作碼類(lèi)型或級(jí)別的觸發(fā)操作;
?每個(gè)周期高達(dá)64 位的實(shí)時(shí)跟蹤;
?執(zhí)行分支跟蹤信息的跟蹤;
?采用指令碼和執(zhí)行顯示的調(diào)試器( 參見(jiàn)圖2 )。
為了最有效地利用跟蹤信息,ISA 通常會(huì)采用分支跟蹤信息等壓縮技術(shù),這樣就能夠使ISA 集中處理指令中斷,從而減少所消耗的存儲(chǔ)器資源。跟蹤信息可以與GDB等調(diào)試器軟件工具流程鏈緊密集成,實(shí)現(xiàn)更好的源代碼分析和相關(guān)性。只要設(shè)計(jì)和資源運(yùn)用得當(dāng),單個(gè)ISA 分區(qū)內(nèi)就能集成不止一個(gè)內(nèi)核(給定類(lèi)型),并可作為多內(nèi)核系統(tǒng)調(diào)試中的共享資源。
在大多數(shù)設(shè)計(jì)中,處理器只是需要進(jìn)行系統(tǒng)分析的若干子系統(tǒng)之一。在特殊應(yīng)用的協(xié)處理器、存儲(chǔ)控制器、外設(shè)及其他功能的設(shè)計(jì)中都包含邏輯分區(qū)。邏輯與處理器IP 在調(diào)試要求上有幾個(gè)重要區(qū)別。
邏輯導(dǎo)航器是First Silicon Solutions公司開(kāi)發(fā)的一個(gè)通用JTAG 兼容邏輯分析器的儀器,其主要功能包括:
?負(fù)責(zé)監(jiān)測(cè)和跟蹤合成過(guò)程中選取的所有用戶(hù)定義信號(hào);
?64K跟蹤周期中支持高達(dá)256 個(gè)信號(hào)(采用片上 RAM);
門(mén)受限的應(yīng)用的跟蹤范圍最小可達(dá)1個(gè)信號(hào)×64 個(gè)周期;
?任何跟蹤信號(hào)和外部觸發(fā)邊緣或水平的組合或連續(xù)觸發(fā);
?基于狀態(tài)的順序觸發(fā)器和基于儀器分區(qū)資源的計(jì)數(shù)器觸發(fā);
?同步化多儀器的可選時(shí)間戳記 ~ 制定單周期或擴(kuò)展時(shí)間跟蹤的時(shí)間戳記,可以設(shè)置長(zhǎng)達(dá)48位;
?包含一個(gè)可通過(guò)JTAG 端口進(jìn)行調(diào)試控制的JTAG 控制通用寄存器。
FS2 總線(xiàn)導(dǎo)航器等片上總線(xiàn)分析器能夠?yàn)榭偩€(xiàn)運(yùn)行提供定制化邏輯分析儀器操作??偩€(xiàn)分析有兩種典型的操作形式 —— 接口跟蹤重要信號(hào)的形式(OCP 插槽)或總線(xiàn)結(jié)構(gòu)內(nèi)的跟蹤形式。OCP具有插槽級(jí)跟蹤能力,能夠跟蹤從每個(gè)總線(xiàn)主控路由到總線(xiàn)導(dǎo)航器的輸入多工器的信號(hào)。既能一次對(duì)一個(gè)總線(xiàn)主控進(jìn)行跟蹤,又能根據(jù)特定應(yīng)用需求對(duì)所有總線(xiàn)主控中選定的信號(hào)進(jìn)行跟蹤。
總線(xiàn)導(dǎo)航器還能確定諸如給定設(shè)計(jì)的邊帶和可選信號(hào)的數(shù)據(jù)字的大小和數(shù)量,以確定合成過(guò)程中RTL 操作的參數(shù),從而實(shí)現(xiàn)給定設(shè)計(jì)的定制化跟蹤。
總線(xiàn)導(dǎo)航器還可像用于基于OCP 狀態(tài)的處理器調(diào)試操作的低延遲觸發(fā)那樣,為MIPS調(diào)試分區(qū)提供直接交叉觸發(fā)接口分區(qū)。同樣,處理器輸出也能夠用于總線(xiàn)儀器的可選輸出信號(hào),在處理器操作的基礎(chǔ)上實(shí)現(xiàn)總線(xiàn)啟動(dòng)和停止的低延遲觸發(fā)。
為了支持流水線(xiàn)總線(xiàn)操作,給定周期的跟蹤同步、排列指令和響應(yīng)部分都以單個(gè)周期顯示。這種總線(xiàn)跟蹤查看方式能夠更直觀地顯示軟件分析中的觸發(fā)與跟蹤。
該儀器減少了總線(xiàn)跟蹤的閑置的和“沒(méi)有準(zhǔn)備”的周期,保存了對(duì)RAM 資源的跟蹤,使跟蹤過(guò)程更便于讀取,而時(shí)間戳記則確保系統(tǒng)與其他調(diào)試操作的同步。
操作得當(dāng)?shù)脑?huà),片上儀器能在芯片產(chǎn)品設(shè)計(jì)的整個(gè)生命周期內(nèi)直觀、有效地改善設(shè)計(jì)的易測(cè)性、可維護(hù)性和可分析性。要實(shí)現(xiàn)片上調(diào)試功能,要求設(shè)計(jì)人員在硬件驗(yàn)證過(guò)程中懂得如何運(yùn)用調(diào)試工具,同時(shí)考慮在給定的解決方案中如何將儀器解決方案集成到設(shè)計(jì)中。
用戶(hù)可用到的功能包括:
靈活的片上觸發(fā)、跟蹤和性能分析 —當(dāng)大量數(shù)據(jù)通過(guò)基于總線(xiàn)的OCP時(shí),只有某些數(shù)據(jù)才有用,重要的是訪(fǎng)問(wèn)您所需要的信號(hào)。其中一種分析方法就是允許片上性能分析功能監(jiān)測(cè)和發(fā)送摘要信息。例如,您并不需要在每次總線(xiàn)飽和時(shí)都對(duì)數(shù)據(jù)進(jìn)行跟蹤,只有當(dāng)數(shù)據(jù)的確需要跟蹤時(shí)才進(jìn)行逐條的跟蹤,這樣就可以只需要使用比較少的性能分析分區(qū)。
各級(jí)片上調(diào)試的協(xié)處理與交叉觸發(fā)—如果系統(tǒng)并不是在隔離的條件下工作,就不要采取調(diào)試方案??偩€(xiàn)與處理器運(yùn)行和性能間存在著正相關(guān)的關(guān)系,特別是相互依賴(lài)或完全同步的多內(nèi)核系統(tǒng)。在設(shè)計(jì)時(shí),系統(tǒng)級(jí)調(diào)試解決方案應(yīng)該支持其他儀器分區(qū)。
與其他調(diào)試器/驗(yàn)證工具的集成 —MIPS 處理器軟件工具鏈支持諸如二進(jìn)制指令到源代碼等調(diào)試功能。為了充分利用調(diào)試信息,儀器環(huán)境應(yīng)當(dāng)允許將跟蹤信息通過(guò)某些途徑引入調(diào)試器工具。同理,邏輯分析工具業(yè)應(yīng)該允許將邏輯跟蹤信息通過(guò)某些方法引入仿真工具,以便更簡(jiǎn)便地對(duì)實(shí)際邏輯信息和仿真邏輯信息進(jìn)行比較。
與內(nèi)部信號(hào)速度保持同步并保持合適的門(mén)大小— 您需要做的最后一件事是將調(diào)試分區(qū)添加到定時(shí)閉合功能中,或是采用另一個(gè)尺寸的芯片或封裝。調(diào)試儀器尺寸可能很小(在某些情況下只有幾千個(gè)門(mén)或更少)也可能很大,特別存在大量復(fù)雜觸發(fā)操作或大量跟蹤時(shí),OCI 應(yīng)與系統(tǒng)中的其他部分以同樣的速度運(yùn)行。
根據(jù)系統(tǒng)不同需要進(jìn)行配置——如果您只需要有限的調(diào)試能見(jiàn)度,就不需要一套“豪華”的調(diào)試解決方案了。反過(guò)來(lái),如果要進(jìn)行重大問(wèn)題的調(diào)試,就要采用更好的調(diào)試解決方案。調(diào)試解決方案應(yīng)該適應(yīng)開(kāi)發(fā)周期不同階段的不同需要—— 在原型和仿真器階段應(yīng)使用較大的調(diào)試方案,而在量產(chǎn)開(kāi)始階段則使用較小的調(diào)試方案 —在不同的產(chǎn)品生命周期里應(yīng)當(dāng)選擇相同的功能和接口,但是可以選擇較低的性能和較少的選項(xiàng)。
片上儀器不僅局限于IP — 能夠正確解讀所提供的調(diào)試信息非常重要,而具備一定的支持級(jí)別也是不可或缺的。大部分儀器 IP 的設(shè)計(jì)初衷是為了支持探針和調(diào)試電纜的工作。它們有專(zhuān)用的驅(qū)動(dòng)器和用來(lái)格式化,并實(shí)現(xiàn)硬件儀器和跟蹤、控制 GUI (圖3 就是一個(gè)例子)和命令行接口之間通信的API。在定制和集成的解決方案中,標(biāo)準(zhǔn)驅(qū)動(dòng)器和API 具備明顯的優(yōu)勢(shì)。例如,F(xiàn)S2 就在其儀器方工具中廣泛采用了 Tcl/Tk、MDI、XML和 Eclipse 等軟件標(biāo)準(zhǔn)。
結(jié)語(yǔ)
基于SoC 的復(fù)雜器件的測(cè)試和分析方法正在經(jīng)歷著巨大轉(zhuǎn)變,一些新型片上儀器正不斷成為整體解決方案的組成部分。像MIPS24K 這種具有OCP多功能總線(xiàn)的性能的處理器堪稱(chēng)片上分析能力中的典范,是那些領(lǐng)先的尖端數(shù)字平臺(tái)所必需的。
作為該技術(shù)前沿的領(lǐng)導(dǎo)廠商,F(xiàn)irst Silicon Solutions與 MIPS 科技公司自從1998年開(kāi)始緊密合作,為現(xiàn)有的MIPS內(nèi)核推出了最先進(jìn)的運(yùn)行控制與跟蹤工具。其導(dǎo)航器儀器產(chǎn)品增加了OCP總線(xiàn)分析功能,能夠?yàn)镸IPS 和其他OCP 兼容內(nèi)核提供更高水平的分析和嵌入式系統(tǒng)調(diào)試性能。First Silicon Solutions提供的調(diào)試功能支持所有MIPS兼容產(chǎn)品的跟蹤和領(lǐng)先的MIPS 調(diào)試器,它終將成為領(lǐng)先的片上儀器專(zhuān)家,根據(jù)客戶(hù)的特殊需求提供從片上儀器到SoC 調(diào)試和分析的全線(xiàn)解決方案。
評(píng)論