HDTV_SoC集成芯片的总线设计与验证.doc_第1页
HDTV_SoC集成芯片的总线设计与验证.doc_第2页
HDTV_SoC集成芯片的总线设计与验证.doc_第3页
HDTV_SoC集成芯片的总线设计与验证.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一种基于AMBA的HDTV SoC总线设计方案闻 彬,沈 泊(复旦大学 专用集成电路与系统国家重点实验室,上海 200433)摘 要:提出了一种适合于HDTV SOC的AMBA总线设计方案,并对整个架构进行了详细的验证;实践证明,AMBA总线非常适用于HDTV SOC系统;与用硬件描述语言构建的测试平台相比,软硬件协同的验证方法不但有更高的仿真覆盖率,而且更加高效省时。关键词 : HDTV SOC;AMBA总线;软硬件协同验证 中图分类号:TN 492;TN 949.17 文献标识码:ABus Design and Verification for HDTV SoCWEN Bin, SHEN Bo(State Key Laboratory of ASIC & System, Fudan University, Shanghai 200433, China)Abstract: An AMBA based bus architecture suitable for HDTV SOC and an efficient verification methodology are presented. It is proven that AMBA bus is well suitable for HDTV SOC. Compared with writing testbench using HDL language, the HW/SW co-verification methodology has higher coverage and simulates more efficiently. Keywords: HDTV SOC;AMBA;HW/SW co-verification1 引言高清晰度数字电视(HDTV)是数字技术在电视领域里的应用,其主要优点在于能实现无失真的传输,并能充分利用有限的频谱资源,为用户提供高质量的影音服务。HDTV已经成为电视技术的发展趋势,HDTV SOC集成芯片设计作为其核心技术,成为当今研究的热点。HDTV SOC集成芯片的性能不但取决于系统中的各个模块,而且越来越依赖于总线架构的设计。总线为系统中的各个模块提供有效的通信,通信的效率会在很大程度上影响整个系统的性能。此外,系统的大部分功耗也集中在总线上。可见,选择恰当的总线架构,是非常重要的。HDTV SOC集成芯片对总线的具体要求是:(1)为了减少芯片面积,总线的结构要尽量简单。(2)为了提高总线的速度,时序要尽量简单。(3)支持burst传输模式,进一步提高总线速度。目前常用的片上总线有3种:Coreconnect,Wishbone和AMBA1总线。这3种总线都支持burst操作,其中Coreconnect总线由高速总线和低速总线组成,其结构和时序都比较复杂,适用于工作站等复杂系统的设计;Wishbone总线结构简单而且非常灵活,很多总线参数都由用户自定义,支持多种通信模式,几乎适用于所有系统的设计,没有针对性。但因为没有高速总线和低速总线之分,导致总线效率大大下降。使用多个Wishbone总线时,又没有规范的桥接模块的定义;AMBA总线不但结构和时序都很简单,而且非常规范,高速总线AHB(the Advanced High-performance Bus)和低速总线APB(the Advanced Peripheral Bus)以及二者之间的桥接模块,都有严格的定义,非常适用于HDTV这种中等复杂度的系统的设计。本文给出了HDTV SOC系统的AMBA架构解决方案,分析了各个部分的带宽占用情况,并且在文章的后半部分重点介绍了AMBA总线的验证方法。2 HDTV SOC概述基于AMBA总线的HDTV SOC系统4如图1所示。整个系统采用双CPU结构:其中系统CPU(SYSTEM CPU)运行操作系统(OS)和中间件(Middle Ware),并负责对整个系统进行主控和调度。另一个CPU,即音频CPU(AUDIO CPU),负责音频的解码。解复用器TSD(Transport Stream Demux)的主要任务是将TS流(Transport Stream)中的音频流和视频流分开。其中的音频流通过总线送往外部32 bit SDRAM,视频流直接送往视频解码器VD(Video Decoder)进行解码。音频流由AUDIO CPU解码后,通过PCM OUT 和AUDIO DA CTRL传至音箱输出。视频流由VD解码后,暂存在专用的64 bit SDRAM里,而后通过视频格式变换器VTP(Video Translation Processor)处理后,由VIDEO DA CTRL传至电视屏幕输出。 屏幕显示模块OSD (On Screen Display)用来显示一些屏幕操作菜单或者小型游戏画面,可以和VTP的输出信号混合后一起输出到电视屏幕上。VTP可以同时输出高清(HDTV)和标清(SDTV)两组视频信号,所以此芯片架构可以适应于高清和标清两种数字电视系统中,具有很高的灵活性。另外,由DMAC模块控制各片内缓存以及USB等外设与外部32 bit SDRAM之间的数据传送。图1 基于AMBA总线的HDTV SOC系统3 适合HDTV SOC的AMBA总线设计31 主设备与从设备在高速总线AHB总线上有3个主设备:SYSTEM CPU,AUDIO CPU和DMAC。8个从设备:MEMORY CONTROLLER,AHB-APB BRIDGE,TSD,VD,VTP,MIX,OSD,PCM OUT 。在任一时刻,总线只能被一个主设备占用。所以,任何一个主设备都必须向总线仲裁器发出请求信号,由仲裁器授权后,才可获得总线使用权。被授权的主设备再通过中央译码器选中一个从设备,从而建立了一个一对一的实际通道。为了简化设计,HRESP作为握手信号只保留了OKAY和ERROR两种状态。对低速总线APB总线而言,AHB-APB BRIDGE是其唯一的主设备,USB,INTC,TIMER,UART等低速模块均为从设备。APB总线的时序要比AHB总线简单许多,只保留了最基本的地址信号、数据信号和控制信号,没有握手信号。32 央译码器与仲裁器中央译码器的任务是将高位地址信号翻译成从设备的片选信号,以选中指定的从设备。译码器采用简单的组合电路以提高响应速度。为提高操作系统的可移植性,可根据操作系统中给从设备分配的地址对译码器进行设计。图2 总线移交的流程仲裁器的作用是判决由哪一个主设备占用总线。图2是通过总线仲裁实现总线使用权移交的流程图。假设当前的总线被主设备A占用,如果主设备A锁住总线,则仲裁器不进行新的仲裁。如果主设备A没有锁住总线或主设备A给总线解锁后,则仲裁器根据既定的仲裁算法进行新的仲裁。设仲裁的结果是,主设备B目前的优先级最高。此时仲裁器不会立即将总线移交给主设备B,还需继续观察。如果主设备A此时进行的是BURST操作,则必须等待BURST操作结束,仲裁器才能将总线使用权授予主设备B,即通知主设备B其将要获得总线的使用权。如果主设备A此时的操作不是BURST操作,则仲裁器直接将总线使用权授予主设备B。此后等待直至HREADY信号有效,仲裁器才最终将总线移交给主设备B。在HDTV SOC系统中,仲裁器采用固定优先级算法,此算法的优点是电路结构简单,并且已经可以满足本设计的需要。3个主设备的优先级从高到低依次为:DMAC,AUDIO CPU和SYSTEM CPU。SYSTEM CPU的优先级最低,且为默认主设备,在没有主设备申请总线的时候,系统将总线移交给SYSTEM CPU。DMAC的优先级最高,系统启动后,由SYSTEM CPU对各模块进行初始化,并在适当的时候启动DMAC,按照一定的顺序完成各种DMA操作。而AUDIO CPU的优先级则位于两者之间。33 桥接模块桥接模块AHB-APB BRIDGE负责AHB和APB总线之间的通信,其状态图如图3所示。IDLE是开始时的默认状态,当读操作发生时,在下一个时钟转移到SETUP状态。SETUP状态下,PSELx信号被启动,一个时钟后,无条件地转移到ENABLE状态。ENABLE状态下,启动PENABLE信号,一个时钟后,若有读操作(写操作)发生,则直接转至SETUP状态,若无数据传输操作,则返回IDLE状态。写操作的过程和读操作相似,不同之处在于鉴于AHB总线上写操作的地址信号先于数据信号一个时钟周期,在处理时必须先将两个信号对齐,所以写操作多了一个PRE_SETUP状态。由于AHB总线图3 AHB-APB BRIDGE的状态图上的信号采用流水线结构,数据的传输在一个时钟内就可以完成,而APB总线没有流水线操作,数据的传输需要两个时钟,所以每次传输都需要在SETUP状态中将HREADY信号拉低一次,让AHB总线等待一个周期,以保持两种总线的同步。34 带宽分析视频解码部分(VD和VTP)对内存的访问过于频繁,如果直接接入AHB总线共享内存空间会大量占用总线带宽,导致系统不能正常运行。为此,给VD和VTP分配了专用的内存。这样,对带宽需求最大的视频解码部分有自己的专用内存,不占用总线的带宽;SYSTEM CPU有自带的cache缓存器,可以大大减少对内存的访问次数,假设SYSTEM CPU的工作频率为100 MHz,数据线为32 bit,对cache的命中率为90,那么SYSTEM CPU对总线带宽的最大需求应为:100 M/s(32/8)B1040 MB/s;而音频相关的部分对总线带宽的需求很小,以立体声192 KHz、16 bit高保真音频为例,所需带宽也只有800 KB/s,AUDIO CUP写内存所需带宽和PCM OUT相同,而读内存的带宽(等于TSD写内存的带宽)远远小于写内存,音频相关的总带宽需求不大于2MB/s;OSD是菜单显示模块,整个菜单的背景和框架是静态图象,变化的只有一些简单的字符和光标位置,而且OSD有自己的视频缓冲区,所以对总线带宽的需求更小,可以忽略。因此,整个系统对总线带宽的需求不过50MB/s。假设总线频率为133 MHz,总线位宽为32 bit,对内存的访问效率为60,那么能够提供的带宽为:133 M/s(32/8)B60 319.2 MB/s。可见,单层的AHB总线完全可以满足HDTV SOC系统的需要。4 总线的验证方法 图4 测试平台验证的主要内容是各模块的接口是否符合AMBA规范,以及各模块之间能否正常通信,完成整个系统的工作。本设计采用软硬件协同的验证方法。实践证明,用单纯的硬件描述语言构建测试环境,很难准确地仿真复杂的时序。而软硬件协同的验证方法,可以准确地模仿总线上发生的事件2。图5 验证流程如图4所示,测试平台由SYSTEM CPU,SDRAM模型(其中映射有测试程序),译码器,仲裁器和AHB总线构成。在测试各个模块之前,必须首先保证测试平台的正确性。SYSTEM CPU使用的是标准模块,SDRAM模型结构比较简单,不容易出错。验证的重点是SYSTEM CPU和SDRAM模型的AHB接口3部分。需要验证的特征有:(1)读操作(2)写操作(3)burst读操作(4)burst写操作(5)读写交替的操作(6)对握手信号的验证。以上的6个特征分别对应6个不同的测试程序,每个测试程序验证其中的一个特征。通过了这6个特征以后,基本上就可以确保SYSTEM CPU和SDRAM模型的AHB接口的正确性。平台上的译码器和仲裁器,用穷举的方法进行初步的验证。这种验证的方法能够验证译码器和仲裁器的功能,但不能验证二者的时序,更加完备的验证在后面会提到。APB总线的验证比AHB总线简单,只需要验证(1)(2)(5)三个特征。验证的整个流程如图5所示。首先构建如图4所示的测试平台,并对测试平台进行比较完备的验证。如果平台未通过验证,就修改平台的代码,直到通过为止。测试平台通过验证后,就可以测试其他模块了。所有被测模块(包括主设备和从设备)的AHB接口,都可以通过前面提到的6个程序来验证。首先测试从设备(或者说各个模块的从接口),从设备逐一通过验证后,将所有从设备都接入平台,构成一个单主设备(SYSTEM CPU)多从设备系统,用一段相应的程序可以再次验证译码器,使译码器的验证更加完备。然后测试主设备(或者说各个模块的主接口),主设备逐一通过验证后,将所有主设备都接入平台,构成一个单从设备(SDRAM模型)多主设备系统,用一段相应的程序可以再次验证仲裁器,使仲裁器的验证更加完备。最后将所有的从设备和主设备都接入平台,构成一个完整的HDTV系统,在其上运行完整的操作系统,应用软件以及真实的TS流,进行最后的验证。图6是SYSTEM CPU对UART的一个初始化过程:SYSTEM CPU先从SDRAM模型中读取程序,再对UART的各个寄存器进行赋值。这一初始化过程可以验证UART模块的写操作。事实证明,这种软硬件协同的验证方法是非常有效的,与用硬件描述语言构建的测试平台相比,软硬件协同的验证方法不但有更高的仿真覆盖率,而且更加高效省时。 图6 UART写操作的验证5 结论提出了一种基于单层AMBA总线的HDTV SOC设计方案,并用软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论