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的程序。
VerilogHDL 华清远见 C语言 相关文章:
- Verilog门电平模型化(06-06)
- VHDL:中文版Verilog HDL简明教程:第3章 Verilog语言要素(06-06)
- VHDL:中文版Verilog HDL简明教程:第2章 HDL指南(06-06)
- VHDL:中文版Verilog HDL简明教程:第1章 简介(06-06)
- VHDL:中文版Verilog HDL简明教程:第3章 Verilog语言要素(续)(06-06)
- 基于Verilog应用(06-06)