微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 手把手课堂:扩展PowerPC的复数运算指令集

手把手课堂:扩展PowerPC的复数运算指令集

时间:05-06 来源:电子产品世界 点击:

法。EDK图显示了总体设计,包括如何通过APU将复数乘法器的FCM连接到PowerPC处理器,以及软件如何运用FCM。

我们选择复数乘法作为示例,是因其在流式媒体数据解码方面具有广泛的适用性,也是因其能够明确说明如何通过增加专用指令来利用 APU。

复数乘法的定义是,两复数相乘,二者各有一个实值和一个虚值。

(a_R + j a_I, where j*j = -1):
(a_R + j a_I) * (b_R + j b_I) =
(a_R * b_R - a_I * b_I) + j (a_I * b_R + a_
R * b_I)

为提高效率,复数乘法硬件模块(cmplxmul) 分三级执行乘法运算。这样,便可在这种多周期的实现中仅使用两个乘法器和两个加法器,从而节省硬件资源。图2所示为复数乘法FCM的框图(草图形式)。

如cmplxmul.vhd中的VHDL代码所示,我们在三个时钟周期中完成复数乘法运算。我们在文件cmplxmul.vhd中实现了用来完成此复数乘法运算的FCM。文件fcmcmul.vhd提供了FCM/APU接口的封装,用来将FCM连接到APU。如我们将在分步指南(请见侧条)中所示,当使用UDI法时,您可以用此封装用作为模板,将自己的FCM连接到APU(“加载存储指令”法需要不同的互连方式)。

我们用Xilinx EDK/XPS 10.1.02通过使用Xilinx ISE® 10.1.02来综合了我们的设计。我们用ModelSim 6.3d SE对设计进行了仿真和测试。

通过增加专用于硬件加速和协处理的用户定义指令,Xilinx Virtex-5 FXT器件中所含PowerPC处理器的APU让嵌入式软件工程师能够以非常高效的方式加速其系统。以本文所述示例设计为起点,您就会发现掌控 APU 易如反掌,让您无需使用专用工具就能大大提高自家设计的性能。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top