0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

芯片DFX:Coresight架构

jf_EksNQtU6 来源:TrustZone 2023-11-05 17:04 次阅读

最近接触到了一些产线的Test的东西,然后发现这里面有一些DFX的相关东西。

之前在梳理整个安全领域全景图的时候,也提到了调试安全。

林林种种原因让我打算来学习一下DFX相关的内容,那自然就绕不开Coresight。

今天就一起来看看Coresight吧,最近喜欢上了画图来整理自己的思路。

缩略词

CoreSight Soc-400一个完整的调试和跟踪解决方案,包括如下组件:

•控制和接入组件:

•DAP(Debug Access Port):用来连接外部硬件调试工具的物理接口,允许外部调试工具访问芯片CPU、CoreSight、DDR等。

•ECT(Embedded Cross Trigger)

•跟踪数据源:跟踪源是CoreSight中用于产生跟踪信息的组件。每个跟踪源组件都会产生一种格式的信息,最终可以组合在一起并且通过跟踪链接到输出端口

• PTM(Program Trace Macrocell):监控处理器运行状况,将处理器执行过的指令信息进行压缩传输。

• STM(System Trace Macrocell):捕捉系统的事件信息并以获取数据跟踪形式传输到跟踪漏斗或跟踪输出组件。

•ETM(Embedded Trace Macrocell):监控处理器运行状况,将处理器执行过的指令信息进行压缩传输。跟踪指令执行、数据搬运、PE(Processing Element)事件。

•连接:

• Synchronous 1:1 ATB bridge:

• Replicator:可以把单个输入复用到两个分支输出,可以使得CoreSight系统跟踪信息同时传输到两个或多个输出。

• Trace Funnel:把CoreSight系统中多个跟踪源产生的信息组合在一起并以单个流输出到高级跟踪总线ATB。Funnel之间可以级联,一个Funnel最多可以支持6个跟踪源信息输入。

•跟踪输出节点:

• ETR(Embedded Trace Router):把跟踪数据存储到调试目标平台的系统内存上,存储系统内存空间是可配置的。

•ETF(Embedded Trace FIFO):主要是缓冲数据的输出,尤其当当量数据在瞬间产生式,通过ETF可以平滑数据的输出速率。缓存可以被配置为FIFO或Circular Buffer;FIFO满了之后就会反压,源头停止输出跟踪数据;Circular Buffer满了后则会覆盖。

• TPIU(Trace Port Interface Unit):把捕捉到的数据导出到外部调试适配器,如DSTREAM。

• ETB(Embedded Trace Buffer):是芯片内一块RAM,用来存储捕捉到的跟踪信息。可以通过DAP访问存储在ETB中的数据。

• TMC(Trace Memory Controller):在芯片设计时可配置,配置成ETB时跟上面介绍的ETB功能一致。还可以配置成ETR和ETF。

时间戳组件:产生CoreSight或处理器所需的时间戳。通过Narrow timestamp replicator分发到多个目的设备。路径:时间戳发生器->时间戳编码器->Narrow timestamp replicator->时间戳解码器->CPU/CTI等。

•时间戳发生器

•时间戳编码器

•时间戳解码器

•AMBA AHB跟踪宏单元(HTM)

•调试访问接口(DAP),

嵌入式交叉触发器(ECT),

•AMBA跟踪总线(ATB),

•桥和复制器(replicator),

•跟踪聚合器(funnel),

•跟踪端口接口单元(TPIU),

•嵌入式跟踪缓冲器(ETB),

•测量跟踪宏单元(ITM/STM)

更详细的可以阅读【ARM:CoreSight、ETM、PTM、ITM、HTM、ETB等常用术语解析】

一、coresight

coresight是ARM公司提出的,用于对复杂的SOC,实现debug和trace的架构。该架构,包含了多个coresight组件。众多的coresight组件,构成了一个coresight系统。

我们也可以根据coresight架构,实现自己的coresight组件。

每个coresight的组件(component),都要遵循coresight架构的要求。

1、 典型的一个coresight的环境

以下是一个典型的coresight环境,包含了两个ARM core,一个DSP,和众多的coresight组件。

这个coresight组件,实现对core,DSP的debug和trace功能。

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

环境中,总共包括3个通路

• trace通路:将core和DSP内部信息输出到外部

• debug通路:对core和DSP实现debug

• trigger通路:用于core和core之间,core和DSP之间,传输trigger信号

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

1.1、trace通路

trace通路,实现对master组件的数据追踪功能,使用ETM来追踪。

•ETM负责追踪处理器和DSP的信息,将信息打包,通过ATB总线发送到trace bus上。

