在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 14788|回复: 21

[求助] 有将C++算法转化为Verllog代码经验的高手请进

[复制链接]
发表于 2011-8-29 20:26:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
最近在做一个东西,之前是软件来实现的,但是考虑软件实现速度比较慢,所以准备用FPGA来做。C++基础几乎为0,硬着头皮板代码啃完,要实现的功能也大致明白了,准备开始写Verlog代码,发现有点无从下手。

C++代码里有很多的函数嵌套,for循环,一个函数被调用很多次。。。Verlog来实现的话会占用较多的资源。。。之前没有经验,想请教高手们,如果一个for循环调用同一个函数多次的话,用FPGA怎么实现比较简单?
发表于 2011-8-29 20:51:03 | 显示全部楼层
什么奖励?
发表于 2011-8-30 09:22:41 | 显示全部楼层
状态机,几乎可以搞定一切软件算法。

if i<100 then
  sr_state <= 函数调用;
  i <= i+1;
else
  sr_state <= 函数调用结束;
end if;
---------------------
C转FPGA都很累了,C++要转FPGA岂不是很悲剧?
当软件都觉得慢的时候,想用FPGA提速,就必须花很大的时间来改,有大量的东西要改成并行、复用,砍存储数据,拆结构体。
几乎跟重写软件是一样的了。
更悲剧的是写完以后,算法升级了。。。
发表于 2011-8-30 09:24:35 | 显示全部楼层
没有代码转换,只有软件实现转成硬件实现,楼主的工作量可以说是一个工程项目了。
发表于 2011-8-30 09:38:29 | 显示全部楼层
兄弟,你不要从语言上去移植,而是应该彻底搞清楚C++代码中算法的逻辑关系,然后将这个逻辑关系用verilog描述。
最后请理解:
C++的算法实现是CPU运行自己特定的指令对数据进行转变;
而用FPGA实现算法,那是用逻辑电路来表示数据,也用逻辑电路对数据进行操作。
 楼主| 发表于 2011-8-30 10:42:04 | 显示全部楼层
谢谢楼上3位兄弟。
本来一开始接这个活的时候觉得工作量还行,可是看完代码和兄弟们的意见后,觉得3个星期要搞定,很难啊。我预期是2到3个星期做完的,可是看代码和相关资料就花了偶整整1个星期,现在准备构思代码了,脑袋比较混乱啊。
 楼主| 发表于 2011-8-30 10:43:57 | 显示全部楼层
顺便说一声,我不是兄弟是姐妹。。。
发表于 2011-8-30 12:06:55 | 显示全部楼层
这个不是学几天verilog就能做成的事情。
rtl设计(尤其是算法实现)多数是从data path入手的,设计思路和软件完全不一样,如果从状态机入手几乎100%悲剧。另外,并不是所有的c程序都适合转成硬件实现,很多情况下纯硬件实现甚至比一个SOC系统成本还要高。
发表于 2011-8-30 12:43:04 | 显示全部楼层
把代码发出来,我帮你设计硬件架构。
 楼主| 发表于 2011-8-30 15:07:01 | 显示全部楼层



前面有同志说:状态机,几乎可以搞定一切软件算法。
这会又有同志说:如果从状态机入手几乎100%悲剧。

我本打算从状态机入手的。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 12:19 , Processed in 0.022849 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表