登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

选择VHDL还是verilog HDL

作者:wzy_0649 栏目:EDA技术
选择VHDL还是verilog HDL
硬件描述语言HDL(HARDWARE Describe Language)


HDL概述

  随着EDA技术的发展,使用硬件语言设计PLD/FPGA成为一种趋势。目前最主要的硬件描述语言是VHDL和Verilog HDL。 VHDL发展的较早,语法严格,而Verilog HDL是在C语言的基础上发展起来的一种硬件描述语言,语法较自由。 VHDL和Verilog HDL两者相比,VHDL的书写规则比Verilog烦琐一些,但verilog自由的语法也容易让少数初学者出错。 国外电子专业很多会在本科阶段教授VHDL,在研究生阶段教授verilog。从国内来看,VHDL的参考书很多,便于查找资料,而Verilog HDL的参考书相对较少,这给学习Verilog HDL带来一些困难。 从EDA技术的发展上看,已出现用于CPLD/FPGA设计的硬件C语言编译软件,虽然还不成熟,应用极少,但它有可能会成为继VHDL和Verilog之后,设计大规模CPLD/FPGA的又一种手段。



选择VHDL还是verilog HDL?

这是一个初学者最常见的问题。其实两种语言的差别并不大,他们的描述能力也是类似的。掌握其中一种语言以后,可以通过短期的学习,较快的学会另一种语言。 选择何种语言主要还是看周围人群的使用习惯,这样可以方便日后的学习交流。 当然,如果您是集成电路(ASIC)设计人员,则必须首先掌握verilog,因为在IC设计领域,90%以上的公司都是采用verilog进行IC设计。对于PLD/FPGA设计者而言,两种语言可以自由选择。



学习HDL的几点重要提示

1.了解HDL的可综合性问题:

HDL有两种用途:系统仿真和硬件实现。 如果程序只用于仿真,那么几乎所有的语法和编程方法都可以使用。 但如果我们的程序是用于硬件实现(例如:用于FPGA设计),那么我们就必须保证程序“可综合”(程序的功能可以用硬件电路实现)。 不可综合的HDL语句在软件综合时将被忽略或者报错。 我们应当牢记一点:“所有的HDL描述都可以用于仿真,但不是所有的HDL描述都能用硬件实现。”

2. 用硬件电路设计思想来编写HDL:

学好HDL的关键是充分理解HDL语句和硬件电路的关系。 编写HDL,就是在描述一个电路,我们写完一段程序以后,应当对生成的电路有一些大体上的了解, 而不能用纯软件的设计思路来编写硬件描述语言。 要做到这一点,需要我们多实践,多思考,多总结。

3.语法掌握贵在精,不在多

30%的基本HDL语句就可以完成95%以上的电路设计,很多生僻的语句并不能被所有的综合软件所支持,在程序移植或者更换软件平台时,容易产生兼容性问题,也不利于其他人阅读和修改。建议多用心钻研常用语句,理解这些语句的硬件含义,这比多掌握几个新语法要有用的多。



HDL与原理图输入法的关系

  HDL和传统的原理图输入方法的关系就好比是高级语言和汇编语言的关系。HDL的可移植性好,使用方便,但效率不如原理图;原理图输入的可控性好,效率高,比较直观,但设计大规模CPLD/FPGA时显得很烦琐,移植性差。在真正的PLD/FPGA设计中,通常建议采用原理图和HDL结合的方法来设计,适合用原理图的地方就用原理图,适合用HDL的地方就用HDL,并没有强制的规定。在最短的时间内,用自己最熟悉的工具设计出高效,稳定,符合设计要求的电路才是我们的最终目的。



HDL开发流程

用VHDL/VerilogHD语言开发PLD/FPGA的完整流程为:

1.文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL文件保存为.vhd文件,Verilog文件保存为.v文件

2.功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)

3.逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成.edf(edif)的EDA工业标准文件。

4.布局布线:将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内

5.时序仿真:需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。(也叫后仿真)

6.编程下载:确认仿真无误后,将文件下载到芯片中

通常以上过程可以都在PLD/FPGA厂家提供的开发工具(如MAXPLUSII,Foundation,ISE)中完成,但许多集成的PLD开发软件只支持VHDL/Verilog的子集,可能造成少数语法不能编译,如果采用专用HDL工具分开执行,效果会更好,否则这么多出售专用HDL开发工具的公司就没有存在的理由了。



