如何采用开放式芯片协议(OCP)总线的跟踪仪器与架构?
扫描二维码
随时随地手机看文章
MIPS 科技公司携手其他业内领先的嵌入式处理器与 IP 开发商,决定共同采用开放式芯片协议(OCP)插槽作为标准化供应商进行片上总线集成的中立方法。本文将就总线级片上仪器(OCI)和支持基于OCP 系统的分析工具进行详尽讨论。
基于 OCP 的总线可进行多种高带宽操作,在基本数据传输的基础上添加了许多新的特性和功能。这些新性能包括专用总线命令模式、脉冲操作、多数据标签以及用于增加跟踪信号数量的扩展能力。附录中列出的 MIPS24K OCP 接口就是这类产品的典型。除了提供基本地址寻址和数据操作的总线接口信号外,OCP 还提供多种可选信号,以调用专用处理器的特定强化功能,如数据排列、脉冲及多线程运行等功能。
采用 OCP 这类先进总线架构的另一个好处是,它能够更有效地协调内部大量集成内核的复杂工作。分析因素包括对给定OCP 接口提出特定的问题,以及片上子系统性能等更受全球关注的问题。这些问题涵盖诸如理解和优化传输效率、延迟、饱和、资源冲突和其他操作选项等可能对处理器元件的性能和运行产生直接影响等因素
虽然仿真是开发流程的重要环节,但无论是在原型还是在系统级验证阶段,对硬件本身状况进行分析也是同样重要的环节,而最终产品本身的硬件分析就更加重要了。在大多数情况下,诸如硬件内嵌入式总线在信息分析中所遇到的问题通常是能见度难题 —— 您很难确定自己看不到的问题。使用传统的 JTAG 扫描通常很难解决这个能见度难题,其原因在于:
由于总线运行的多周期性,在一个总线运行周期内有些信号会在不同时段变得非常活跃,调试工具应当进行连续的跟踪,而不是单个周期的瞬态图;
总线运行问题牵涉到至少两个通信时钟(如处理器和存储器外设)。传统的调试方法,如暂停部分系统进行测试可能会带来变化并引入新的变量,从而干预测试环节和过程;
如果问题是间歇性和少量的,那么追踪操作就应当采用触发模式,如实时捕获有重要意义的总线周期信息。
目前广泛采用的具有调试功能的嵌入式OCP 总线方法是在设计中添加片上仪器(OCI),以改善子系统接口的能见度。OCI 实际上是一个专门用来高效跟踪嵌入式信号的IP 子系统。它既不通过 JTAG 端口进行缓冲,也不通过专门的测试端口流到您的 PC 上以供观看。 OCI 能够提供成功的嵌入式设计所必需的高效跟踪功能,广泛应用于调试、嵌入式处理器运行控制和逻辑分析。OCI 解决方案能够解决片上总线分析中 SoC 的特定问题,并为非可见的总线接口提供强大的调试能见度。最近OCI 解决方案已开始面市。
显示的是一个基本的多内核架构(双处理器、存储器接口和采用通用片上总线的定制化IP)和几类可使该子系统更加简化,并可提高调试效率的可添加仪器。图1 详尽列出了本文探讨的重点——总线监测与跟踪仪器的组成部分,其他支持或补充的仪器分区可以包含在处理器和逻辑分析调试的地址中。
调试仪器的功能基本可划分为两个主要类型:
·专门用于进行调试控制、支持特定处理器和其他内核的系统内分析分区;
·支持跟踪和任何用户定义信号的更为通用的逻辑分析器分区。
总线分析通常用来处理用于通用逻辑分析的同类仪器,也能执行总线架构和协议专用信号信息的线上处理和后处理。应当强调的是,图中所示的所有仪器都与单个 JTAG 流程链关系紧密,因此需要通过定制的JTAG 控制器接口进行访问。通过同样的JTAG 接口还能够访问边界扫描和其他传统的JTAG 功能。
处理器内核的系统内分析器(ISA)分区能够为处理器提供特定的运行控制、触发硬/软件断点监测及实时跟踪指令和数据等操作。
FS2 ISA-MIPS 能够执行以下典型的处理器调试子系统操作:
·JTAG 内核的启动、停止、断点和单步执行;
·无限制的软件断点;
·多达15个硬件事件/断点;
·基于指令执行、存储、IO操作、地址值或地址范围、操作码类型或级别的触发操作;
·每个周期高达64 位的实时跟踪;
·执行分支跟踪信息的跟踪;
·采用指令码和执行显示的调试器。
为了最有效地利用跟踪信息,ISA 通常会采用分支跟踪信息等压缩技术,这样就能够使ISA 集中处理指令中断,从而减少所消耗的存储器资源。跟踪信息可以与GDB等调试器软件工具流程链紧密集成,实现更好的源代码分析和相关性。只要设计和资源运用得当,单个ISA 分区内就能集成不止一个内核(给定类型),并可作为多内核系统调试中的共享资源。
在大多数设计中,处理器只是需要进行系统分析的若干子系统之一。在特殊应用的协处理器、存储控制器、外设及其他功能的设计中都包含逻辑分区。逻辑与处理器IP 在调试要求上有几个重要区别。
逻辑导航器是First Silicon SolutiONs公司开发的一个通用JTAG 兼容逻辑分析器的仪器,其主要功能包括:
·负责监测和跟踪合成过程中选取的所有用户定义信号;
·64K跟踪周期中支持高达256 个信号(采用片上 RAM);
·门受限的应用的跟踪范围最小可达1个信号×64 个周期;
·任何跟踪信号和外部触发边缘或水平的组合或连续触发;
·基于状态的顺序触发器和基于仪器分区资源的计数器触发;
·同步化多仪器的可选时间戳记 ~ 制定单周期或扩展时间跟踪的时间戳记,可以设置长达48位;
包含一个可通过JTAG 端口进行调试控制的JTAG 控制通用寄存器。
FS2 总线导航器等片上总线分析器能够为总线运行提供定制化逻辑分析仪器操作。总线分析有两种典型的操作形式 —— 接口跟踪重要信号的形式(OCP 插槽)或总线结构内的跟踪形式。OCP具有插槽级跟踪能力,能够跟踪从每个总线主控路由到总线导航器的输入多工器的信号。既能一次对一个总线主控进行跟踪,又能根据特定应用需求对所有总线主控中选定的信号进行跟踪。
总线导航器还能确定诸如给定设计的边带和可选信号的数据字的大小和数量,以确定合成过程中RTL 操作的参数,从而实现给定设计的定制化跟踪。
总线导航器还可像用于基于OCP 状态的处理器调试操作的低延迟触发那样,为MIPS调试分区提供直接交叉触发接口分区。同样,处理器输出也能够用于总线仪器的可选输出信号,在处理器操作的基础上实现总线启动和停止的低延迟触发。[!--empirenews.page--]
为了支持流水线总线操作,给定周期的跟踪同步、排列指令和响应部分都以单个周期显示。这种总线跟踪查看方式能够更直观地显示软件分析中的触发与跟踪。
该仪器减少了总线跟踪的闲置的和“没有准备”的周期,保存了对RAM 资源的跟踪,使跟踪过程更便于读取,而时间戳记则确保系统与其他调试操作的同步。
操作得当的话,片上仪器能在芯片产品设计的整个生命周期内直观、有效地改善设计的易测性、可维护性和可分析性。要实现片上调试功能,要求设计人员在硬件验证过程中懂得如何运用调试工具,同时考虑在给定的解决方案中如何将仪器解决方案集成到设计中。
用户可用到的功能包括:
灵活的片上触发、跟踪和性能分析 —当大量数据通过基于总线的OCP时,只有某些数据才有用,重要的是访问您所需要的信号。其中一种分析方法就是允许片上性能分析功能监测和发送摘要信息。例如,您并不需要在每次总线饱和时都对数据进行跟踪,只有当数据的确需要跟踪时才进行逐条的跟踪,这样就可以只需要使用比较少的性能分析分区。
各级片上调试的协处理与交叉触发—如果系统并不是在隔离的条件下工作,就不要采取调试方案。总线与处理器运行和性能间存在着正相关的关系,特别是相互依赖或完全同步的多内核系统。在设计时,系统级调试解决方案应该支持其他仪器分区。
与其他调试器/验证工具的集成 —MIPS 处理器软件工具链支持诸如二进制指令到源代码等调试功能。为了充分利用调试信息,仪器环境应当允许将跟踪信息通过某些途径引入调试器工具。同理,逻辑分析工具业应该允许将逻辑跟踪信息通过某些方法引入仿真工具,以便更简便地对实际逻辑信息和仿真逻辑信息进行比较。
与内部信号速度保持同步并保持合适的门大小— 您需要做的最后一件事是将调试分区添加到定时闭合功能中,或是采用另一个尺寸的芯片或封装。调试仪器尺寸可能很小(在某些情况下只有几千个门或更少)也可能很大,特别存在大量复杂触发操作或大量跟踪时,OCI 应与系统中的其他部分以同样的速度运行。
根据系统不同需要进行配置——如果您只需要有限的调试能见度,就不需要一套“豪华”的调试解决方案了。反过来,如果要进行重大问题的调试,就要采用更好的调试解决方案。调试解决方案应该适应开发周期不同阶段的不同需要—— 在原型和仿真器阶段应使用较大的调试方案,而在量产开始阶段则使用较小的调试方案 —在不同的产品生命周期里应当选择相同的功能和接口,但是可以选择较低的性能和较少的选项。
片上仪器不仅局限于IP — 能够正确解读所提供的调试信息非常重要,而具备一定的支持级别也是不可或缺的。大部分仪器 IP 的设计初衷是为了支持探针和调试电缆的工作。它们有专用的驱动器和用来格式化,并实现硬件仪器和跟踪、控制 GUI (图3 就是一个例子)和命令行接口之间通信的API。在定制和集成的解决方案中,标准驱动器和API 具备明显的优势。例如,FS2 就在其仪器方工具中广泛采用了 Tcl/Tk、MDI、XML和 Eclipse 等软件标准。
结语
基于SoC 的复杂器件的测试和分析方法正在经历着巨大转变,一些新型片上仪器正不断成为整体解决方案的组成部分。像MIPS24K 这种具有OCP多功能总线的性能的处理器堪称片上分析能力中的典范,是那些领先的尖端数字平台所必需的。