手把手課堂:擴展PowerPC的復(fù)數(shù)運算指令集
復(fù)數(shù)乘法的定義是,兩復(fù)數(shù)相乘,二者各有一個實值和一個虛值。
本文引用地址:http://cafeforensic.com/article/119297.htm(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)
為提高效率,復(fù)數(shù)乘法硬件模塊(cmplxmul) 分三級執(zhí)行乘法運算。這樣,便可在這種多周期的實現(xiàn)中僅使用兩個乘法器和兩個加法器,從而節(jié)省硬件資源。圖2所示為復(fù)數(shù)乘法FCM的框圖(草圖形式)。
如cmplxmul.vhd中的VHDL代碼所示,我們在三個時鐘周期中完成復(fù)數(shù)乘法運算。我們在文件cmplxmul.vhd中實現(xiàn)了用來完成此復(fù)數(shù)乘法運算的FCM。文件fcmcmul.vhd提供了FCM/APU接口的封裝,用來將FCM連接到APU。如我們將在分步指南(請見側(cè)條)中所示,當(dāng)使用UDI法時,您可以用此封裝用作為模板,將自己的FCM連接到APU(“加載存儲指令”法需要不同的互連方式)。
我們用Xilinx EDK/XPS 10.1.02通過使用Xilinx ISE® 10.1.02來綜合了我們的設(shè)計。我們用ModelSim 6.3d SE對設(shè)計進(jìn)行了仿真和測試。
通過增加專用于硬件加速和協(xié)處理的用戶定義指令,Xilinx Virtex-5 FXT器件中所含PowerPC處理器的APU讓嵌入式軟件工程師能夠以非常高效的方式加速其系統(tǒng)。以本文所述示例設(shè)計為起點,您就會發(fā)現(xiàn)掌控 APU 易如反掌,讓您無需使用專用工具就能大大提高自家設(shè)計的性能。
評論