Verilog HDL和VHDL的区别


VHDLVerilog HDL 的区别

低层次建模

VHDLVerilog HDL都可以描述硬件,然后,在低层次硬件描述上VERILOG HDL好于VHDL。这是因为Verilog HDL最初就是用来创建和仿真逻辑门电路的。实际上,Verilog HDL有内置的门或者是低层次的逻辑门,因此,设计者能够用Verilog代码实例门电路而在VHDL中不可以。

Verilog的门级元件有:and, nand, or, nor, xor, xnor, buf, not, bufif0, notif0, bufif1, notif1, pullup, pulldown.Verilog的开关级元件有:pmos, nmos, rpmos, rnmos, cmos, rcmos, tran, rtran, tranif0, rtranif0, tranif1, rtranif1.

更加重要的是,Verilog支持用户自定义元件,因此,设计者可以定义他们自己的单元元件。这个特点对于ASIC的设计者来说必须和受欢迎

VHDL同样有一些低层次的嵌入式的逻辑门,如NOT, AND, NAND, OR, NOR, XOR, XNOR.

举例如下:

or u1(x,y,z);      (in Verilog)       <=>         x <= y OR z; in VHDL

and u2(i1,i2,i3);     (in Verilog)    <=>    i3 <= i2 AND i3; in VHDL

高层次建模

另一方面,在高层次硬件建模方面,VHDLVerilog HDL要强。VHDLVerilog HDL提供了更多的特点和构造结构,这些使得VHDL更适合高层次建模。在比较VHDLVerilog后,以下几个主要不同的特点来支撑高层次建模。

1、VHDL中,用户自定义数据类型

Verilog有非常简单的数据类型,这些数据类型全部由Verilog语言自己定义(用户不能自己定义数据类型)。Verilog有两大数据类型,包括网格(net)数据类型和变量数据数据类型。网格数据类型主要用来连接元件,如wire(最受欢迎)、worwandtritrior等;变量数据类型用来暂时存储数据如reg(最受欢迎)、integertimereal realtime

VHDL支持许多不同的数据类型,包括预定义数据类型和自定义数据类型。预定义数据类型包括 bit, bit_vector, string, time, boolean, character, and numeric (real or integer).VHDL允许设计者在预定义数据类型的基础上,定义不同的数据类型。对于可能会用许多不同的数据类型的复杂和高层次的系统来说,这是一个好的特征。

2、在VHDL中,用于设计复用的包(package

VHDL中,包通常会被用来声明数据类型和子程序。被声明在包中的数据类型和子程序能被不同的实体或者结构体引用。

Verilog中没有包的定义,最接近VHDL包的是include指令函数或者定义能被单独存在另外的文件,用的时候用include指令。

3、在VHDL中的配置语句

一个VHDL设计能包含许多设计实体,每一个设计实体可以有许多不同的结构体。在设计中,配置语句能给设计单元分配具体的结构体。在VHDL设计中需要管理一个大的高层次设计时,这个特点非常有帮助。

4、在vhdl中库管理

当同时看VHDLVerilog代码时,最明显的区别是Verilog没有库调用,而VHDL在代码前面有库调用。VHDL库包含结构体、实体、包和配置语句。当管理大型设计结构是,这些特点非常有用。

总之,VHDL在高层次建模时,比Verilog好。如果我是一个FPGA设计者,因为FPGA设计不要求低成次硬件建模,所以我更喜欢VHDL

值得一提是, 通过加入和VHDL一样的高层次特点和结构,提高Verilog在高层次建模方面的弱点,提出来SystemVerilog语言。SystemVerilog现在被广泛应用到IC验证中。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM