0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

芯片DFX:Coresight架構

jf_EksNQtU6 ? 來源:TrustZone ? 2023-11-05 17:04 ? 次閱讀

最近接觸到了一些產線的Test的東西,然后發(fā)現(xiàn)這里面有一些DFX的相關東西。

之前在梳理整個安全領域全景圖的時候,也提到了調試安全。

林林種種原因讓我打算來學習一下DFX相關的內容,那自然就繞不開Coresight。

今天就一起來看看Coresight吧,最近喜歡上了畫圖來整理自己的思路。

縮略詞

CoreSight Soc-400一個完整的調試和跟蹤解決方案,包括如下組件:

?控制和接入組件:

?DAP(Debug Access Port):用來連接外部硬件調試工具的物理接口,允許外部調試工具訪問芯片CPU、CoreSight、DDR等。

?ECT(Embedded Cross Trigger)

?跟蹤數(shù)據(jù)源:跟蹤源是CoreSight中用于產生跟蹤信息的組件。每個跟蹤源組件都會產生一種格式的信息,最終可以組合在一起并且通過跟蹤鏈接到輸出端口。

? PTM(Program Trace Macrocell):監(jiān)控處理器運行狀況,將處理器執(zhí)行過的指令信息進行壓縮傳輸。

? STM(System Trace Macrocell):捕捉系統(tǒng)的事件信息并以獲取數(shù)據(jù)跟蹤形式傳輸?shù)礁櫬┒坊蚋欇敵鼋M件。

?ETM(Embedded Trace Macrocell):監(jiān)控處理器運行狀況,將處理器執(zhí)行過的指令信息進行壓縮傳輸。跟蹤指令執(zhí)行、數(shù)據(jù)搬運、PE(Processing Element)事件。

?連接:

? Synchronous 1:1 ATB bridge:

? Replicator:可以把單個輸入復用到兩個分支輸出,可以使得CoreSight系統(tǒng)跟蹤信息同時傳輸?shù)絻蓚€或多個輸出。

? Trace Funnel:把CoreSight系統(tǒng)中多個跟蹤源產生的信息組合在一起并以單個流輸出到高級跟蹤總線ATB。Funnel之間可以級聯(lián),一個Funnel最多可以支持6個跟蹤源信息輸入。

?跟蹤輸出節(jié)點:

? ETR(Embedded Trace Router):把跟蹤數(shù)據(jù)存儲到調試目標平臺的系統(tǒng)內存上,存儲系統(tǒng)內存空間是可配置的。

?ETF(Embedded Trace FIFO):主要是緩沖數(shù)據(jù)的輸出,尤其當當量數(shù)據(jù)在瞬間產生式,通過ETF可以平滑數(shù)據(jù)的輸出速率。緩存可以被配置為FIFO或Circular Buffer;FIFO滿了之后就會反壓,源頭停止輸出跟蹤數(shù)據(jù);Circular Buffer滿了后則會覆蓋。

? TPIU(Trace Port Interface Unit):把捕捉到的數(shù)據(jù)導出到外部調試適配器,如DSTREAM。

? ETB(Embedded Trace Buffer):是芯片內一塊RAM,用來存儲捕捉到的跟蹤信息。可以通過DAP訪問存儲在ETB中的數(shù)據(jù)。

? TMC(Trace Memory Controller):在芯片設計時可配置,配置成ETB時跟上面介紹的ETB功能一致。還可以配置成ETR和ETF。

時間戳組件:產生CoreSight或處理器所需的時間戳。通過Narrow timestamp replicator分發(fā)到多個目的設備。路徑:時間戳發(fā)生器->時間戳編碼器->Narrow timestamp replicator->時間戳解碼器->CPU/CTI等。

?時間戳發(fā)生器

?時間戳編碼器

?時間戳解碼器

?AMBA AHB跟蹤宏單元(HTM)

?調試訪問接口(DAP),

?嵌入式交叉觸發(fā)器(ECT),

?AMBA跟蹤總線(ATB),

?橋和復制器(replicator),

?跟蹤聚合器(funnel),

?跟蹤端口接口單元(TPIU),

?嵌入式跟蹤緩沖器(ETB),

?測量跟蹤宏單元(ITM/STM)

更詳細的可以閱讀【ARM:CoreSight、ETM、PTM、ITM、HTM、ETB等常用術語解析】

一、coresight

coresight是ARM公司提出的,用于對復雜的SOC,實現(xiàn)debug和trace的架構。該架構,包含了多個coresight組件。眾多的coresight組件,構成了一個coresight系統(tǒng)。

我們也可以根據(jù)coresight架構,實現(xiàn)自己的coresight組件。

