Verilog HDL基本框架
1. 基本概述
常用模板如下
model 模块名 (端口1, 端口2, 端口3, ..., 端口n);
// 声明部分
端口类型说明 (input, output, inout);
参数定义;
数据类型定义 (wire, reg等);
// 逻辑功能描述部分
示例引用低层次模块和基本门元件;
连续赋值语句;
过程结构模块;
行为描述语句;
任务和函数;
endmodule
以下是对各个部分的详细解释:
定义与名称 | 相关解释 |
模块名 | 模块的唯一标识符 |
端口类型说明 | 类型:输入(input)、输出(output)、双向口(inout) |
***** 所有被定义的端口一定要有类型说明 ***** | |
数据类型定义 | 常见的有:reg(寄存器类型),wire(连线类型) |
编程风格 | 实例化低层次模块:结构风格描述 |
连续赋值语句(assign):数据流描述方式 | |
过程块语句结构(initial 和 always 两种):功能(行为)风格描述方式 |
2. 简单的例子(代码文件均为example1.v)
以下面的式子为例
Y = S ‾