电子书:《模拟对话》,共50卷,数百篇精品文章,下载即奖励400信元!
返回列表 发帖

[求助] FPGA乘法器方案请教

[求助] FPGA乘法器方案请教

有个项目需要很多的矩阵运算,单次的运算量需要10 000个乘法器,Xilinx公司的Virtex UtralScale+最高端的有大概有12 000个Dsp slices,符合需求,但是这个芯片价格37万,实在是太贵。请教一下可否用以下两个方法解决:


1. 选用低端一些的FPGA,另外加一块DSP芯片是否可行?这样做法会不会速度变慢?我的理解是:虽然DSP有乘法器,但是他是指令型的,一个乘法指令可能要运行很多个时钟;现在DSP随着技术发展,DSP主频越来越高,能否达到和FPGA速度相当的程度?DSP和FPGA使用同样的主频800MHz,完成一次10 000运算,FPGA要用1~2个周期,而DSP一般用多少个周期呢?


2. 如果不用FPGA的DSP slices,用FPGA的逻辑去做乘法可以吗?这样会有什么问题?


3.还有其他价格和性能折中的方法吗?!


非常感谢!

技术篇连载:泰克CEO为您解读低噪声背后的科学(附有奖下载)

如果把公式发到网上,可能会更好点,乘法资源优化可从两方面考虑:1、如果输入数据的速率不高,可以通过复用DSP48完成设计(比如数据率10M,我可以用500M的时钟处理,需要的DSP48E1就可能降低50倍)。2、输入数据位宽较小,比如都是8bit数据,可以考虑用bram查找表替换dsp48E1。

不建议用组合逻辑搭建乘法器,除非乘法运算的一个数据为固定数,可以用加法替换乘法。

TOP

本帖最后由 happsky 于 2018-9-12 22:02 编辑

回复 2# superhorsemmc
你好,公式如下:
Y1=x1*a1+x2*b1+x3*c1+x4*d1+x5*e1......(共500个)其中a,b,c,d,e...是常数,是提前储存好的;x1,x2,x3,x4,x5....是并行数据。
Y2=x1*a2+x2*b2+x3*c2+x4*d2+x5*e2

Y3=...

。。。
Y24=
x1,x2,x3...的值每次计算是一样的,a,b,c,d,e..的系数是不一样的。Y的计算也是并行的,所以以上共500*24=12000个乘法器。

速度越快越好,使用的时钟周期越少越好

TOP

本帖最后由 superhorsemmc 于 2018-9-12 22:03 编辑

Y2=x1*a+x2*b+x3*c+x4*d+x5*e......  对应的系数跟Y1是一样的嘛?
Y2对应的数据是不是Y1的下一个周期数据?
并行的数据你是怎么导入到fpga的,数据时钟速率是多少?数据位宽及系数位宽是多少?

TOP

可以加我微信:17324224596

TOP

速度越快越好,这种需求就不明确了,可能需要百万的芯片,也有可能需要1万左右的片子,在性能、需求、成本中权衡。

TOP

回复 4# superhorsemmc


   时钟是800MHz左右,对于Y1~Y24,  系数a,b,c,d,e是变化的,x1,x2,x3...是一样的。已经在原来式子更改过来。

TOP

回复 7# happsky
你直接加我微信吧,17324224596

TOP

X1、X2更新频率是多少?

TOP

800M的时钟,fpga在ultrascale+器件上难度非常大,华为无线产品上最高也就614.4M,时序也是有专家优化的,一般的华为工程师干不了,所以建议时钟不要超过500M。

TOP

返回列表

站长推荐 关闭


电子书:《模拟对话》,共50卷,数百篇精品文章,下载即奖励400信元!

电子书:《模拟对话》,共50卷,数百篇精品文章,下载即奖励400信元!


查看