专栏首页用户7494468的专栏FPGA/ASIC初学者应该学习Verilog还是VHDL?

FPGA/ASIC初学者应该学习Verilog还是VHDL?

Verilog以及VHDL区域热度对比

  • 写在前面
  • 正文
    • 常识讨论
    • 数据分析
    • 写在最后
  • 参考资料
  • 交个朋友

写在前面

  • 个人微信公众号:FPGA LAB
  • 个人博客首页[1]

正文

对于FPGA或者ASIC的初学者来说,选择哪种语言貌似应该根据自身的需求而定,例如实验室项目需要使用哪种语言,或者实验室师兄师姐使用了哪种语言,或者导师推荐你学习哪种原因,这都是硬性需求了,因为你需要完成项目的接手,所以必须根据要求而来!

常识讨论

但如果你没有这些顾虑呢?该如何做出选择?

这时,您应该注意几点。

  • VHDL是强类型的。这使初学者更难犯错误,因为编译器不允许您编写有效的代码。Verilog是弱类型的。它允许您编写错误的代码,但更为简洁。
  • Verilog看起来更像C之类的软件语言。这使熟悉C的人更容易阅读和理解Verilog的工作。
  • VHDL需要大量输入。Verilog通常只需要较少的代码即可完成相同的操作。
  • VHDL是非常确定的,因为在某些情况下Verilog是不确定的。

当然,这里并不是评论Verilog或者VHDL的优劣的,对于语言的选择是根据需求而定的!有人喜欢用Verilog,自然喜欢它的优点,也能包它的缺点,VHDL也是如此!

例如1995年OVI主题演讲时,时任Cadence首席执行官的Joe Costello,认为:

VHDL is one of the biggest mistakes the Electronics Design Automation industry has ever made. A $400 million mistake. Wouldn’t this money have been better spent on handling sub-micron design, testability issues, or even a new type of HDL that had significantly more capabilities than what Verilog and VHDL offer today?

翻译过来就是:

VHDL是电子设计自动化行业有史以来最大的错误之一。4亿美元的错误。这笔钱不会花在处理亚微米设计,可测试性问题,甚至是比Verilog和VHDL提供的功能明显更多的新型HDL上吗?

这明显是对VHDL的负面评论!这也很好理解:在那些年里,Verilog和VHDL是主要的HDL竞争者,而Cadence主导了Verilog仿真市场。

也有一些反对Verilog的声音,大概是认为:

一方面,如果仅存Verilog,那么是形成垄断,垄断并不符合行业及其客户的普遍利益。有了垄断,就没有竞争。当竞争消失时,创新也会消失。另一方面,诟病Verilog的编程陷阱?例如非阻塞赋值等等!

对于事情的好坏,声音总是很多,都是利益相关,这与我们的主题无关,到此为止!

数据分析

下面我们来从更多的数据方面看看Verilog还有VHDL的对比情况:

谷歌网页搜索热度

  • 全球

全球以及2004年至今搜索对比情况

红色代表Verilog,蓝色代表VHDL,可以明显看出Verilog从追赶到反超的这样一个事实(还有一点有趣的是,很多年龄较大的领导或者导师更熟悉VHDL,和他们所处的年代有关!),我们把时间线拉近感受一下:

2018年至今全球搜索热度对比

从2018年初至今,Verilog的搜索热度还是高于VHDL,这是一个趋势!

  • 中国

上面是全球的情况,那么对于中国来说呢?

可见,大概2008年以前还平分秋色,但是之后,Verilog热度越来越大于VHDL!

我们缩短时间轴感受一下:

从平均值也能看出Verilog热度高于VHDL!

如果从全球区域使用情况来看:

可见,在中国、美国、俄罗斯以及加拿大使用Verilog的更多,而欧洲国家以及巴西、澳大利亚使用VHDL更多!中国的情况更加突出,Verilog对于VHDL的热度更明显:

美国情况类似:

