C2H 编译器 Mandelbrot 设计示例

建议用于:

  • 设备:Cyclone®II

  • Quartus®:不详

author-image

作者

此 Mandelbrot 设计示例演示了 Nios® II 嵌入式处理器 C-to-Hardware (C2H) 加速编译器的使用。在此示例中,C2H 编译器将基于 C 的 Mandelbrot 算法实施转换到硬件。该设计还包含一个视频控制器,用于显示计算得出的像素值的全动态视频。

Mandelbrot 模式因其复杂的模式和处理器密集型实施而成为最著名的分形之一。该算法在复平面中运行,其中 x 轴代表实部,y 轴代表虚部。该示例对平面的不同区域执行移动,并放大和缩小,创建全动态视频。

此示例通过在使用硬件加速器的同时在软件中执行坐标计算来充分利用并行性。这是通过在 DDR SDRAM 中对视频数据进行三重缓冲并使用 Nios II 嵌入式处理器来协调数据流来实现的。每次硬件加速器渲染完整的帧缓冲区时,处理器都会管理数据以覆盖基准数据并通知视频控制器新的缓冲区已准备好显示。

使用此设计示例

此设计针对以下开发套件:

下载 Nios II C2H Mandelbrot 设计示例(.zip 文件)

下载 Nios II C2H Mandelbrot 设计示例自述文件(.txt 文件)

该设计的使用受英特尔® 设计示例许可协议中条款和条件的管理和约束。

.zip 文件包含重现示例所需的所有必要软件文件,以及一个 readme.txt 文件。readme.txt 文件包含关于现有硬件设计重建设计的说明。

结构图

图 1.C2H 编译器 Mandelbrot 设计示例

图 1 显示了 C2H 编译器 Mandelbrot 设计示例的框图。

C2H 编译器加速结果

与使用编译器优化级别 2 (-O2) 在最快的 Nios II 处理器上运行的相同算法相比,C2H 编译器加速 Mandelbrot 算法的速度提高了至少 60 倍。这种速度的提高是因为硬件可以提供并行性和快速迭代速度,这是通用处理单元无法实现的。