侵权投诉
当前位置:

OFweek电子工程网

可编程逻辑

正文

用SoC实现视频图形引擎功能的研究

导读: 目前,国际上几乎所有的半导体厂商及其相关领域的高科技公司都在进军SoC及其应用产品市场,像Atmel、Xilinx、Altera、Triscend、IDT、Genesis、Cygnal、Cypress等。

  引言

  目前,国际上几乎所有的半导体厂商及其相关领域的高科技公司都在进军SoC及其应用产品市场,像Atmel、Xilinx、Altera、Triscend、IDT、Genesis、Cygnal、Cypress等;而国内,由于在原来分立标准器件的IC设计时代处于落后的状况,因此迫切希望在IC设计的第3次革命来临的时期赶上来。但是由于国内基础薄弹,工艺线缺乏,目前所做的研究,以偏于理论性的研究和构架的居多,而实际研究经验相对较少。可编程匣可配置SoC技术的出现,使我们有机会进入构造芯片技术结构的领域。因此我们迫切要做的事就是,从事实际SoC应用产品的开发研制,进行电子信息产品核心SoC技术研制开发与实现。在这些研究实际工作中,逐步深入开展关于SoC的EDA工具算法研究与实现以及SoC核心技术IP的研究与实现。而目前可编程的SoC芯片及其开发平台都提供了较理想的SoC技术应用的开发工具套件。这些套件具有了一般的编译、仿真、调试及验证功能,同时还针对不同的应用,提供了丰富的IP软核。因此,借助这些工具和芯片所提供的技术和方法,可很容易进入SoC设计的应用领域。同时,系统集成可以说是SoC设计的真正意义所在和主要设计瓶颈。因此,我们针对实际应用的设计策略是,一开始就从系统方面考虑(当然在真正的SoC设计中必须考虑很多工艺集成的问题,但主要可以靠IP及代工支持来完成),进行一些实际SoC应用项目设计研究探索。

  1 SoC平台的概念及意义

  SoC设计最主要的一个支撑技术是超深亚微米IC设计技术。可以说,它具有专用集成电路ASIC设计的复杂程度,但又和ASIC不完全一样。它是以超深亚微米IC设计技术为基础,是建立在超深亚微米IC设计技术上的系统级设计,是从半导体工程师到电子系统整机工程师的转手。要实现这一转变,就必须要有SoC平台和EDA的支持(并且现在合同外包,代加工业发展迅速,IP新经济模式等无不顺应了这一转变需求)。

  我们要想快速地进入SoC设计行业就必须从这两个角度入手。目前,SoC平台主要有CSOC、SOPC、EPGA等。为了进一步明确SoC平台的概念,有必要首先搞清楚SoC的内涵和外延。我们知道,SoC的内涵和外延很自然地必须包括:实现复杂系统功能的VLSI;采用超深亚微米工艺技术;使用1个或数个嵌入式CPU或DSP;具有外部对芯片编程的能力。根据这些基本的外延,很自然地可得到SoC平台的一些概念。其中CSOC称为可配置系统级芯片,一般包括1个处理内核、可编程逻辑阵列和其它一些通用组成部件。其应用主要以芯核为主。SOPC则可以是全部的虚据点核加上FPGA模块,像Altera的NIOS内核模块,而EPGA则是以FPGA为主的SoC平台。这3者都符合SoC的外延概念。都可以说是SoC的开发设计平台。这一市场中竞争的公司主要包括:Atmel、Quicklogic、Chameleon、Altera、Xilinx和Lucent等。利用这些现有的SoC平台,SoC芯片不仅可以具有灵活编程的优点,同时又具备系统芯片集成度高和价格低廉的优势。表现为:缩短开发的周期,减少开发费用;避免成本高昂的掩膜变更为重新投片;实现基于平台的设计;允许设计人员快速、低成本适应标准的变化、或增加面向特定或应用定制的功能块;在制造和质量控制过程中,允许软硬件验证协同进行;允许采用同一套掩膜设计多个不同功能的产品;允许将风险较大的元件设计到EPGA中,让某些功能在设计完成后才予以定型;在生产阶段改变产品特性或功能以延长产品寿命;容许在低端标准芯片中集成高端标准FPGA的功能,从而获得高利润。这种基于平台的设计,可以使设计人员仅仅通过制造工艺与内核的接口来局部地关心制造工艺,而对内核予以更多的关注。软硬件的协同可编程性,可以使设计人员更关注内核功能的设计,如对内核接口进行标记,而不必关注制造工艺和硬件诊断,这就更符合系统设计的目标和要求。

  过去,SoC项目设计必须需要20人以上的工程师团阶,而现在由于软件工具和半导体技术,以及各个大公司所做的工作,使我们可以用一个很精简的团阶进行SoC设计;而且SoC设计一般都是基于FPGA、微处理器和存储器结构的,使得我们完全可以在SoC平台上进行SoC的初步设计。

  2 研究开展

  根据现有的IC设计水平和基础设施以及资金情况,必须很好地规划我们的SoC设计策略。就研究的形式而言,首先必须是基于平台的SoC设计,其次必须是应用引导为主的SoC设计,再次必须是多芯核片上总线的SoC设计,最后必须是以专用技术核心为主的IP式SoC设计。在研究过程中,必须利用好自己专用化的原有技术,达到满足自己系统要求的目标;同时结合实际项目的研究,根据“Today‘s PCB is tomorrow ASIC.”的经验,借鉴PCB时代的系统集成设计概念,进行SoC系统集成的研究实践。也就是说,首先是一个以系统集成应用的研究为主,然后逐步摸索SoC及EDA设计方法学和深化开展自主IP技术的过程中。而就研究的工程管理来说,有必要结合SoC的新概念设计,进行实际应用的再工程设计过程和比较性设计。这几点都是在进行SoC研究计划中所考虑的因素。

  3 方案具体组成

  根据前面平台设计的概念,我们采用的SoC为初步定型产品XA10。它具恶JTAG接口、PLL时钟、UART接口、计数器、看门狗、扩展存储器接口、中断控制器、调试测试跟踪器、256KB皂SRAM、128KB皂DPRAM、APEX20K多芯FPGA嚓錫及ARM922T核处理器等。初始皂系统芯片构成如图1所示。

  

  由于塔SoC设计时,很多时候是一个算法与芯片结构、软硬件结合的系统设计,因此,完全有必要针对视频图形引擎的应用,结合逻辑组成框图来讨论这一问题。在视频流处理中,数据传输和处理是两个影响性能的关键部分(在视频图形引擎中,数据处理主要是图形数据产生,而很少涉及浮点数的图形处理,因此又可以分为视频图形显示控制、绘图填表充数据产生和传输数据)。

  在我们的SoS方案中,将控制、状态处理采用基于ARM922T的实时操作系统来构成。也就是说,对于输入、输出等相关逻辑控制采用软件实现,绘图的最高一级也采用软件实现,这样不仅可以完全避开浮点运算的要求,而且还可以充分利用32位RISC处理器的高效率,提高整个视频图形引擎的性能,同时也使产品成本和竞争力得到大幅度的提高。而对于底层和中级的绘图,采用FPGA的硬件实现;对于视频的叠加和成帧处理,同样也采用FPGA的硬件实现。这样就从根本上解决了视频图形引擎的处理速度问题。有一点必须说明了的是,这是我们进行SoC设计的关键点,更是未来SoC定制生产时必须升级到专用电路的部分,或者说是我们具有自主知识产权的IP内核。开始时,会担心在芯片版图设计和微电子工艺方面的经验不足,没有进行过实际工艺过程,但在经过长期深入的调查研究之后,发现在市场上已经有完整的FPGA转化成ASIC的解决方案。现代EDA的迅速发展和面对SoC设计的重新构架,以及半定制ASIC的工艺列新和半导体生产工艺的迅猛发展,使我们消除了这种担忧。我们所关心的只是芯片的整体结构和系统构成优化,这同时也是SoC的诱人之处。在数据传输问题上,我们充分利用内嵌存储器和AMBA的片上总线体系。这样就完全可以实现没有总线速度限制的数据传输(这是SoC的一大优点,因为它从根本上解决了限制总线速度的因素,如串扰、地跳、反射和PCB焊盘等效电容等)。如此,我们就可以实现低成本、低功耗。这两点的实现都必须和实际的应用以及实际应用中解决方案紧密结合起来才有可能。

  视频图形引擎机构成框图如图2所示。

  

  ①系统参数及绘图指令的接受。可以用FPGA实现数字总线的接收功能,但是对于完整总线,这是一个相当复杂的设计过程(也不属于项目重点组成部分)。因此,先采用专用外接芯片实现此功能,再根据经验用8KB的双口存储器(在SoC中)作为数据接收缓冲。

  ②系统控制器。采用支持实时操作系统的ARM922T(在SoC中)完成各种输入输出、中断响应控制,以及高级绘图指令和程序构架。实时操作系统采用μC/OS-II。

  ③字模及图例库。采用外部非易失性存储器加载到SRAM(在SoC中),因为要求2048×2048的笔划信号术语,根据屏幕大小至少需要24×24以上的点阵显示汉字(最好是有40×40或者72×72的汉字显示)。于是需要不是127个ASCII码和约200个汉字的字模库、大小接近200KB的存储容量,因此,采用嵌入式的SRAM来实现是不合理的。根据汉字及ASCII码的编码规律,我们决定采用解码方式实现。应用FPGA的高速和并行性来实现解码,使数字、文字等笔划视频信号的产生成为系统瓶颈。

  ④视频格式控制。在加载FPGA程序,提供实现其功能时的一些控制功能;可以初步实现多视频格式支持的功能;

  ⑤视频图形产生。主要是处理符合视频流格式的扫描数据流。采用FPGA(在SoC中)的方式实现,对来自笔划、简单图形与合成的视频进行图像扫描数据流的输出。

  ⑥显示时序控制。利用PLL和ARM922T的计数器及中断(在SoC中)来和一定的简单逻辑产生视频格式要求的时序,以达到各种控制和同步。

  ⑦视频叠加控制。利用FPGA(在SoC中)实现与外视频的叠加控制功能。在这里只做简单的前景和背景处理(即简单的叠加功能),不涉及剪裁、遮挡等三维图形问题;

  ⑧视频协议传输。实现视频流成帧和发送。采用一种图形传输协议来进行图形的传输,初步先采用专用芯片,以后再考虑升级为芯片内集成,一级传输缓存采用DPRAM来传输(在SoC中),如果系统要求用到二级缓存的话,可方便地实现VRAM接口。

1  2  下一页>  
声明: 本文由入驻OFweek公众平台的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

我来说两句

(共0条评论,0人参与)

请输入评论

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码: