目前,存在着很多种硬件描述语言,用百家争鸣来形容一点也不过分。这些硬件描述语言中最有名的就是VHDL、Superlog、Verilog、SystemC、CynlibC++、CLevel等等。每一种语言的诞生都考虑到要有自己的特色和擅长,没有哪一种语言可以说是完美的、能解决一切问题。业界对到底应该使用哪一种语言进行设计,还没有一个明确的说法。举一个很简单的例子:有一个研究所的研究生学习FPGA,用的是Verilog HDL,结果呢,后来学习的过程中遇到一些问题,就去问在同一个部门的工程师。结果没有一个工程师能回答他的问题,因为那个研究所的人在做FPGA开发的时候,用的都是VHDL。他们都不懂Verilog的语法。这是一个真实的例子。而你若是在网上买的FPGA开发板,里面的源代码几乎都是Verilog书写的。
在设计流程中,最普遍的看法就是,HDL和C/C++语言在一些设计级别中都有优势。遇到的难题就是两者的衔接。正在使用的这种语言使用到什么时候就得停下来换另一种语言呢?能不能完全抛弃其他的、而只使用一种语言?还没有看到有明确的说法。
因为涉及各种语言背后企业的切身的利益,所以这样的讨论经常发生。有时候在一些国际HDL会议上会爆发激烈的辩论。曾经有一个国际会议要求参会者进行投票表决如下事项:当你要做一个芯片设计的时候,你更倾向于使用什么工具?很明显,Verilog获得了很高的票数,毕竟它是VHDL之后的第一个开拓者。而其他的工具,诸如SystemC、Cynlib和CLevel的得票率就是寥寥无几。Superlog也获得了很高的票数。VHDL因为是由国防部投资的,不符合大多数企业利益,因此没有获得很高的票数。最后的结论是,很难说再过几年会怎样。(www.xing528.com)
由于这个市场的快速成长,相伴出现的各种技术都各有优缺点。从各自的角度出发,都认为别的技术的出现多多少少都有点画蛇添足。比如Verilog的拥护者认为,Verilog就已经足够了,再创造出一种新的语言是对资源的浪费。但是形势是时刻变化的,SoC这样的系统级芯片的迅速发展意味着光有Verilog肯定是不够的,是不是需要一种新的开发语言,SystemC能不能胜任?而从CynlibC++的角度来说,CynlibC++的推广者认为Verilog的解决问题的角度太低级、太原始,近似于汇编语言,应该使用更高级的CynlibC++。而Superlog认为从Verilog进化到Superlog是很合适的,既与Verilog兼容,又继续进化而不对现有秩序造成冲击。而Verilog HDL-A的拥护者认为,任何一种设计都无可避免的要涉及模拟电路的问题,只有Verilog HDL-A能更好地同时兼顾硬件描述和模拟设计。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。