而俄罗斯以及加拿大比例更小一些:

俄罗斯百分比

加拿大百分比

写在最后

即使开头所说,根据实验室的情况而定,但是有的实验室就有这种情况,例如导师更熟悉VHDL,但是实验室的师兄师姐都是使用Verilog,学校开课也是Verilog居多,就像我一样,处于这种情况,我是如何做出选择的呢?考虑到语言的难易程度,Verilog更容易掌握!考虑到国内大势,Verilog更受欢迎!等等等,我还是选择Verilog,但是VHDL不求会写,但是基本的还是要能看懂!有了Verilog的基础,在基本了解下VHDL语言,能看基本不是问题了!


参考资料

  • 参考资料1[2]
  • 参考资料2[3]
  • 参考资料3[4]
  • 参考资料4[5]

参考资料

[1]

个人博客首页: https://blog.csdn.net/Reborn_Lee

[2]

参考资料1: https://insights.sigasi.com/opinion/jan/verilogs-major-flaw/

[3]

参考资料2: https://insights.sigasi.com/opinion/jan/your-favorite-mistake/

[4]

参考资料3: https://trends.google.com/trends/explore?q=vhdl,verilog,system%20verilog

[5]

参考资料4: https://www.nandland.com/articles/vhdl-or-verilog-for-fpga-asic.html

[6]

FPGA/IC技术交流2020: https://blog.csdn.net/Reborn_Lee/article/details/105844330

本文分享自微信公众号 - FPGA LAB(gh_af38c08c9983),作者:李锐博恩

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • FPGA基础知识极简教程(9)七段数码管显示的Verilog简单设计

    作为FPGA的基础知识教程怎么能少得了这个简单的实际应用七段数码管显示,本篇博文算得上是对以往这个话题的一个总结吧!注:数码管本身是七段,但是加上小数点之后就是...

    Reborn Lee
  • 简易数字频率计(verilog HDL设计)(2020维护版本)

    这篇博客大概是2017年写的,目前已经是2020年8月不到,今天维护了一下但是并未保存,很受伤,不得不重新在维护一次。

    Reborn Lee
  • Verilog初级教程(22)赋值间延迟语句与赋值内延迟语句

    赋值间延迟语句在赋值运算符的LHS上有延迟值。这表示语句本身在延迟到期后执行,是最常用的延迟控制形式。

    Reborn Lee
  • 金九银十面试准备季:异常+IO与NIO流

    4、try catch fifinally,try里有return,finally还执行么?

    慕容千语
  • 【opencv小项目】深入理解回调函数

    读取一张图片,在该图片上截取一个ROI区域,将截取的图片在一个新的窗口内展示,并将该图片保持到工程目录下。

    小白学视觉
  • jquery.qrcode生成带logo二维码

    wePanda
  • C#开发: 准备工作-Visual Studio 安装

    C#基础语法知识:  https://www.runoob.com/csharp/csharp-tutorial.html

    杨奉武
  • 世界首次四足后空翻,MIT机器猎豹绝杀波士顿动力!(视频)

    MIT研发猎豹机器人不依靠视觉和任何外部传感器,全凭控制算法,会纵身飞跃上桌,能轻松爬上满是障碍物的楼梯,甚至在突然被猛推或猛踢时迅速恢复平衡。

    刀刀老高
  • 使用eggnog-mapper进行功能注释

    对于许多做非模式生物的同学来说,没有现成的功能注释可用是非常难受的一件事。而blast2go虽然可以一步到位帮你完成功能注释,但它是收费的。这时,我们可以使用e...

    生信小王子
  • Android开发笔记(一百五十)自动识别验证码图片

    若问目前IT领域最炙手可热的技术方向,必属人工智能(简称AI)无疑。前有谷歌的阿法狗完胜围棋世界冠军柯洁,后有微软小冰出版了诗...

    用户4464237

扫码关注云+社区

领取腾讯云代金券