VHDL和Verilog的区别

VHDL和Verilog的区别这两种语言都是用于数字电子系统设计的硬件描述语言,而且都已经是IEEE的标准。VHDL1987年成为标准,而Verilog是1995年才成为标准的。这个是因为VHDL是美国军方组织开发的,而Verilog是一个公司的私有财产转化而来的。为什么Verilog能成为IEEE标准呢?它一定有其优越性才行,所以说Verilog有更强的生命力。 这两

大家好,又见面了,我是你们的朋友全栈君。

这两种语言都是用于数字电子系统设计的硬件描述语言,而且都已经是 IEEE 的标准。 VHDL 1987 年成为标准,而 Verilog 是 1995 年才成为标准的。这个是因为 VHDL 是美国军方组织开发的,而 Verilog 是一个公司的私有财产转化而来的。为什么 Verilog 能成为 IEEE 标准呢?它一定有其优越性才行,所以说 Verilog 有更强的生命力。

 

这两者有其共同的特点:

1. 能形式化地抽象表示电路的行为和结构;

2. 支持逻辑设计中层次与范围地描述;

3. 可借用高级语言地精巧结构来简化电路行为和结构;具有电路仿真与验证机制以保证设计的正确性;

4. 支持电路描述由高层到低层的综合转换;

5. 硬件描述和实现工艺无关;

6. 便于文档管理;

7. 易于理解和设计重用。


但是两者也各有特点:

Verilog HDL 推出已经有 20 年了,拥有广泛的设计群体,成熟的资源也比 VHDL 丰富。 Verilog 更大的一个优势是:它非常容易掌握,只要有 C 语言的编程基础,通过比较短的时间,经过一些实际的操作,可以在 2 ~ 3 个月内掌握这种设计技术。而 VHDL 设计相对要难一点,这个是因为 VHDL 不是很直观,需要有 Ada 编程基础,一般认为至少要半年以上的专业培训才能掌握。


目前版本的 Verilog HDL 和 VHDL 在行为级抽象建模的覆盖面范围方面有所不同。一般认为 Verilog 在系统级抽象方面要比 VHDL 略差一些,而在门级开关电路描述方面要强的多。


近 10 年来, EDA 界一直在对数字逻辑设计中究竟用哪一种硬件描述语言争论不休,目前在美国,高层次数字系统设计领域中,应用 Verilog 和 VHDL 的比率是0%和20%;日本和台湾和美国差不多;而在欧洲 VHDL 发展的比较好。在中国很多集成电路设计公司都采用 Verilog ,但 VHDL 也有一定的市场。


以下是综合整理网上的一些声音,比较有参考意义:

1、最近和朋友谈到这个问题, 他们选的是 Verilog。原因是, IP供应商大多提供 Verilog, 如果你的 Project 是从头做到尾都自己來, 不用別人的 IP 那么, 我想问题不大, 但如果你未來会开 ASIC 需要整合 IP 供应商的 IP 那么建议你用 Verilog!

2、以前的一个说法是:在国外学界VHDL比较流行,在产业界Verilog比较流行。

3、说技术上有多大优势都是没什么意义的,有些东西也不是技术决定的,大家都觉得VHDL没前途,它就没有前途了。

4、VHDL太陈腐了。Verilog2001标准刚推出来没两年,明年又要推出verilog2005标准了,现在草案都是第三稿了。再看看VHDL,一点发展动静都没有,怎么能跟得上时代的要求啊,怎么能做得了系统级概念设计、集成、仿真和验证啊。

5、verilog适合算法级,rtl,逻辑级,门级,而vhdl适合特大型的系统级设计,也就是在系统级抽象方面比verilog好。

6、I know both languages equally well. When asked which one I prefer, I usually answer that I was asked the wrong question. The right question should be “Which one do I hate the least?” And the answer to that question is: “the one I’m not currently working with”.

7、Verilog code 运行快,simulation performance 好,所以netlist都用verilog;VHDL package 比较好,但写得费事…