每個coresight的組件(component),都要遵循coresight架構的要求。

1、 典型的一個coresight的環(huán)境

以下是一個典型的coresight環(huán)境,包含了兩個ARM core,一個DSP,和眾多的coresight組件。

這個coresight組件,實現(xiàn)對core,DSP的debug和trace功能。

cee83b4e-7af9-11ee-939d-92fbcf53809c.png

環(huán)境中,總共包括3個通路

? trace通路:將core和DSP內部信息輸出到外部

? debug通路:對core和DSP實現(xiàn)debug

? trigger通路:用于core和core之間,core和DSP之間,傳輸trigger信號

cf0db04a-7af9-11ee-939d-92fbcf53809c.png

1.1、trace通路

trace通路,實現(xiàn)對master組件的數(shù)據(jù)追蹤功能,使用ETM來追蹤。

?ETM負責追蹤處理器和DSP的信息,將信息打包,通過ATB總線發(fā)送到trace bus上。

? trace bus上有trace funnel,funnel接收多個ATB總線數(shù)據(jù),然后合并成一個ATB總線數(shù)據(jù),發(fā)送給replicator。

? replicator接收到ATB數(shù)據(jù),根據(jù)配置,將ATB數(shù)據(jù)發(fā)送給ETB和TPIU。

1.2、debug的通路

debug通路,用于外部的debugger,對ARM core和DSP進行調試功能。

上圖中,只考慮了JTAG的port。其實還有SW的port。

DAP接收外部端口的JTAG數(shù)據(jù),然后轉化成對DAP內部的AP的訪問,然后AP再轉化為memory-mapped的總線訪問,去訪問soc內部的資源。

上圖中,DAP輸出兩個memory-mapped總線,

?一個是debug apb總線,連接到debug APB互聯(lián)上,用于訪問debug組件的寄存器,

?一個是system bus,連接到bus matrix,用于訪問soc的內部的資源。

debug APB互聯(lián),連接了有CTI,ETM,HTM,ITM,ETB,TPIU等coresight組件,因此外部的debugger可以通過JTAG port,對這些coresight組件進行訪問。

bus matrix一般是連接soc的一些外設,如memory,串口等,因此外部的debugger可以通過JTAG port對這些外設設備進行訪問。

1.3、trigger通路

trigger通路,用于給指定的組件發(fā)送trigger信號,或者接收指定的組件的trigger信號。

這個功能由CTI和CTM來實現(xiàn)。

CoreSight交叉觸發(fā)接口(CTI)是一種硬件設備,它將被稱為觸發(fā)器的單個輸入和輸出硬件信號帶到設備和從設備輸出,并通過交叉觸發(fā)矩陣(CTM)將它們通過編號信道互連到其他設備,以便在設備之間傳播事件。

每個core和DSP都有一個CTI組件相連,CTI可以給處理器(DSP)發(fā)送trigger信號,也可以接收處理器(DSP)的trigger信號。

所有的CTI和CTM相連,因此可以實現(xiàn)多個CTI之間的trigger信號的相互發(fā)送與接收。

2、coresight組件的種類

2.1、control component

trigger的coresight組件

?ECT(embedded cross trigger)

? CTI(cross trigger interface):接收和發(fā)送trigger信號

? CTM(cross trigger matrix):CTI之間的trigger信號傳遞

2.2、trace sources

trace的coresight組件:

? ETM(embedded trace macrocells):追蹤指定設備(處理器,DSP)的trace信息,每個設備(處理器,DSP)均有自己的ETM。

? AMBA trace macrocells:追蹤AMBA總線的trace信息。

? PTM(program flow trace macrocells):

? STM(system trace macrocells):追蹤總線互聯(lián)上的trace信息

2.3、trace links

trace信息傳遞過程中所需要的中間coresight組件:

?trace funnel : 將接收的多個ATB總線數(shù)據(jù)合并成一個ATB總線數(shù)據(jù)

?replicator: 將一個ATB總線數(shù)據(jù),分發(fā)成多個ATB總線數(shù)據(jù)發(fā)送

?ATB bridge: ATB 橋,用于兩個不同的ATB域之間數(shù)據(jù)傳輸

2.4、trace sinks

最終接收trace信息的coresight組件

? TPIU(trace port interface units):將ATB數(shù)據(jù)通過trace port發(fā)送給外界

? ETB(embedded trace buffers):存儲ATB數(shù)據(jù)的buffer

? TMC(trace memory controller):

每個trace sink可以有一個trace formatter。

2.5、debug access port

DAP不屬于coresight的組件,但是我們會通過DAP來對coresight的組件進行訪問。DAP包括以下:

