需求说明:向前人学习
内容 :RTL代码设计需要向算法靠拢
来自 :时间的诗
原文:http://blog.csdn.net/verylogic/article/details/14642671
所谓逻辑工程师,就是既非硬件工程师,也非软件工程师的一种职业。使用硬件编程语言verilog/VHDL开发硬件,做这种开发的人既要懂硬件,也要懂算法,最终将算法用硬件实现。这应该算得上是一个传统行业了,因为IC设计领域前端就是用硬件语言开发的,FPGA也是用它开发的,技术上比较成熟了,资料也多。
可是,实际上,很多FPGA技术的大牛,去换工作发现并不理想,连特权同学都很迷茫,原因在于技术大牛们往往偏硬件偏底层,在算法层次偏弱,而技术的发展和进步的趋势却是底层的电路细节将越来越多的由软件自动完成,所以很多牛人干了五六年,发现自己会的东西,新人们稍微学学也就会了。而且,FPGA只是工具,工具只会不断变得更先进,也更容易掌握。
其实逻辑工程师未来的趋势已经很明显了,就是转向算法,而且是软件层次的算法,基于C/C++就行。altera和xilinx都推出了自己的新一代开发工具,新开发工具将不再是基于RTL级别的逻辑开发,而是基于C算法的开发。也就是说,以后只需要拿C语言就可以做硬件电路的开发,不用学verilog,不用过于关心底层电路,而且效率更高。这种通用语言的开发,将会使得软件开发和逻辑开发的界限越来越模糊,对数字电路的要求越来越低,相反,对算法的要求越来越高,这意味着什么?意味着软件工程师将会革掉逻辑工程师的命!三流的软件工程师如果改行做硬件,算法好一点可能水准都比一流的逻辑工程师好。而逻辑工程师呕心沥血掌握了多年的数字电路,以后很可能没有用武之地。
大部分逻辑工程师其实心底里认为自己是硬件工程师,不是搞软件的,因为他们的基础就是数字电路,而前些年乃至目前,FPGA开发仍然要花大量的精力关注底层电路,bug基本都出在底层单元。可是我们应该知道,如见的数字电路设计之所以停留在RTL阶段,那是因为目前没有更好的工具,支持算法级乃至系统级的设计,以至于不得不折衷在RTL级。而从更高层开始设计,必然是以后的趋势,这个趋势带来的结果就是逻辑工程师需要转向软件跟算法,进行更高层的设计,所以逻辑工程师逃不掉C语言。
所以,如今看来,逻辑工程师其实只是数字电路设计的一个暂态,是目前开发工具以及生产力不足的临时状态,这种状态很快就要改变了,而如果逻辑工程师不转型,仍然执着于电路,不将眼光放到更高的算法层次,则很有可能在未来失去竞争力。所以,工具不足以为恃,FPGA不足为恃,数字电路不足为恃,在这个设计层次不断提升的年代,算法才是核心,而且将能永久若干年下去。
其实,这也是个机会。在我看来,目前xilinx和altera已经可以用C语言开发FPGA了,如果逻辑工程师愿意接受这个现状,紧跟潮流,完全可以趁此良机从此进入软件和算法行业,而这才是更广阔的天地。
</div>