端口声明
- 端口列表中的所有端口必须在模块中进行声明,verilog中的端口具有以下三种了类型:input、output、和inout。
- 在verilog中,所有的端口隐含地声明为wire类型
- 如果输出类型的端口需要保存数值,则必须将其显式的声明为reg数据类型。
output reg out;
- 不能将input和inout类型的端口声明为reg数据类型,因为reg类型的变量是用于保存数值的,而输入端口只反映与其相连的外部信号的变化,并不能保存这些信号的值。
输入端口
- 从模块内部来讲,输入端口必须为线网数据类型
- 从模块外部来看,输入端口可以连接到线网或者reg数据类型的变量。
输出端口
- 从模块内部来讲,输出端口可以是线网或者reg数据类型
- 从模块外部来看,输出必须连接到线网类型的变量,而不能连接到reg类型的变量。
输入/输出端口
- 从模块内部来讲,输入/输出端口必须为线网数据类型
- 从模块外部来看,输入/输出端口也必须连接到线网类型的变量。