* - 本贴最后修改时间:2005-1-11 20:21:35 修改者:n3207

2楼: >>参与讨论
xjg1111
re
   不管是图形编辑,Verilog ,VHDL语言,SYSTEM C,SYSTEM-verilog等等,它们都仅仅是一种工具,关键是设计之初在脑海里要有一种成形时序和逻辑的概念。
   还有就是对语言工具与综合工具之间的掌握程度,相同的语言可能在不同的综合工具中有不同的结果。说到这里又涉及到coding sytle~~~~
   多练多实验,多仿真,多验证还是有好处的。

* - 本贴最后修改时间:2005-1-11 20:00:41 修改者:xjg1111

3楼: >>参与讨论
tornadotei
同意楼上的。
 
4楼: >>参与讨论
avlicht
学什么应该没有太大的差别,思想最重要!
 
5楼: >>参与讨论
humanpj
re
给初学者上了很好的一课呀!

6楼: >>参与讨论
wzy_0649
谢谢版主的修改
 
7楼: >>参与讨论
tg.liu
好铁,支持!
 
8楼: >>参与讨论
wuzm02
支持,多发一些Verilog HDL子程序集就更好了
支持,
   如果多发一些Verilog HDL子程序集就更好了!

9楼: >>参与讨论
rickyice
语言没啥学的,重要的是风格与优化
 
10楼: >>参与讨论
kacha2001
新手
谢谢,好意见

11楼: >>参与讨论
yangli1981
re
其实随便!这两门我都学了

12楼: >>参与讨论
rickyice
verilog我们都在用
 
13楼: >>参与讨论
冰峰九天雪
问个问题 谢谢
在学校学的vhdl比在实际工作中需要的差多少?
谢谢 我是新手以后请多多照顾

14楼: >>参与讨论
gao_zb
VHDL vs. VerlogHDL
如果我们在RTL级设计一般的电路,并能够确定书写的代码会被综合成什么样的电路,电路功能是否能够满足设计要求,这时选用什么样的语言是无所谓的。
如果设计要求从系统一级到电路一级逐级的设计与验证,我个人觉得还是VHDL好。虽然VerilogHDL易学一些,但VHDL在高层可以描述系统行为,在底层可以与电路行为相吻合,想做大的话就用它吧。

15楼: >>参与讨论
shinebeam
新手
我们没有学过这些语言,是否有好的书推荐一下?
是不是最好用硬件实现


16楼: >>参与讨论
ialpha
谢谢
 
17楼: >>参与讨论
tuo176
我选择 verilog!
verilog是基于c语言的,学起来相对简单点.
另外推荐大家一个软件:quartusII.
很好用哦!!!

18楼: >>参与讨论
kilo123
thanks
thanks

19楼: >>参与讨论
adamzhao
非常好! SUPPORT
非常好! SUPPORT

收藏了

20楼: >>参与讨论
radio_yb
语言的核心是“语法”
 
21楼: >>参与讨论
friends94
语言只是载体,思想实现方法最重要!
 
22楼: >>参与讨论
angellynn
求助!!大家都来帮帮啊!!!!!!!
刚刚开始接触VHDL,无法独立完成一个电子时钟的设计,需要高人带路啊~~
现在急需一个模本对照仿真!!!
1,    基本要求
①能清零
②秒、分、时计数扫描显示
③显示格式
④能调时调秒,24小时制
⑤跑表功能
有模本的能人快来救命了,大家多多帮忙啊!
小弟在这里先谢了!!!!!!!!!!!
可以联系myronlynn@126.com
或QQ:48636213
最好这几天,我已经折磨的不行了!!!!

23楼: >>参与讨论
辉儿
原理图和HDL结合的方法,我现在还不会用,可否告知,不胜感激!!
 
参与讨论
昵称:
讨论内容:
 
 
相关帖子
verilog初学者的一个问题,希望各位指教!
GAL16V8用什么写的啊
急,找不到编程方式啊?
cpld的vhdl语言:请教问题!
那位高手有谁用过Atmel的CPLD电路图法仿真?
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号