天天看点

Verilog HDL中数据类型的选择

  • 信号可以分为端口信号和内部信号。出现在端口列表中的信号是端口信号,其它的信号为内部信号。 • 对于端口信号,输入端口只能是 net 类型。输出端口可以是 net 类型,也可以是 register 类型。若输出端 口在过程块中赋值则为 register 类型;若在过程块外赋值 ( 包括实例化语句),则为 net 类型。 • 内部信号类型与输出端口相同,可以是 net 或 register 类型。判断方法也与输出端口相同。若在过程块中 赋值,则为 register 类型;若在过程块外赋值,则为 net 类型。 •   下面所列是常出的错误及相应的错误信息 (error message) :   • 用过程语句给一个 net 类型的或忘记声明类型的信号赋值。            信息: illegal …… assignment. • 将实例的输出连接到声明为 register 类型的信号上。            信息: <name> has illegal output port specification. • 将模块的输入信号声明为 register 类型。            信息: incompatible declaration, <signal name> …… 若信号既需要在过程块中赋值,又需要在过程块外赋值。这种情况是有可能出现的,如决断信号。这 时需要一个中间信号转换。