8、国内VHDL看到的更多一些,国外应该都是Verilog,你看看常见的这些EDA软件对Verilog的支持程度就知道了,如Modelsim、Debussy、Synplify、LDV。从我的实践看,绝对是Verilog流行,当然,也可能是我孤陋寡闻了。选择哪个语言其实是跟你在哪个公司上班有关,公司用哪个你就得用哪个,如果你现在还没有上班,那你要看看你要应聘哪个公司,比如你应聘我们公司的话呢,那肯定就是Verilog了。从电路设计上说,道理都是相通的,上手还是不成问题,不过从语言、语法的角度讲,差异还是很大的,要发挥语言、代码本身的全部功能、潜力,没有一两年的使用是不行的。

9、应该说随着IC设计的发展,用Verilog的越来越多,VHDL越来越少,我感觉这绝对是一个趋势。其实语言本身是其次,重要的是你所在的团队、公司用的是什么。

你可能误解了,国内几个大公司IC设计都是用的Verilog,如华为、中兴等。

10、Verilog就像C;VHDL就像PASCAL。

11、VHDL比较严谨,Verilog比较自由,初学还是用VHDL比较好,初学用Verilog会比较容易出错。

12、在国外,VHDL是本科课程,Verilog是研究生课程。


如果坛子里的Diggers有什么见解,欢迎补充哟!~


对于新手而言,顺大便(恩,不是小便)推荐一下坛子里汇总的Verilog与VHDL的经典自学资料汇总贴,拿好不谢!

Verilog:http://www.digilent.com.cn/community/110.html 

VHDL:http://www.digilent.com.cn/community/112.html 


原文链接:http://www.digilent.com.cn/community/111.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125331.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 使用adb logcat命令显示Android设备上的Log日志

    使用adb logcat命令显示Android设备上的Log日志使用adblogcat命令显示Android设备上的Log日志有时候我们在手机程序上的日志要在其他地方调试,然后要看里面的Log日志。本文教大家如何在不需要studio就可以查看手机程序中的Log日志。实现这个功能的前提是使用adb命令,所以必须要有手机和电脑,还有安装adb,adb程序是很小的几M就可以。一.在cmd窗口查看手机的Log日志在确定连上手机后(adbdevi…

  • docker端口映射不起作用的解决办法有哪些_docker 端口映射

    docker端口映射不起作用的解决办法有哪些_docker 端口映射今天初学Docker和宿主机的端口映射,根据网上的博客进行了操作。执行命令:dockerrun-d-p50070:50070-p8088:8088–namehadoop1ubuntu:java但是发现命令可以正常执行,但端口映射就是不成功,PORTS一直为空,就像下图这样:然后输入命令dockerportc526发现输出也为空这就奇了怪了…

    2022年10月17日
  • kettle连接数据库

    kettle连接数据库

  • git reset后如何返回最新版本_reset按钮无法恢复

    git reset后如何返回最新版本_reset按钮无法恢复一、问题描述在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。二、背景知识git的版本管理,及HEAD的理解使用git的每次提交,Git都会自动把它们串成一条时间线,这条时间线就是一个分支。如果没有新建分支,那么…

  • 【LDC1314】电感传感器中文手册与检测原理介绍

    【LDC1314】电感传感器中文手册与检测原理介绍关键词:LDC1314,电感传感器,金属传感器,中文手册【声明:本博文参考TI官方手册翻译而成,旨在帮助大家快速了解这款芯片,如翻译有误欢迎评论指出,转载需注明来源!】以下是我对TI官方手册的人肉翻译,截取了其中的关键部分,有助于大家更好的撸底层驱动和排查硬件问题。相关博客:【LDC1314】金属传感器(电感传感器)的调试技巧首先,是引脚位的定义与说明:引脚 引脚类型…

  • MySQL创建数据库和创建数据表

    MySQL创建数据库和创建数据表MySQL创建数据库和创建数据表MySQL是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。在这之前,需要先安装好MySQL,然后创建好数据库、数据表、操作用户。一、数据库操作语言数据库在操作时,需要使用专门的数据库操作规则和语法,这个语法就是SQL(StructuredQueryLanguage)结构化查询语言。SQL的主要功能是和数据库…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号