verilog 端口

zz:http://blog.csdn.net/nkthinker/article/details/4255358

 

端口

端口是模块与外界环境交互的接口。对外部环境来讲,模块内部是不可见的,对模块的调用只能通过其端口进行。这种特点为设计者提供了很大的灵活性:只要接口保持不变,模块内部的修改并不会影响到外部环境。常将端口成为终端。(terminal)

 

端口声明

端口列表中的所有端口必须在模块中进行声明,verilog中的端口具有以下三种了类型:input、output、和inout。在verilog中,所有的端口隐含地声明为wire类型,因此如果希望端口具有wire数据类型,将其声明为三种类型之一即可:如果输出类型的端口需要保存数值,则必须将其显式的声明为reg数据类型。

不能将input和inout类型的端口声明为reg数据类型,这是因为reg类型的变量是用于保存数值的,而输入端口只反映与其相连的外部信号的变化,并不能保存这些信号的值。

 

输入端口:从模块内部来讲,输入端口必须为线网数据类型从模块外部来看,输入端口可以连接到线网或者reg数据类型的变量。

输出端口:从模块内部来讲,输出端口可以是线网或者reg数据类型,从模块外部来看,输出必须连接到线网类型的变量,而不能连接到reg类型的变量。

输入/输出端口(必须为wire)

从模块内部来讲,输入/输出端口必须为线网数据类型从模块外部来看,输入/输出端口也必须连接到线网类型的变量。

posted @ 2012-03-28 15:06  hi黑皮  阅读(611)  评论(1编辑  收藏  举报