• trace bus上有trace funnel,funnel接收多个ATB总线数据,然后合并成一个ATB总线数据,发送给replicator。

• replicator接收到ATB数据,根据配置,将ATB数据发送给ETB和TPIU。

1.2、debug的通路

debug通路,用于外部的debugger,对ARM core和DSP进行调试功能。

上图中,只考虑了JTAG的port。其实还有SW的port。

DAP接收外部端口的JTAG数据,然后转化成对DAP内部的AP的访问,然后AP再转化为memory-mapped的总线访问,去访问soc内部的资源。

上图中,DAP输出两个memory-mapped总线,

•一个是debug apb总线,连接到debug APB互联上,用于访问debug组件的寄存器

•一个是system bus,连接到bus matrix,用于访问soc的内部的资源。

debug APB互联,连接了有CTI,ETM,HTM,ITM,ETB,TPIU等coresight组件,因此外部的debugger可以通过JTAG port,对这些coresight组件进行访问。

bus matrix一般是连接soc的一些外设,如memory,串口等,因此外部的debugger可以通过JTAG port对这些外设设备进行访问。

1.3、trigger通路

trigger通路,用于给指定的组件发送trigger信号,或者接收指定的组件的trigger信号。

这个功能由CTI和CTM来实现。

CoreSight交叉触发接口(CTI)是一种硬件设备,它将被称为触发器的单个输入和输出硬件信号带到设备和从设备输出,并通过交叉触发矩阵(CTM)将它们通过编号信道互连到其他设备,以便在设备之间传播事件。

每个core和DSP都有一个CTI组件相连,CTI可以给处理器(DSP)发送trigger信号,也可以接收处理器(DSP)的trigger信号。

所有的CTI和CTM相连,因此可以实现多个CTI之间的trigger信号的相互发送与接收。

2、coresight组件的种类

2.1、control component

trigger的coresight组件

•ECT(embedded cross trigger)

• CTI(cross trigger interface):接收和发送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):追踪总线互联上的trace信息

2.3、trace links

trace信息传递过程中所需要的中间coresight组件:

•trace funnel : 将接收的多个ATB总线数据合并成一个ATB总线数据

•replicator: 将一个ATB总线数据,分发成多个ATB总线数据发送

•ATB bridge: ATB 桥,用于两个不同的ATB域之间数据传输

2.4、trace sinks

最终接收trace信息的coresight组件

• TPIU(trace port interface units):将ATB数据通过trace port发送给外界

• ETB(embedded trace buffers):存储ATB数据的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数据,然后转化为对AP的访问,而对AP的访问,是可以发起memory-mapped的访问。因此就可以对内部的资源进行访问。

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

如上图:DAP包括了三个AP

• APB-AP:对挂接到debug APB总线上的内部调试设备的访问

• AHB-AP:对挂载在AHB系统总线上的设备的访问

• JTAG-AP:对JTAG设备的访问。这个是兼容以前较早的ARM处理器,如ARM9。这些较早的处理器内部是用JTAG来调试的。但是现在的ARM处理器,已经不用这种方式,统一用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发送的JTAG或SW数据,转化为对内部AP的访问。经过decoder模块,判断是对哪一个AP进行访问,然后将访问信息发送给对应的AP。

AP接收到DP的访问后,转化为对应的总线访问,去访问内部资源。

然后将访问的信息,才回送给DP,DP再通过JTAG或SW,将访问信息返回给外部的debugger。

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

以上就是本文全部内容,希望看完能对coresight有一个宏观了解。

文章来源:TrustZone

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    19334

    浏览量

    230186
  • 芯片
    +关注

    关注

    456

    文章

    50919

    浏览量

    424583
  • 编码器
    +关注

    关注

    45

    文章

    3647

    浏览量

    134731
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10876

    浏览量

    212126

原文标题:2、coresight组件的种类

文章出处:【微信号:谈思实验室,微信公众号:谈思实验室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是DFX威廉希尔官方网站 ?DFX设计一定要执行设计规则检查吗?

    DFX(Dynamic Function eXchange)的前身是PR(部分可重配置,Partial Reconfiguration)。
    的头像 发表于 09-21 09:21 7478次阅读
    什么是<b class='flag-5'>DFX</b>威廉希尔官方网站
