TMS320C6X DSP结构与测试方法研究
摘要:本文简要介绍了DSP发展历程和基本特点,阐述了TMS320C6X的基本功能及结构特点,对TMS320C6X的测试原理和测试方法进行了研究和探索。
关键词:TMS320C6X DSP;结构;测试
1. 前言
数字信号处理器(DSP,Digital Signal Processor)芯片,是专门为快速实现各种数字信号处理算法而设计的,具有特殊结构,进行高速实时处理的专用微处理器,其处理速度要比最快的CPU还快10-50倍。DSP典型的特征是每个处理周期能够处理多条乘加操作,具有实时运算能力和实时的仿真能力和实时的模拟能力,具有很强的通用性、很高的可靠性,造价低廉。
随着信息技术革命的深入和计算机技术的飞速发展,数字信号处理技术已经逐渐发展成为一门关键的技术学科。业内人士预言,DSP将是未来集成电路中发展最快的电子产品,并成为电子产品更新换代的决定因素。
2. DSP的发展及应用
1982年,世界诞生了首枚商用DSP芯片TMS32010,它每秒能处理500万个指令(5 MIPS)。 80年代中期,基于CMOS技术的第二代芯片TMS320C20、TMS320C25 DSP也应运而生,它的存储容量和运算速度都成倍地提高,成了图像、语音处理的基础芯片。
90年代是DSP发展最为迅猛的时期,这主要表现在运算速度进一步加快,集成度进一步提高,功能越来越强大,应用领域越来越广泛。1988年TI公司推出首款浮点DSP—TMS320C3X,1989年推出业界性能最高的定点DSP产品—TMS320C5X,1990年又推出第二代DSP架构的浮点DSP产品—TMS320C4X,1996年又推出TMS320F240。TMS320C6X是TI公司90年代中后期的最新一代DSP产品,它们是定点、浮点兼容的DSP序列, TI公司的C6X浮点DSPC6713,250MHz,浮点性能1.3GFLOPS;2003年,美国TI公司最高性能的定点DSP TMS320C6416上市,主频达720MHz,定点运算性能达6760MIPS。
整个全球DSP供应商主要是几家美国公司,他们是德州仪器(TI)、朗讯、模拟器件公司(ADI)、摩托罗拉等等。其中TI处于绝对领先的地位,占据了整个市场份额的45%,其余几家美国公司所占份额分别是28%、12%、12%,而其他国家的企业只占到3%。
目前,在微电子技术发展的带动下,DSP芯片的发展日新月异,功能日益强大,性价比不断上升。在当今的数字化时代背景下,DSP已成为通信、计算机、消费类电子产品等领域的基础器件,涉及Modem、无线通信、硬盘驱动器、音频视频、图象处理、语音识别、机顶盒、汽车、工业控制、航海、航天等诸多领域。据统计,世界上每两个数字蜂窝电话就有一个采用TI的DSP芯片,全球90%的硬盘和33%的Modem都采用TI的DSP技术。
未来10年,全球DSP产品将向着高性能、低功耗、加强融合和拓展多种应用的趋势发展,DSP芯片将成为各种电子产品尤其是通信类电子产品的技术核心。据TI预测,到2010年,DSP芯片的集成度将会增加11倍,在单个芯片内将能集成5亿只晶体管。目前,对DSP爆炸性需求的时代已经来临,前景十分可观。
3. DSP结构及TMS320C6X的主要特点
DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP 指令,可以用来快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下的一些主要特点:
(1) 在一个指令周期内可完成一次乘法和一次加法;
(2) 程序和数据空间分开,可以同时访问指令和数据;
(3) 片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
(4) 具有低开销或无开销循环及跳转的硬件支持;
(5) 快速的中断处理和硬件I/O支持;
(6) 具有在单周期内操作的多个硬件地址产生器。
C6X结构主体是超长指令字(VLIW)体系结构的CPU,包含8个独立功能单元、32个32位寄存器、4通道DMA、1M位片内存储器,每秒种可执行1G以上次浮点运算。
C6X从整体上可分为CPU核心、片上外设和存储器三个部分。CPU核心由取指单元、指令派发单元、译码单元、控制寄存器、寄存器文件、L单元、S单元、M单元、D单元、中断控制单元、仿真控制单元和Cache控制器组成。CPU包含8个并行的处理单元,分为相同的两组,每组由4个基本功能单元组成。片上外设划分为外部存储接口(EMIF)、增强的DMA(EDMA)、主机接口(HPI)、串口、定时器、启动配置块、L2控制器、电源管理模块、PLL产生器和中断选择子等部件。锁相环(PLL)可以对输入时钟进行不同的倍频处理,见图1。
C6X DSP与以前TI公司或其它公司的产品相比,有如下显著特点:
● 体系结构采用VLIW,片内八个并行处理单元,包括两个乘法器和六个算术逻辑单元,分为相同的两组。单个指令字长32位,八个指令组成一个指令包,总长度8×32位=256位。芯片内部设置了专门的指令分配模块,可以将每个256位的指令包,同时分配到8个处理单元并由8个单元同时进行。
● 采用加载/存储体系结构,数据在多个处理单元之间的传输靠32位通用寄存器,存储器寻址范围4G(32位)。
● 32位外部存储器接口,包括直接同步存储器接口,可与同步动态存储器(DRAM)、同步突发静态存储器(SBRAM)连接;C6X可方便地配置不同速度、不同容量、不同复杂程度的存储器。
● TMS320C6X的指令集可进行字节寻址,获得8位/16位/32位数据,可提高存储器的利用率;指令集中的所有指令都是有条件执行指令,可以根据条件决定是否执行。
● 具有灵活的锁相环路时钟产生器(×1,×2,×4),可以对50MHz输入时钟进行不同的倍频处理。双通信道自加载DMA协处理器用于数据的DMA传输。
● 16位宿主机接口,可以配置为宿主DSP的加速器,兼容IEEE1149.1 JTAG。功耗低,使用DSP核的省电形式可以降低功耗,LOAD/STORE 结构, 具有非常复杂的多级流水线。
4.TMS320C6X DSP的功能测试步骤
C6X DSP主要功能测试步骤有初始化、主机接口测试、RAM、ROM的测试、Cache测试、指令控制与执行测试、CPU核心功能及其他功能测试等。
(1)初始化
测试必须从各个节点都是已知的状态开始,因此C6X电路中采用同步复位信号,使所有电路内部节点在经过合理的时钟周期后变为已知的状态。特殊情况下可采用“迭代”未知状态的方法,如没有整体清零的多级移位寄存器,可以初始第一级寄存器,或输入保持在固定的电平,通过时钟将此状态传至各个寄存器而达到“迭代”的目的。
(2)主机接口(HPI)测试
HPI读写自身寄存器测试,HPI控制下的L2<—>EDMA<—>EMIF通路测试。HPI自举测试,搬移程序到L2 cache,然后唤醒CPU,CPU自举后,执行该程序。同时,HPI进行自身传输模式的测试。
(3)ROM、RAM测试
锁相环直通模式下ROM自举,S单元ROM测试,测试S单元两个ROM的内容。RAM中数据总线可采用测试总线的方法,RAM、ROM的地址可以写格林码再读取,保证地址译码部分无故障。如果RAM处于内部很深,必须使用类似扫描测试技术来提供数据至RAM,并通过可靠的途径输出其数据。
(4)Cache测试
联合测试一级程序Cache 、一级数据Cache 和二级Cache的基本功能,测试取指和块作废的基本功能,测试指令Cache的替换,测试体作废协议的基本功能正确性,测试L2 全部Clean 和部分Clean时对L1P的影响。
(5)指令控制与执行测试
测试取指、指令派发和指令执行的基本流程,通过三态缓冲器,采用测试总线控制器,测试总线的存取和总线上的反馈。
(6)CPU核心功能测试
测试涉及四个功能单元全部指令、寄存器文件、特殊测试码,桶形移位器测试,包括:四个功能单元的各种定点、浮点指令组合;寄存器文件bypass通路和基本功能测试;全定制桶形移位器对各种移位操作的处理;资源利用、Cache(L1P,L1D)及其控制寄存器、控制机制、跳转、STALL、NOPS、IDLE、中断相互作用等三个方面的特殊测试码。
(7)其他功能
EDMA功能测试,测试EDMA、EMIF及二级Cache的基本数据通路和各种模式的采取操作。McBSP功能测试,测试串行发送数据的不同模式。断点调试功能测试,测试对CPU流水线加断点的控制功能。
5. TMS320C6X DSP测试的关键和难点
C6X DSP其一般指令和译码在用户手册中都可查到,测试主要关键和难点都集中于其功能测试。由于其主频达150MHz以上,首先必须设计高频、高密度DUT(Device Under Test)接口板,同时要采取信号线等长、线间地线屏蔽等多种措施,消除信号串扰问题;其次必须深入理解其流水线结构,并行处理方式及扫描通道测试。
(1)先进的流水线结构测试
C6X DSP采用流水线结构,使得指令高效执行,有利于编程、调试、电路的应用开发。先进的三级扩展流水线结构可以实现高速的运算处理,实现高级的指令算法,实现模块功能重用以及并行处理。
流水线分为“取指(fetch)——译码(decode)——执行(execute)”三个阶段,其中“取指”又可以细分为“程序地址产生(program address generate) ——程序地址发送 (program address send ) ——程序空间访问等待(program access ready wait) ——程序取指接收 (program fetch packet receive)”四个(或更多)节拍, “译码”可以细分为两个(或多个)节拍,“执行”则可以细分为五到十个节拍。
C6X DSP具有高命中率Catch访问技术, 可以有效提升系统整体性能. 专门优化的总线接口用于高速的 Cache ,内核得以全速运行。
高效中断处理,采用隐子寄存器技术和硬件堆栈结构,单周期即可恢复中断前状态,减少了若干个通常形式中断处理周期,极大提高中断处理效率。寻址部件、寻找方式高度灵活,大大减小了流水线的冲突概率。
(2)复杂的并行处理方式
C6X DSP采用并行处理流水线的LOAD/STORE结构,可以在一个时钟周期执行8条指令,同时系统结构为大量的并行处理服务。
C6X DSP 具有先进的多总线结构, 具有独立的程序空间, 独立的数据空间寻址能力。高速总线用于连接高性能系统模块, 支持突发数据传送方式及单个数据传送方式 , 低速总线为低性能的外围部件提供较简单的接口, 高速/低速总线的应用, 满足不同外设的需求。
C6X DSP采用了150M以上的高速片内总线接口,总线上可挂DMA,复杂外设,模拟器件,可进行多级中断处理。
(3)扫描通道测试
标准的可测性设计方法认为电路是一组组合逻辑电路与边沿触发存储元件相互连接的结构,电路中对存储单元作些修改使之串行移位寄存器方式工作,即将整个电路连接成一个串行移位寄存器——扫描通道。
在测试模块中,足够的时钟周期使一组测试数据送至扫描通道的每个存储单元而更新原来的状态,在一个时钟周期内,使电路处于正常工作模式,同时,将测试数据施于所有的组合逻辑电路块。
扫描通道的主要优点是自动生成测试码,缺点是大大增加芯片面积,数据通道上额外的多路选择器使电路的某些性能降低。
C6X DSP提供典型的ICE(In-Circuit Emulator)调试工具, 能够设计断点和观察点, 检查并修改处理器和系统的状态, 观察处理器在感兴趣点活动的轨迹。
C6X DSP目标系统与主机之间通过扩展的扫描测试端口(如: JTAG) 的功能来实现通信,利用C6XDSP扫描测试引脚,通过这些引脚可以访问芯片内部各个模块,测试硬件不需要额外的专用引脚, 在主机通信口与目标的扫描端口之间使用专用的实时信息交换协议。C6X DSP有专用的实时跟踪模块的设计, 使得对测试程序的调试成为可能。系统的运行将产生巨大的接口状态信息, 将这些信息从芯片取出需要大量的引脚, 高效的跟踪压缩技术能够减小接口带宽,但需要巨大的串行接口测试向量深度。
6. 结论
本文介绍的TMS320C6X的内部结构和流水线执行方式、指令的执行方式和输出结果,以及测试的方法、难点等内容,将对该电路的实际测试编程及仿真器调试有极大的帮助。无锡中微腾芯电子有限公司作为中电58所控股子公司及下属测试事业部,在CPU、DSP等高端集成电路测试方面,具有较强的技术基础和量产能力,已成功开发了C2X、C3X、C5X、C6X、CF240、CF206、AD2106X、80X86等系列电路的测试程序,得到了国内相关客户认可,也在实际工作中发挥了很好的作用。
作者简介
陆锋:上海交通大学毕业,研究员,硕士生导师,中微腾芯公司总经理,长期从事技术工作与管理工作,在集成电路设计、制造、测试等方面,具有较丰富的工作经验。
武乾文:电子科技大学毕业,高级工程师,中微腾芯公司副总经理,长期从事测试开发工作,多次荣获国家、省部级等科技进步奖项。
注:本文所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
上一篇:浅议智能家居控制系统
下一篇:电能计量自动化终端维护处理方法