论文部分内容阅读
随着集成电路制造工艺已经进入45nm阶段,集成电路的集成度也越来越高,电路规模己超过5000万门,达到特大规模集成电路(ULSI,Ultra Large ScaleIntegration)水平。现有的集成电路设计,特别是ASIC(Application SpecificIntegrated Circuit,专用集成电路)设计,有设计周期长,设计成本高,灵活性差,扩展性差等一系列问题,由于目前芯片的集成度不断的提高,上述的一系列问题会变得更加突出,对于硬件设计者和集成电路制造者来说,都将是非常艰巨的工作。可见,集成电路设计发展到了一个瓶颈,这个瓶颈是由于集成电路设计发展的速度跟不上集成电路制造工艺的速度造成的,为解决这方面的问题,国内外的研究机构在集成电路设计方法上不断寻求突破,向可重构处理器和高层次综合等集成电路快速设计方向发展。北京大学集成微系统科学工程与应用重点实验室提出一种基于算子(Operator)实现的设计方法,提高ASIC的设计速度。算子是一系列粒度较大的单元,它的基本单元库由运算算子、存储算子、路径算子和控制算子组成,同时,可以根据设计方法应用的算法的不同,定义相应的扩充算子库,这些基本算子库和扩充算子库共同构成了算子库,取代传统的标准单元和标准门电路,实现集成电路的快速设计。算子设计方法以HLS(High Level Synthesis,高层次综合)思想为基础,处理的对象是高级编程语言(C语言或Matlab语言)算法,转化的最终目标是硬件电路的算子描述。高级语言进行行为级描述,硬件描述语言主要对硬件电路进行结构级描述,二者要实现转化,需要一种过渡语言(Operator Language,算子语言)从高级语言算法中提取抽象信息,并做分析、转换、添加结构化、具体化信息,为向硬件映射做准备。 本文从算子设计方法的流程和需要求出发,通过对算子语言的介绍,深入地研究算子设计方法中算法映射的自动化和标准化实现原理。本文将通过美国加州大学圣地亚哥分校和尔湾分校开发的高层次综合工具----SPARK提供的设计反离散余弦变换算法(IDCT,Inverse Discrete Cosine Transform)为例,详细介绍算子设计方法实现算法映射的过程,并根据不同的设计需求,用三种设计策略实现算法的硬件映射,同时,对硬件映射出来代码仿真综合,将其结果与SPARK映射的结果进行对比、分析。文章最后用算子设计方法实现H.264高清视频编码算法(应用于支持720p@60fps的视频监控编码器)中的离散余弦变换、量化、反离散余弦变换和反量化算法的硬件映射,并将其综合结果与该算法传统的ASIC设计做对比,并加以分析。 本研究的创新点包括:⑴根据算子设计方法中算法映射实施过程中所遇到的现实情况,对原有的算子设计方法实现过程进行优化。集中体现在聚类压缩和时间标注等方面进行优化,更方便、快捷地进行算法由高级语言向硬件描述行为的映射;⑵提出算子语言,作为一种算法映射过程中的过渡语言。作者通过对算子语言的语法、词法、语义等的定义,使它能承接高级语言与硬件描述语言各自的特点,保证算法在映射过程中功能的正确性;⑶通过定义高级算子语言,提出计算机辅助设计下的算子设计方法实现理论,实现由算法向高级算子语言的工具自动化映射;⑷算法映射过程中对于算法中的数据、控制信息进行全面分析,通过分配、调度操作,实现算法硬件实现的最优化。