?<b class='flag-5'>DFX</b>设计一定要执行设计规则检查吗?

    芯片DFXCoresight的寄存器一览

    coresight对于每个coresight组件,规定了一些寄存器,这些寄存器的偏移是固定的,这些寄存器,是必须存在的。但是有的,可以不实现该寄存器功能。
    的头像 发表于 11-02 11:45 1165次阅读
    <b class='flag-5'>芯片</b><b class='flag-5'>DFX</b>:<b class='flag-5'>Coresight</b>的寄存器一览

    采用UltraScale/UltraScale+芯片DFX设计注意事项

    采用UltraScale/UltraScale+芯片进行DFX设计时,建议从以下角度对设计进行检查。
    的头像 发表于 01-18 09:27 939次阅读
    采用UltraScale/UltraScale+<b class='flag-5'>芯片</b>的<b class='flag-5'>DFX</b>设计注意事项

    ARM调试CoreSight、ETM、PTM、ITM、HTM、ETB等常用术语解析

    `[/url] CoreSightCoreSight CoreSight 是一种基础架构,它可对完整的芯片上系统 (SoC) 设计的性能进行调试、监视和优化,CoreSight™ 跟踪
    发表于 10-13 09:26

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

    CoreSightCoreSight CoreSight是一种基础架构,它可对完整的芯片上系统 (SoC) 设计的性能进行调试、监视和优化,CoreSight™ 跟踪宏单元在 SoC
    发表于 07-16 06:20

    CoreSight性能监控单元架构

    本手册介绍了标准性能监测单元(PMU)。PMU主要由监视器组成测量部件特性的。 监视器通常是对组件生成的事件进行计数的事件计数器。(为了PMU架构,周期计数器是对周期事件进行计数的事件计数器。)该
    发表于 08-09 07:20

    ACPI for CoreSight™性能监控单元架构1.0平台设计文档

    本文档规定了ACPI对Arm系统中性能监测单元(PMU)支持的描述,该系统由实现CoreSight性能监测单元架构的组件组成
    发表于 08-11 06:43

    Arm CoreSight ETM-M33威廉希尔官方网站 参考手册

    。 有关CoreSight的更多信息,请参阅ARM®CoreSight架构规范v2.0和ARM®CoreSight™威廉希尔官方网站 系统设计指南。 有关ETM
    发表于 08-17 06:24

    Arm CoreSight SoC-600威廉希尔官方网站 参考手册

    可以是复杂的多处理器和包括许多异类处理器的多集群设计。 ·支持ARM调试接口(ADI)v6和CoreSight™v3架构,使您能够在系统中构建调试和跟踪功能。 它支持在现有功能接口上进行调试和跟踪
    发表于 08-17 07:45

    PCB板DFX工艺性要求

    PCB板DFX工艺性要求PCB板DFX工艺性要求
    发表于 07-26 16:29 0次下载

    简述DFX理念与产品研发(一)

    随着市场竞争的日益激烈,产品低价格、高质量、交货周期短已成趋势,在电子制造业中,躺着赚钱的日子一去不返,越来越多的企业开始重视DFX,然而DFX如何快速融入企业及产品开发中呢? 传统的产品开发与生产
    的头像 发表于 09-28 16:01 3243次阅读

    简要分析DFX实施流程

    整体的流程和架构DFX的各个方面相互独立又相互影响,比如产品的可制造性(DFM)会影响着可装配性(DFA),可靠性设计(DFR)对DFM、DFA有相应的约束和要求,而这些都会对DFC造成直接的影响,所以,要站在产品整体的角度进行DFX
    的头像 发表于 09-28 16:14 3689次阅读

    2021华为开发者大会亮点 HarmonyOS架构演进与关键威廉希尔官方网站 -HarmonyOS对DFX能力的要求是什么

    2021华为开发者大会亮点 HarmonyOS架构演进与关键威廉希尔官方网站 -HarmonyOS对DFX能力的要求是什么 HarmonyOS对DFX能力的要求是什么?我们来看看在2021华为开发者大会上
    的头像 发表于 10-23 11:31 2582次阅读
    2021华为开发者大会亮点 HarmonyOS<b class='flag-5'>架构</b>演进与关键威廉希尔官方网站
-HarmonyOS对<b class='flag-5'>DFX</b>能力的要求是什么

    来讲讲与工具密切配合的CoreSight

    通过这些组件的组合和配置,CoreSight可以实现对复杂SoC的debug和trace功能。开发人员可以使用调试工具链来访问和处理CoreSight生成的跟踪数据,以进行故障排除、性能优化、安全分析等操作。
    的头像 发表于 10-30 17:54 2220次阅读
    来讲讲与工具密切配合的<b class='flag-5'>CoreSight</b>

    DFX可制造性设计与组装威廉希尔官方网站

    今天分享是《DFX可制造性设计与组装威廉希尔官方网站 》 资料
    的头像 发表于 12-11 11:10 854次阅读
    <b class='flag-5'>DFX</b>可制造性设计与组装威廉希尔官方网站