这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 乘加如何做流水线?

共7条 1/1 1 跳转至

乘加如何做流水线?

菜鸟
2014-04-30 09:54:31     打赏

  现在想用FPGA做一个控制用的项目,其中涉及单精度矩阵运算,因此遇到连续几对实数相乘累加的运算。

  浮点的乘法与加法,都考虑用Altera的IP例化,但是Altera没有浮点乘加的函数。前几天想不出这是为何,现在想是不是确实不太好做?

  一般向浮点乘、浮点加这样比较复杂的运算,可以用流水线提高速度。但是连续的乘加,是要把新的乘积加到上一次加法的和上去,但是这个和要在流水线上输出才能得到,这样,实际上也就流不动了。加法流不流水也就没有意义了。

  我想,这是不是低档的FPGA不提供DSP核的原因?


工程师
2014-04-30 10:52:13     打赏
2楼
好的FPGA的确是有浮点数的运算核,实际上可以自己用乘法,构造一个浮点乘法

菜鸟
2014-04-30 11:03:25     打赏
3楼
说得对,但是与我问的无关系。 我的应用对速度与体积无特殊要求,用Altera的IEEE745浮点核就可以了。 但是连续做乘法累加,流水线流不起来。

菜鸟
2014-04-30 11:05:07     打赏
4楼
Altera的浮点元函数有矩阵乘法,在我的应用里似乎有点奢侈。

菜鸟
2014-04-30 11:08:45     打赏
5楼
看了一下,Altera的矩阵运算是复数运算,不支持Cyclone呢。

工程师
2014-04-30 20:21:56     打赏
6楼
你要流水流起来,肯定需要好好优化下的结构,我不敢保证能不能解决,但是《VLSI数字信号处理 》这本书肯定可以帮你,里面涉及了很多优化算法,巧妙的结构,尽可能的减少乘法

菜鸟
2014-05-06 12:36:04     打赏
7楼
感谢,这个建议好。

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]