首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Verilog HDL

Verilog HDL

Verilog HDL的特点:

语法结构上的主要特点:

Ø
形式化地表示电路的行为和结构;

Ø
借用C语言的结构和语句;

Ø
可在多个层次上对所设计的系统加以描述,语言对设计规模不加任何限制;

Ø
具有混合建模能力:一个设计中的各子模块可用不同级别的抽象模型来描述;

Ø
基本逻辑门、开关级结构模型均内置于语言中,可直接调用;

Ø
易创建用户定义原语(UDPUserDesigned Primitive

易学易用,功能强。

Verilog HDL程序是由模块构成的。每个模块嵌套在moduleendmodule声明语句中。模块是可以进行层次嵌套的。

每个VerilogHDL源文件中只准有一个顶层模块,其他为子模块。

每个模块要进行端口定义,并说明输入输出端口,然后对模块的功能进行行为逻辑描述。

程序书写格式自由,一行可以写几个语句,一个语句也可以分多行写。

除了endmodule语句、begin_end语句和fork_join语句外,每个语句和数据定义的最后必须有分号。

可用/*.....*///...对程序的任何部分作注释。加上必要的注释,以增强程序的可读性和可维护性。

Verilog HDL模块的基本结构:模块名,端口定义,I/O口说明,信号类型声明,功能描述。

1:元件例化即是调用Verilog HDL提供的元件;

2:元件例化包括门元件例化和模块元件例化;

3:每个实例元件的名字必须唯一!以避免与其它调用元件的实例相混淆。

4:例化元件名也可以省略!

任何用VerilogHDL语言描述的“东西”都通过其名字来识别,这个名字被称为标识符。如源文件名、模块名、端口名、变量名、常量名、实例名等。

标识符可由字母、数字、下划线和$符号构成;但第一个字符必须是字母或下划线,不能是数字或$符号!

VerilogHDL中变量名是区分大小写的!

注意:

1)每个Verilog HDL源文件中只准编写一个顶层模块,也不能把一个顶层模块分成几部分写在几个源文件中。

2)源文件名字应与文件内容有关,最好与顶层模块同名!源文件名字的第一个字符必须是字母或下划线,不能是数字或$符号!

3)每行只写一个声明语句或说明。

4)源代码用层层缩进的格式来写。

5)定义变量名的大小写应自始至终保持一致(如变量名第一个字母均大写)。

6)变量名应该有意义,而且含有一定的有关信息。局部变量名(如循环变量)应简单扼要。

7)通过注释对源代码做必要的说明,尤其对接口(如模块参数、端口、任务、函数变量)做必要的注释很重要。

8)常量尽可能多地使用参数定义和宏定义,而不要在语句中直接使用字母、数字和字符串。

合中生成触发器。

返回列表