?APB access port(APB-AP)

?AHB access port(AHB-AP)

?AXI access port(AXI-AP)

?JTAG access port(JTAG-AP)

?serial wire JTAG debug port(SWJ-DP)

?JTAG debug port(JTAG-DP)

?ROM table

DAP主要是由DP和AP組件。DP負責接收外部的JTAG或SW數(shù)據(jù),然后轉化為對AP的訪問,而對AP的訪問,是可以發(fā)起memory-mapped的訪問。因此就可以對內部的資源進行訪問。

cf2c1b34-7af9-11ee-939d-92fbcf53809c.png

如上圖:DAP包括了三個AP

? APB-AP:對掛接到debug APB總線上的內部調試設備的訪問

? AHB-AP:對掛載在AHB系統(tǒng)總線上的設備的訪問

? JTAG-AP:對JTAG設備的訪問。這個是兼容以前較早的ARM處理器,如ARM9。這些較早的處理器內部是用JTAG來調試的。但是現(xiàn)在的ARM處理器,已經不用這種方式,統(tǒng)一用memory-mapped方式進行調試。

目前的ARM soc中,一般至少會包括一個DAP。而一個DAP可以包括1-256個AP(access port),AP受DP的控制。

只有對AP的訪問,才可以轉化成memory-mapped總線,對soc的內部資源進行訪問。

memory-mapped bus通常指的是將設備的寄存器映射到內存地址空間中,使得CPU可以通過讀取和寫入這些內存地址來訪問和操作這些設備。這種方式使得CPU可以像訪問內存一樣訪問這些設備,簡化了設備的訪問和控制方式。

DP中有一個SELECT寄存器,該寄存器用來選擇,DP對AP的訪問,是針對于哪一個AP進行訪問。

DAP中,是可以有多個AP的,而每次,只能對一個AP進行訪問。因為需要對AP進行編號,編號的值就在APSEL位域中。因為這個位域有8位,因此DAP中可以最多有256個AP。

cf4351fa-7af9-11ee-939d-92fbcf53809c.png

DAP的內部結構如下圖:

包括了一個DP,和3個AP,依次是AHB-AP,APB-AP,JTAG-AP。

DP通過JTAG或者SW管腳,連接外部的debugger,和外部debugger進行通信

DP接收到外部debugger發(fā)送的JTAG或SW數(shù)據(jù),轉化為對內部AP的訪問。經過decoder模塊,判斷是對哪一個AP進行訪問,然后將訪問信息發(fā)送給對應的AP。

AP接收到DP的訪問后,轉化為對應的總線訪問,去訪問內部資源。

然后將訪問的信息,才回送給DP,DP再通過JTAG或SW,將訪問信息返回給外部的debugger。

cf5b136c-7af9-11ee-939d-92fbcf53809c.png

以上就是本文全部內容,希望看完能對coresight有一個宏觀了解。

文章來源:TrustZone

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19103

    瀏覽量

    228824
  • 芯片
    +關注

    關注

    452

    文章

    50221

    瀏覽量

    420968
  • 編碼器
    +關注

    關注

    45

    文章

    3574

    瀏覽量

    133985
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10807

    瀏覽量

    210850

