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