用SoC实现视频图形引擎功能的研究
过去,SoC项目设计必须需要20人以上的工程师团阶,而现在由于软件工具和半导体技术,以及各个大公司所做的工作,使我们可以用一个很精简的团阶进行SoC设计;而且SoC设计一般都是基于FPGA、微处理器和存储器结构的,使得我们完全可以在SoC平台上进行SoC的初步设计。
2研究开展
根据现有的IC设计水平和基础设施以及资金情况,必须很好地规划我们的SoC设计策略。就研究的形式而言,首先必须是基于平台的SoC设计,其次必须是应用引导为主的SoC设计,再次必须是多芯核片上总线的SoC设计,最后必须是以专用技术核心为主的IP式SoC设计。在研究过程中,必须利用好自己专用化的原有技术,达到满足自己系统要求的目标;同时结合实际项目的研究,根据“Today'sPCBistomorrowASIC.”的经验,借鉴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的存储容 《用SoC实现视频图形引擎功能的研究(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/166728.html
2研究开展
根据现有的IC设计水平和基础设施以及资金情况,必须很好地规划我们的SoC设计策略。就研究的形式而言,首先必须是基于平台的SoC设计,其次必须是应用引导为主的SoC设计,再次必须是多芯核片上总线的SoC设计,最后必须是以专用技术核心为主的IP式SoC设计。在研究过程中,必须利用好自己专用化的原有技术,达到满足自己系统要求的目标;同时结合实际项目的研究,根据“Today'sPCBistomorrowASIC.”的经验,借鉴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的存储容 《用SoC实现视频图形引擎功能的研究(第2页)》