微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Verilog HDL基础之:与C语言的区别与联系(独家)

Verilog HDL基础之:与C语言的区别与联系(独家)

时间:06-05 来源:互联网 点击:

模块的不同调用是不同的,即使调用的是同一个模块,必须用不同的名字来指定。

Verilog的语法规则很死,限制很多,能用的判断语句有限,仿真速度较慢,查错功能差,错误信息不完整。仿真软件通常也很昂贵,而且不一定可靠。C语言的花样则很多,转换过程中会遇到一些困难。

C语言没有时间关系,转换后的Verilog程序必须要能做到没有任何外加的人工延时信号,否则将无法使用综合工具把Verilog源代码转化为门级逻辑。

3.如何利用C语言来加快硬件的设计和查错

如表1所示为常用的C语言与Verilog相对应的关键字与控制结构。

表1 C语言与Verilog相对应的关键字与控制结构表

C

Verilog

sub-function

module、function、task

if-then-else

if-then-else

case

case

{,}

begin、end

for

for

while

while

break

disable

define

define

int

int

printf

monitor、display、strobe

如表2所示为C语言与Verilog相对应的运算符。

表2 C语言与Verilog对应运算符表

C

Verilog

功 能

*

*

/

/

+

+

-

-

%

%

取模

!

!

反逻辑

逻辑与

||

||

逻辑或

>

>

大于

小于

续表

C

Verilog

功 能

>=

>=

大于等于

=

=

小于等于

==

==

等于

!=

!=

不等于

位反相

按位逻辑与

|

|

按位逻辑或

^

^

按位逻辑异或

~^

~^

按位逻辑同或

>>

>>

右移

左移

?:

?:

相当于if-else

从上面的讲解我们可以总结如下。

  • C语言与Verilog硬件描述语言可以配合使用,辅助设计硬件。
  • C语言与Verilog硬件描述语言很像,但要稍加限制。
  • C语言的程序很容易转成Verilog的程序。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top