Verilog HDL语法学习1

一.模块

Verilog HDL语法学习1

 

module xxx(输入、输出)

    输入/输出端口定义......

    信号类型声明......

    逻辑功能定义......

endmodule

 

 

其中逻辑功能定义:

Verilog HDL语法学习1

Verilog HDL语法学习1

Verilog HDL语法学习1



二. 数据类型和运算

Verilog HDL语法学习1


1.常量类型

一种为连线型,另一种为寄存器型

①,整数 

Verilog HDL语法学习1

②,实数

Verilog HDL语法学习1

③,参数型

Verilog HDL语法学习1


3.变量类型

①.连线型

Verilog HDL语法学习1

Verilog HDL语法学习1

②,寄存器型

Verilog HDL语法学习1

③,momery型

Verilog HDL语法学习1


4.运算符

和c语言类似的不做说明,着重说下特有的

位拼接运算符

Verilog HDL语法学习1



 

 

三 ,基本语句

1.赋值语句

注意下 阻塞赋值 和 非阻塞赋值 的区别:

    阻塞式:“=” 语句结束立即生效

    非阻塞式:“<=” 整个过程块结束时生效

Verilog HDL语法学习1

这里可以用软件仿真做实验验证

 

2. 块语句

 

① 串行块语句  begin-end

② 并行块语句 fork-join

Verilog HDL语法学习1

 

3. 过程语句

Verilog HDL语法学习1

 

always语句

[email protected](敏感信号表达式)

Verilog HDL语法学习1

 

4. 条件语句

① if-else

Verilog HDL语法学习1

② case

Verilog HDL语法学习1

Verilog HDL语法学习1

5. 循环语句

① forever

Verilog HDL语法学习1

② repeat

Verilog HDL语法学习1

③while

Verilog HDL语法学习1

④ for

和C语言类似

Verilog HDL语法学习1

 

6.编译向导语句

①宏替换  'define

Verilog HDL语法学习1

②文件包含 `include

可以包含模块

③条件编译 'ifdef  'else  'endif

程序可以进行条件编译

Verilog HDL语法学习1

④时间尺度 'timescale

Verilog HDL语法学习1

例如:

Verilog HDL语法学习1

 

7.任务task和函数function说明语句

Verilog HDL语法学习1

①任务说明语句

Verilog HDL语法学习1

②函数说明

函数定义

Verilog HDL语法学习1

Verilog HDL语法学习1

 

7. 系统任务与系统函数

① $display和$write

Verilog HDL语法学习1

② $monitor 和 $strobe

Verilog HDL语法学习1

③ $time 和$realtime

Verilog HDL语法学习1

 

 

 

8. 结构描述方式

Verilog HDL语法学习1

 

门元件

Verilog HDL语法学习1

调用

Verilog HDL语法学习1