原文標題:2、coresight組件的種類

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    什么是DFX技術?DFX設計一定要執(zhí)行設計規(guī)則檢查嗎?

    DFX(Dynamic Function eXchange)的前身是PR(部分可重配置,Partial Reconfiguration)。
    的頭像 發(fā)表于 09-21 09:21 ?7028次閱讀
    什么是<b class='flag-5'>DFX</b>技術?<b class='flag-5'>DFX</b>設計一定要執(zhí)行設計規(guī)則檢查嗎?

    芯片DFXCoresight的寄存器一覽

    coresight對于每個coresight組件,規(guī)定了一些寄存器,這些寄存器的偏移是固定的,這些寄存器,是必須存在的。但是有的,可以不實現(xiàn)該寄存器功能。
    的頭像 發(fā)表于 11-02 11:45 ?1031次閱讀
    <b class='flag-5'>芯片</b><b class='flag-5'>DFX</b>:<b class='flag-5'>Coresight</b>的寄存器一覽

    采用UltraScale/UltraScale+芯片DFX設計注意事項

    采用UltraScale/UltraScale+芯片進行DFX設計時,建議從以下角度對設計進行檢查。
    的頭像 發(fā)表于 01-18 09:27 ?840次閱讀
    采用UltraScale/UltraScale+<b class='flag-5'>芯片</b>的<b class='flag-5'>DFX</b>設計注意事項

    ARM調試CoreSight、ETM、PTM、ITM、HTM、ETB等常用術語解析

    `[/url] CoreSightCoreSight CoreSight 是一種基礎架構,它可對完整的芯片上系統(tǒng) (SoC) 設計的性能進行調試、監(jiān)視和優(yōu)化,CoreSight? 跟蹤
    發(fā)表于 10-13 09:26

    CoreSight是什么?其功能有哪些?

    CoreSightCoreSight CoreSight是一種基礎架構,它可對完整的芯片上系統(tǒng) (SoC) 設計的性能進行調試、監(jiān)視和優(yōu)化,CoreSight? 跟蹤宏單元在 SoC
    發(fā)表于 07-16 06:20

    CoreSight性能監(jiān)控單元架構

    本手冊介紹了標準性能監(jiān)測單元(PMU)。PMU主要由監(jiān)視器組成測量部件特性的。 監(jiān)視器通常是對組件生成的事件進行計數(shù)的事件計數(shù)器。(為了PMU架構,周期計數(shù)器是對周期事件進行計數(shù)的事件計數(shù)器。)該
    發(fā)表于 08-09 07:20

    ACPI for CoreSight?性能監(jiān)控單元架構1.0平臺設計文檔

    本文檔規(guī)定了ACPI對Arm系統(tǒng)中性能監(jiān)測單元(PMU)支持的描述,該系統(tǒng)由實現(xiàn)CoreSight性能監(jiān)測單元架構的組件組成
    發(fā)表于 08-11 06:43

    Arm CoreSight ETM-M33技術參考手冊

    。 有關CoreSight的更多信息,請參閱ARM?CoreSight?架構規(guī)范v2.0和ARM?CoreSight?技術系統(tǒng)設計指南。 有關ETM
    發(fā)表于 08-17 06:24

    Arm CoreSight SoC-600技術參考手冊

    可以是復雜的多處理器和包括許多異類處理器的多集群設計。 ·支持ARM調試接口(ADI)v6和CoreSight?v3架構,使您能夠在系統(tǒng)中構建調試和跟蹤功能。 它支持在現(xiàn)有功能接口上進行調試和跟蹤
    發(fā)表于 08-17 07:45

    PCB板DFX工藝性要求

    PCB板DFX工藝性要求PCB板DFX工藝性要求
    發(fā)表于 07-26 16:29 ?0次下載

    簡述DFX理念與產品研發(fā)(一)

    隨著市場競爭的日益激烈,產品低價格、高質量、交貨周期短已成趨勢,在電子制造業(yè)中,躺著賺錢的日子一去不返,越來越多的企業(yè)開始重視DFX,然而DFX如何快速融入企業(yè)及產品開發(fā)中呢? 傳統(tǒng)的產品開發(fā)與生產
    的頭像 發(fā)表于 09-28 16:01 ?3159次閱讀

    簡要分析DFX實施流程

    整體的流程和架構DFX的各個方面相互獨立又相互影響,比如產品的可制造性(DFM)會影響著可裝配性(DFA),可靠性設計(DFR)對DFM、DFA有相應的約束和要求,而這些都會對DFC造成直接的影響,所以,要站在產品整體的角度進行DFX
    的頭像 發(fā)表于 09-28 16:14 ?3546次閱讀

    2021華為開發(fā)者大會亮點 HarmonyOS架構演進與關鍵技術-HarmonyOS對DFX能力的要求是什么

    2021華為開發(fā)者大會亮點 HarmonyOS架構演進與關鍵技術-HarmonyOS對DFX能力的要求是什么 HarmonyOS對DFX能力的要求是什么?我們來看看在2021華為開發(fā)者大會上
    的頭像 發(fā)表于 10-23 11:31 ?2524次閱讀
    2021華為開發(fā)者大會亮點 HarmonyOS<b class='flag-5'>架構</b>演進與關鍵技術-HarmonyOS對<b class='flag-5'>DFX</b>能力的要求是什么

    來講講與工具密切配合的CoreSight

    通過這些組件的組合和配置,CoreSight可以實現(xiàn)對復雜SoC的debug和trace功能。開發(fā)人員可以使用調試工具鏈來訪問和處理CoreSight生成的跟蹤數(shù)據(jù),以進行故障排除、性能優(yōu)化、安全分析等操作。
    的頭像 發(fā)表于 10-30 17:54 ?1988次閱讀
    來講講與工具密切配合的<b class='flag-5'>CoreSight</b>

    DFX可制造性設計與組裝技術

    今天分享是《DFX可制造性設計與組裝技術》 資料
    的頭像 發(fā)表于 12-11 11:10 ?788次閱讀
    <b class='flag-5'>DFX</b>可制造性設計與組裝技術