当前位置:首页 > 公众号精选 > 嵌入式微处理器
[导读]知乎上刷到一个问题,问性能最强的编程语言是什么?看到高赞回答到是Verilog,然后在评论区就引发了一场Verilog到底算不算编程语言的争论,我觉得比较有意思,所以就也打算唠唠这个事情。趁着最近奇葩说正播,本篇文章试着用辩论的形式来讨论一下这个问题。正反两方,正方:Verilo...



知乎上刷到一个问题,问性能最强的编程语言是什么?看到高赞回答到是Verilog,然后在评论区就引发了一场Verilog到底算不算编程语言的争论,我觉得比较有意思,所以就也打算唠唠这个事情。

趁着最近奇葩说正播,本篇文章试着用辩论的形式来讨论一下这个问题。正反两方,正方:Verilog当然算编程语言,反方:Verilog不能称为编程语言。接下来,有请双方立论。正方先开始。
正方
Verilog当然算是编程语言,首先我们来看看什么叫编程语言。根据维基百科,最早的编程语言是在电脑发明之前,当时是用来控制提花织布机及自动演奏钢琴的动作。
所以并不是说在计算机体系结构上跑的才能叫编程语言,你做一段可以自动弹棉花的动作,规定规则(语法)和含义(语义),这就可以称为一段编程语言。再来看Verilog,符合编程语言描述的语法和语义,然后通过综合(编译)生成bit流文件,下载到FPGA上,FPGA根据这个bit流文件,然后将内部的LUT、D触发器等基本单元任意组合实现组合电路和时序电路。
最终使FPGA能实现各种硬件功能。请问这样还不算编程语言算什么?这是我方的第一个论点。
再来,我准备了一页PPT,请看下面这张图,
网站链接在这里https://www.tiobe.com/tiobe-index/
这是TIOBE公司公布的1月全球最流行编程语言排行榜,可以看到Verilog还没有排到前50 ,但是没关系,Verilog上榜了,权威机构都说明了,所以Verilog作为编程语言,还有什么需要争论的。这是我方第二个论点。
再来,刚才我在前面提到了FPGA,FPGA的全称是什么,Field Programmable Gate Array,现场可编程逻辑门阵列,看到没有——可编程,那么它对应的编程语言是啥,就是Verilog。
我们很多理工科专业的朋友在学校或多或少都接触过FPGA。可以说在FPGA上你可以用Verilog写出任何数字电路,但是这个编程的过程也是非常漫长和枯燥的,因为你要从最小一个门,一个D触发器开始搭建,然后要进行漫长的仿真调试,才能实现最终一个硬件功能。
为什么设计起来这样累的语言还一直被我们使用,因为它是目前我们设计电路最主流、流程最完善、PPA权衡最好的语言,如果说有人问?目前性能最强的编程语言是什么,那么我一定回答是Verilog,因为没有哪个语言的运行速度能跑得快FPGA和ASIC。
反方
OK,别着急,我们慢慢来,都在射程范围之内,都在射程范围之内。
刚才,对方一直不断重复Verilog,Verilog,但是却没有说全Verilog的全称是什么,Verilog HDL,HDL是什么,不是Hardware Design Language硬件设计语言,是Hardware Description Language硬件描述语言。看到没有,Verilog在定义时在名称上就说的明明白白,它是硬件描述语言,而不是编程语言。
再来,对方第二个论点,举例了一个TIOBE的最流行编程语言排行榜,说上面有Verilog,觉得这就是权威,从而得出结论,说Verilog是编程语言。首先,我方相信这个排行榜的流行准确性,但是你要知道这个排行榜是否会真的去研究Verilog到底能不能归类到编程语言范畴的这个问题?
因为这个排行榜真正在意的重点是语言的受欢迎程度,而不是语言的准确分类。如果今天有一个排行榜,来公布的是最流行的硬件描述语言的话,我相信排在第一第二的肯定是VHDL和Verilog HDL。
所以我方认为对方的第二个论点不成立。
至于对方所提到的第三点,FPGA全称是现场可编程逻辑门阵列,但是这里的可编程应该理解为可更改的意思,而并不是Verilog对它进行编程。用Verilog描述的电路可以运行在FPGA上,意味着这个电路是可更改,可擦除的。
对方最后提到的Verilog是性能最强的编程语言,我认为这样和其他编程语言做比较,完全就是在作弊,因为编程语言都是最终被编译成二进制指令,运行在电路上的,Verilog就是电路本身。没有人能快过电路本身。
我们把编程语言写出来的代码叫程序,程序是什么?在计算机中程序就是控制计算机的指令。HDL写出来的代码叫什么?好像也不能直接叫程序,因为从某种意义上它只是电路的一种描述形式,它可以说就是计算机、就是电路。所以用Verilog写的代码只能叫代码,不能叫程序。这是Verilog和编程语言的本质区别。
最后,这道题目我们在讨论的是什么,我们在讨论的是编程语言吗?不是,这道题目我们最终要讨论的是,你在写Verilog的时候,是否心中有电路。我们在写Verilog时,是在做一个电路设计,Verilog只是作为一个工具,帮我们将脑海构思的设计、电路给实现出来。
况且你写代码的时候,不仅心中要有电路,而且还得写下来,画出来,然后照图施工。如果你真的清楚的知道自己是在做什么,而不是利用现有积累的语法规则和方法去实现一定的功能的时候,你就不会提出这个问题。因为你清楚,我这不是在编程,我这是在描述硬件,我是在设计电路。综上,我方认为Verilog不是编程语言,它是硬件描述语言。
最后
Verilog是一种硬件定义语言。编程语言通常被理解为用于告知现有硬件要做什么的语言,而不是直接用于描述硬件的语言,即使在维基百科和各大网站会把Verilog归类到编程语言当中,广义上来说编程语言的范畴甚至在计算机出现之前,硬要这么归类,也没问题。但是我认为我们学习、使用Verilog的朋友,必须要区分开软硬件的差异。用Verilog写代码不叫编程,那叫描述电路。
关于这个问题,你还有什么见解,欢迎评论区留言。
Reference维基百科——Verilog、FPGA、编程语言、编程语言列表

END
来源:硅农,作者:硅农版权归原作者所有,如有侵权,请联系删除。
嵌入式ARM

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