您好、欢迎来到现金彩票网!
当前位置:秒速牛牛 > 同步时分复用 >

SoC芯片中内部总线模块的设计

发布时间:2019-07-03 05:57 来源:未知 编辑:admin

  在芯片设计中,芯片内部总线的设计往往决定了芯片的性能、功耗与各模块设计的复杂度。我们设计总线往往会依据两方面的原则:一是芯片设计流程其内在的需求,二是所针对的应用对交换宽带、延时、效率、灵活性的需求。

  针对芯片总线设计流程内在的需求,高效总线结构设计通常遵循的基本原则包括:同步设计、可综合、无三态信号、低延时、单触发延、支持多主控及总线仲裁(支持

  CPU核)、高时钟频率独立性、支持突发(高效率)和低门数。遵循这些基本原则可以帮助我们规避很多设计上的风险,提高总线效率与IP复用度。当然,实际上述有些原则如“三态总线”,可以而且应当在某些应用中使用,只是不建议芯片及设计工程师轻易地突破这些规范,增加风险。南山之桥微电子公司在高端芯片设计中使用了三态总线技术来解决超宽总线的布线聚集与时序匹配问题。应用的需求往往会决定总线的形式,如SoC芯片中往往会采用嵌入式CPU的总线结构。反过来说,我们选用哪一款CPU,除了成本、性能、功耗、快速精确的时序仿真模型、编译环境和可用IP外,还有重要的一点就是其总线设计是否简单、高效与有利于发挥其它设计模块的效率。

  总之,AHB总线适宜于发挥CPU的效率,符合高效总线设计的原则,但是其本身也有总线位宽限制(主要是指令集位宽)与SPLIT(切分)选项支持的复杂度。在笔者参与的设计中有一半以上不支持SPLIT选项以降低设计与验证开销,限于篇幅在此不展开阐述。最主要的问题是SoC中CPU总线一般采用应答机制,也就是非实时的,数据的处理采用中断响应机制以发挥效率。处理特定实时数据并没有固定的延时与稳定的吞吐率,那么就需要设计一个模块来处理实时数据到非实时总线之间的平滑过度问题。笔者以此模块设计为例,阐述非实时总线中实时数据切换的设计理念与几个实用技术。例子中实时数据传递采用TDM总线形式(Ti

  信号的输入与输出,另一端是AHB总线,音频数据的输入/输出,通常采用帧结构TDM形式(见图1)。其中,sp_io_xclk代表音频数据采样时钟,sp_io_xfs代表帧同步头,下面两行分别是输出与输入数据。可见,这是一个含帧格式的多通道时分实时数据传输格式。关于AMBA总线,有大量介绍资料,此处不赘述。

  在这个模块的设计中,我们考虑了以下几个原则:平滑匹配数据传输速度、低延时与低资源占用(逻辑与存储

  线宽带、提高CPU处理效率、可靠性与错误处理、可控性与可观性。最基本的思路是:采用FIFO(先入先出)技术暨队列来缓冲数据传输,同时要尽量少缓存数据在队列中,以满足低延时与低资源的占用;同时采用AHB burst模式提高总线利用带宽;最后,还要提供寄存器读写来控制传输参数与状态存储,采用AHB从控模式(Slave)。初步的设计结构如图2。DMA技术的使用时机

  这看起来是无解的矛盾,我们可以采用DMA(Direct Memory Access,直接存储读写)技术解决。一般SoC芯片都有外接DDR/S

  RAM传输实时数据,而不用频繁地中断CPU,实质上是把片内缓存的需求转移到了片外(假设总线带宽足够),既降低了队列长度又降低了中断CPU的频率,从而解决了这一对矛盾。DMA技术实质上也是模块主动掌握总线主动权,要求采用AHB总线主控模式,最终框架结构会变成图3所示。

  DSP算法,经常采用64拍有限滤波器处理大于16ms的回响拖尾。另一些高度压缩算法(如以有限激励参数模型为基础的算法)要求对更长的音频片断做处理。所以从算法的角度,SoC系统的音频处理延时理论下限为多算法处理单元的最大值。我们只要保证DMA的传输数据延时小于这个下限就可以了,这样就充分利用了SoC系统的最小延时,进而计算DMA片断的长度也有了依据。回到队列长度的计算上,我们现在只需要考虑TDM模块得到AHB总线使用权之间的间隙与TDM数据输入的速度差的最坏值就可以了。

  在实际应用中,我们常常发现帧格式中很多时分信道并没有音频数据,这时就要采用时分掩码来屏蔽这些信道以阻止无效数据占用带宽。问题是时分信通中是否有数据是动态变化的,动态变化的数据要求时分掩码参数也要动态分配。但是怎么切换呢?这里采用“影子寄存器”技术,原理是两套寄存器,一套参数应用于当前帧,另一套应用于下一帧。利用帧同步头的一个时钟周期实时切换。而SoC中的CPU只看到一套寄存器地址,同时配置行为本身放宽了实时要求的限制,实时切换由TDM模块完成,具体

  rmark(高水线)”与“low-watermark(低水线)”技术,在队列接近满与空状态发生前提前预警。预警通常反映了芯片系统中的一些设计问题与当时电压波动、干扰、局部高温等瞬间问题,这时预警信号通常用最高/次高优先级中断发生。ARM CPU本身支持高优先级中断,而我们的队列长度计算现在要重新计算,加上高优先级处理这一段时间,具体的响应时钟周期,读者请查阅相应CPU手册,这也是评价嵌入式CPU与实时操作系统(RTOS)的一项指标。

  队列深度=最长AHB总线获得间隔×TDM输入速率+ARM最长中断响应时间×TDM输入速率

  我们在TDM模块简要设计中,阐述了结合各种基本技术,如从缓存队列到DMA到影子寄存器到动态分配到watermark与利用DSP算法特性,AHB总线特性、帧同步特性以及RTOS特性解决非实时与实时交换、CPU效率与资源占用、延时与DMA配置与动态切换的矛盾,追求最优解决方案的过程与设计思路。

  TMS320VC5501(5501)定点数字信号处理器(DSP)基于TMS320C55xDSP生成CPU处理器内核。 C55xDSP架构通过增加并行性和全面关注降低功耗来实现高性能和低功耗。 CPU支持内部总线结构,该结构由一个程序总线,三个数据读总线,两个数据写总线以及专用于外设和DMA活动的附加总线组成。这些总线能够在一个周期内执行最多三次数据读取和两次数据写入。并行,DMA控制器可以独立于CPU活动执行数据传输。 C55xCPU提供两个乘法累加(MAC)单元,每个单元能够进行17位×17位乘法运算。单循环。额外的16位ALU支持中央40位算术/逻辑单元(ALU)。 ALU的使用受指令集控制,提供优化并行活动和功耗的能力。这些资源在C55x CPU的地址单元(AU)和数据单元(DU)中进行管理。 C55x DSP代支持可变字节宽度指令集,以提高代码密度。指令单元(IU)从内部或外部存储器执行32位程序提取,并为程序单元(PU)排队指令。程序单元解码指令,将任务指向AU和DU资源,并管理完全受保护的管道。预测分支功能可避免执行条件指令时的管道刷新。 5501外设...

http://acpeo.com/tongbushifenfuyong/396.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有