Verilog 模块(module)、端口(port)和例化(instantiation)

1、端口类型(Port Type)

  input output inout 说明
模块描述 只能wire wire or reg 只能wire 1. 模块的输入从模块内部看,就是外界输入的一根信号线,外界来什么模块就接收什么,因此模块描述时input端口只能为线网类型。进入模块之后,可以用reg类型变量来采样wire输入。
2. 模块的输出从模块内部看,就是处理结果向外界的输出,可以直接输出(如组合逻辑)也可以寄存一会再输出(如时序逻辑),因此模块描述时可以为线网类型/reg类型(即使是reg类型,在连续赋值给wire也是完全一致的)。
3. 同理,模块描述时inout端口只能为线网类型(因为包含input) 
模块调用(例化) wire or reg 只能wire 只能wire 1. 模块的输入从模块外部看,输入信号作为模块的激励,外界想输入什么就输入什么,想何时输入就何时输入,因此模块调用时input端口可以为线网类型/reg类型。
2. 模块的输出从模块外部看,模块外部看来输出端口就是模块通向外界的一根输出导线,模块外部只能被动接收,因此模块调用时output端口只能为线网类型;
3. 同理,模块调用时inout端口只能为线网类型(因为包含output) 

备注:无论是testbench中例化还是更上一层模块例化,都是一样的。

posted @ 2024-02-21 14:58  NEWICER  阅读(470)  评论(0)    收藏  举报