美国加州大学嵌入式计算机系统中心发布了一款Spark综合工具,据称它采用一种新的方法来实现并行的高层综合。这款可以免费下载的Spark工具接受C语言输入,产生寄存器传输级VHDL代码。
Spark工具采用了以前为指令级并行机制开发的并行编译器技术,并针对综合应用添加了相互独立的操作、资源共享和硬件成本模型。研究人员宣称,该工具能够生成高质量的综合结果,特别适合用于以控制为主的微处理器功能模块、多媒体及图像处理应用。
“我们相信这种新技术最终将实现高层的行为级综合。”嵌入式计算机系统中心研究专家Sumit Gupta表示。
Gupta和他的同事曾在2003年VLSI设计国际研讨会上发表一篇论文,声称运行在MPEG-1和Gimp图像处理应用上的实验显示,Spark工具可以在不增加整体面积或最终设计的关键路径的前提下,将器件性能提高达70%。HSPACE=12 ALT="图:Spark工具采用一种新的方法来实现并行的高层综合。">
行为级综合从来没有在芯片设计师群体中真正流行起来。“面世二十多年来,高层综合一直没有获得好的反响,因为它难以提供预期质量的综合结果。”Gupta说,“我们希望通过把一系列新的代码转换机制引入到高层综合,来提高其技术先进性。”
与以前尝试的其它行为级综合方法相比,Spark工具有两方面的不同。首先,为了提高综合质量,Spark采用了更多的新技术。其次,它不是一键式工具,相反,它允许设计师控制对设计实施的转换,因此设计师能试验不同的优化方法。
Spark工具接受单纯的行为级C代码,不过它提供了一种独立于语言的方法,因而能够很容易地适应SystemC或SystemVerilog语言,Gupta表示。Spark工具在预综合优化后还会使用一种“工具盒”方法来提供多种类型的代码转换和试探机制。根据用户的输入,该工具可以完成调度、分配、资源绑定、控制综合和后端代码生成等功能。
Spark工具采用一个中间表达式来保留输入描述中给出的所有信息。Spark将输入的C代码转换成控制数据流程图,然后把它综合进由数据路径、存储器、控制单元和互连资源组成的架构中。“我们已经跳出传统高层综合的框框,并开发了新的方法,使源代码通过控制流来传输。”Gupta表示。
Gupta承认,Spark只是一个原型工具,还没有被用于商业芯片的设计流程中。不过,已经有多家公司对授权此项技术表示出兴趣。
嵌入式计算机系统中心目前提供的Spark工具可用于Linux和Solaris平台,与之同时提供的还包括用户手册、操作指南和MPEG-1播放器设计范例。
作者:葛立伟
京公网安备 11011202001138号
