Verilog HDL语法学习1
一.模块
module xxx(输入、输出)
输入/输出端口定义......
信号类型声明......
逻辑功能定义......
endmodule
其中逻辑功能定义:
二. 数据类型和运算
1.常量类型
一种为连线型,另一种为寄存器型
①,整数
②,实数
③,参数型
3.变量类型
①.连线型
②,寄存器型
③,momery型
4.运算符
和c语言类似的不做说明,着重说下特有的
位拼接运算符
三 ,基本语句
1.赋值语句
注意下 阻塞赋值 和 非阻塞赋值 的区别:
阻塞式:“=” 语句结束立即生效
非阻塞式:“<=” 整个过程块结束时生效
这里可以用软件仿真做实验验证
2. 块语句
① 串行块语句 begin-end
② 并行块语句 fork-join
3. 过程语句
always语句
[email protected](敏感信号表达式)
4. 条件语句
① if-else
② case
5. 循环语句
① forever
② repeat
③while
④ for
和C语言类似
6.编译向导语句
①宏替换 'define
②文件包含 `include
可以包含模块
③条件编译 'ifdef 'else 'endif
程序可以进行条件编译
④时间尺度 'timescale
例如:
7.任务task和函数function说明语句
①任务说明语句
②函数说明
函数定义
7. 系统任务与系统函数
① $display和$write
② $monitor 和 $strobe
③ $time 和$realtime
8. 结构描述方式
门元件
调用