0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Verilog是编程语言吗

奈因PCB电路板设计 来源:硅农 作者:硅农 2021-08-23 14:30 次阅读

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

趁着最近奇葩说正播,本篇文章试着用辩论的形式来讨论一下这个问题。正反两方,正方:Verilog当然算编程语言,反方:Verilog不能称为编程语言。接下来,有请双方立论。正方先开始。

正方

Verilog当然算是编程语言,首先我们来看看什么叫编程语言。根据维基百科,最早的编程语言是在电脑发明之前,当时是用来控制提花织布机及自动演奏钢琴的动作。

所以并不是说在计算机体系结构上跑的才能叫编程语言,你做一段可以自动弹棉花的动作,规定规则(语法)和含义(语义),这就可以称为一段编程语言。再来看Verilog,符合编程语言描述的语法和语义,然后通过综合(编译)生成bit流文件,下载FPGA上,FPGA根据这个bit流文件,然后将内部的LUT、D触发器等基本单元任意组合实现组合电路和时序电路。

最终使FPGA能实现各种硬件功能。请问这样还不算编程语言算什么?这是我方的第一个论点。

再来,我准备了一页PPT

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写代码不叫编程,那叫描述电路。

关于这个问题,你还有什么见解,欢迎评论区留言。责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Verilog
    +关注

    关注

    28

    文章

    1351

    浏览量

    110363
  • 编程
    +关注

    关注

    88

    文章

    3637

    浏览量

    93963

原文标题:灵魂发问:Verilog到底能不能算是编程语言?这位技术老兵是这样说的……

文章出处:【微信号:pcbgood,微信公众号:奈因PCB电路板设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    数字电路编程语言介绍

    数字电路编程语言是专门为描述和模拟数字电路而设计的编程语言。它们通常具有以下特点: 硬件描述语言(HDL) :大多数数字电路
    的头像 发表于 01-24 09:39 150次阅读

    Verilog与VHDL的比较 Verilog HDL编程技巧

    Verilog 与 VHDL 比较 1. 语法和风格 VerilogVerilog 的语法更接近于 C 语言,对于有 C 语言背景的工程
    的头像 发表于 12-17 09:44 328次阅读

    system verilog语言简介

    ICer需要System Verilog语言得加成,这是ICer深度的表现。
    发表于 11-01 10:44 0次下载

    FPGA编程语言的入门教程

    FPGA(现场可编程逻辑门阵列)的编程涉及特定的硬件描述语言(HDL),其中Verilog和VHDL是最常用的两种。以下是一个FPGA编程
    的头像 发表于 10-25 09:21 431次阅读

    plc编程语言编程相关技巧有哪些

    PLC(可编程逻辑控制器)编程语言及相关编程技巧是工业自动化领域中不可或缺的知识。 一、PLC编程语言
    的头像 发表于 10-21 16:56 435次阅读

    PLC的编程方式及编程语言

    在工业自动化领域,PLC(Programmable Logic Controller,可编程逻辑控制器)因其强大的控制功能和灵活的编程方式而得到了广泛应用。PLC的编程方式和编程
    的头像 发表于 06-27 14:08 926次阅读

    PLC编程语言和C语言的区别

    在工业自动化和计算机编程领域中,PLC(可编程逻辑控制器)编程语言和C语言各自扮演着重要的角色。尽管两者都是
    的头像 发表于 06-14 17:11 3216次阅读

    fpga是用c语言还是verilog

    FPGA(现场可编程逻辑门阵列)开发主要使用的编程语言是硬件描述语言(HDL),其中Verilog是最常用的
    的头像 发表于 03-27 14:38 2159次阅读

    fpga语言是什么?fpga语言与c语言的区别

    FPGA语言,即现场可编程门阵列编程语言,是用于描述FPGA(Field Programmable Gate Array)内部硬件结构和行为的特定
    的头像 发表于 03-15 14:50 1015次阅读

    fpga通用语言是什么

    FPGA(现场可编程门阵列)的通用语言主要是指用于描述FPGA内部逻辑结构和行为的硬件描述语言。目前,Verilog HDL和VHDL是两种最为广泛使用的FPGA
    的头像 发表于 03-15 14:36 554次阅读

    fpga三种编程语言

    FPGA(现场可编程门阵列)的编程涉及到三种主要的硬件描述语言(HDL):VHDL(VHSIC Hardware Description Language)、Verilog以及Syst
    的头像 发表于 03-15 14:36 1194次阅读

    fpga用什么语言编程

    FPGA(现场可编程门阵列)的编程主要使用硬件描述语言(HDL),其中最常用的是Verilog HDL和VHDL。
    的头像 发表于 03-14 18:17 2933次阅读

    fpga用的是什么编程语言 fpga用什么语言开发

    fpga用的是什么编程语言 FPGA(现场可编程逻辑门阵列)主要使用的编程语言是硬件描述语言(H
    的头像 发表于 03-14 17:09 3631次阅读

    fpga芯片用什么编程语言

    FPGA芯片主要使用的编程语言包括Verilog HDL和VHDL。这两种语言都是硬件描述语言,用于描述数字系统的结构和行为。
    的头像 发表于 03-14 16:07 1609次阅读

    verilog与其他编程语言的接口机制

    Verilog是一种硬件描述语言,用于描述数字电路的行为和结构。与其他编程语言相比,Verilog具有与硬件紧密结合的特点,因此其接口机制也
    的头像 发表于 02-23 10:22 765次阅读