Verilog HDL与C语言的关系
Verilog HDL是一种硬件描述语言(Hardware Description Language),是一种用于模拟、分析和综合数字电路的语言,常用于FPGA设计、ASIC设计、芯片设计等领域。与C语言相比,Verilog HDL语法较死,限制较多,所能用到的判断叙述有限。C语言是顺序执行语句,理念就是一行行的执行;而Verilog HDL语言所描述的对象是硬件,在同一时间内有很多硬件电路一起并行,二者之间存在冲突,在时序关系处理上其有思考的死角。因此,二者在很多方面存在巨大的差异。
下面是Verilog HDL和C语言的比较:
1、Verilog HDL语言提供了逻辑门元件、用户自定义元件、开关级元件和连线逻辑元件等内建元件,其包含一套内建元件,通过定义两个数据类型(wire型和reg型)体现了混合的抽象层次。而C语言具有着丰富的输入/输出函数,两者在这方面有很大的区别。
2、Verilog HDL语言中不能像C语言一样有很抽象的表示语法,如:迭代表示法、指针、不确定的循环以及动态声明等等。而C语言具有这些语言特点,因此在这方面C语言更加灵活。
3、Verilog HDL语言仿真速度慢,查错工具差,错误信息不完整。Verilog HDL语言提供仿真工具软件,其延时语句只能用于仿真,且仿真工具价格较为高昂,可靠性不明确。而C语言的查错功能强,还可以通过PLI(编程语言接口)编写自己的系统任务直接与硬件仿真器(如Verilog-XL)结合使用。

Verilog HDL语言和C语言的关键字及控制描述表在常用的运算符方面基本一致。
Verilog HDL语言和C语言在数据类型、运算符等方面也存在差异:
1、Verilog HDL语言有两大类数据类型:线网类型和寄存器类型。线网类型表示Verilog HDL结构化元件间的物理连线,它的值由驱动元件的值决定,例如连续赋值或门的输出,线网的缺省值为z(高阻态)。寄存器类型表示一个抽象的数据存储单元,它只能在always语句和initial语句中被赋值,并且它的值被保存下来,缺省值为x(未知状态)。而C语言则有int、float、char、double、long、short等数据类型。
2、Verilog HDL语言中只有能够综合的5种运算,而VHDL中有10种运算,但很多都不能进行综合,只能用于行为描述。
3、Verilog HDL中有14种运算,分为一般逻辑运算、位逻辑运算、缩减逻辑运算。而C语言中则有算术运算、逻辑运算、关系运算等。
版权申明:文章由用户发布,不代表本网站立场,如果侵权请联系我们删除。