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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3080|回复: 8

[求助] 在拿到一个算法后要用Verilog实现 应该从哪入手?

[复制链接]
发表于 2011-5-25 10:16:40 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 shiran 于 2011-5-25 10:18 编辑

拿到一个算法以后,应该先考虑些什么呢?如何对其进行构架设计呢?以前就只编写过功能性的代码~~对实现算法类的不知道从何入手,多谢大家帮忙了!大家能否推荐应该看些什么书呢?特别茫然啊
发表于 2011-5-25 10:42:05 | 显示全部楼层
首先是化简,评估所需要的资源和速度!
发表于 2011-5-25 15:29:11 | 显示全部楼层
补充楼上的:
先量化分析,再根据FPGA的特性调整 处理流程 来设计 构架
必须 完全 搞懂 算法的处理流程,并可自行调整。
 楼主| 发表于 2011-5-25 15:49:47 | 显示全部楼层
谢谢大家,可是要是不用FPGA实现,而是ASIC,用软件对其后端综合实现,还要考虑资源的问题么?大家有什么这方面的书推荐么?
发表于 2011-5-25 18:14:57 | 显示全部楼层
能否把你的算法简单说明一下呢?比如是关于哪个方面的,需要用到什么逻辑?
发表于 2011-5-25 19:35:48 | 显示全部楼层
C建模,定点化,硬件实现
发表于 2011-5-26 00:02:53 | 显示全部楼层
呵呵,期待高手解答。
发表于 2011-5-26 02:44:13 | 显示全部楼层
一般来讲,如果设计规模不大,不需要很多开发人员的情况下,可以粗化分成两个步骤。
第一步当然就是算法部分,理清算法步骤,分析好可能的时序关系。
好的设计人员,在这一步应该考虑可测试性的问题,和结构实现的问题。
算法模型需要测试,如果建模层次过高,并且设计比较复杂,可能还需要对硬件结构进行高级语言的软件建模,来早期验证硬件结构能够正确实现算法。这些模型都需要验证,并且需要一定硬件设计的知识。

第二步就是模型转换成硬件描述,这一步和第一步里面建模的层次相关。第一步的模型层次越高,这一步的工作量就越大。并且如果对设计性能比较苛求的话,在这一步的优化工作也越多。
有些硬件上的优化,对性能有一定提升,但是在第一步建模的时候可能想不到,所以就看出来早期建模的时候如果能有非常深厚的硬件设计功力,就可以很早的时候给出较细层次的建模,并估算出性能。

早期算法建模相对来讲,使用高级语言较方便,比如上面有人说的c model,一个是和算法层次较近,另一个是检查结果较方便,可以模拟断言之类的,再一个会的人也比较多。当然现在什么systemc之类的语言也都在弥补这些中间地带。

后期硬件建模相对来讲,需要比较多的考虑可综合性的问题。要考虑使用的工具平台的问题。无论是fpga还是asic。硬件建模语言也分几个建模层次,可以根据项目周期,性能要求等等的要求来选择。有时候可以相信综合工具的能力,有时候不要太依赖它。综合工具在细粒度的逻辑化简上现在算法都基本比较成熟。但是大的架构上的化简能力很差。比如对于一个编码器,可以直接case的方式完成,基本不需要人工化简到门级。但你显然无法用几条语句描述出一个符合你要求的高性能cpu。在算法化简,架构优化上,工具还是无法和优秀工程师相比较的。所以如果追求极致性能,就尽量使用低层次的建模,人工设计架构。如果没有这种要求,而且对综合工具对编码风格(coding style, 很多工具应该都有这方面的介绍)的支持程度比较了解的话,就可以用高层次的建模,来加快开发速度。

如果设计规模较大,参与人员较多,就需要根据实际情况作出划分,这比较考验顶层规划人员的能力。

我的理解基本是这样。
发表于 2011-5-26 02:48:10 | 显示全部楼层
在一条开发链条中,功力越深厚,就越可以把很多问题解决在自己的管辖范围内,为后面的开发人员提供方便。
因为问题发现的越晚,代价越大。
这也是好人品的体现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-23 10:23 , Processed in 0.021551 second(s), 8 queries , Gzip On, Redis On.

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