C2H编译器Mandelbrot设计实例
这一 Mandelbrot 设计实例演示怎样使用 Nios® II C 语言至硬件 (C2H) 加速编译器。在这个例子中, C2H 编译器将 C 语言实现的 Mandelbrot 算法转换为硬件。该设计还包括一个视频控制器,显示所计算象素值的完整移动视频。
Mandelbrot 是最著名的不规则模式之一,它具有复杂的模式,需要很大的处理量。该算法在复平面上, x 轴代表实数分量, y 轴代表虚数分量。这一例子完成平面不同区域的移动,并进行放大和缩小,生成完整的移动视频。
这一例子在使用硬件加速的同时,由软件并行处理坐标计算。这通过对 DDR SDRAM 中的视频数据进行三重缓冲实现,利用 Nios II 嵌入式处理器来调整数据流。硬件加速器每次释放整个帧缓冲后,处理器对数据进行处理,覆盖基本数据,提示视频控制器,可以使用新缓冲来进行显示。
使用这一设计实例
该设计面向以下开发套件:
.zip 文件含有复制实例的所有必须软件文件,以及 readme.txt 文件。 readme.txt 文件说明了怎样面向现有硬件设计重新开发设计。
结构图
图1是C2H编译器Mandelbrot设计实例的结构图。
图1. C2H编译器Mandelbrot设计实例

查看大图
C2H 编译器加速后的结果
和编译器优化 2 级 (-O2) 的最快 Nios II 处理器相比, C2H 编译器加速后的 Mandelbrot 算法速度提高了至少60倍。速度的提高源于硬件的并行处理和快速迭代能力,而这是通用处理单元无法实现的。
反馈
这些信息对您有帮助吗 ?
如果没有帮助,请登录 mySupport ,提出您的技术要求或者改进。
这些网站设计实例只能应用在 Altera® 器件中,所有权属于Altera 。这些实例作为附件原样提供,因此,明确放弃任何形式 ( 不论是表达出来的、暗示的还是法定的 ) 的所有保证、代表和担保,这些形式包括但是不限于对某一目的进行商业保证、不违反或者符合该目的。Altera 特别指出,不推荐、建议或者要求这些实例使用任何非 Altera 产品。
|