如下图所示,当使能 en 有效时,Y 作为输出,把 dout 的值赋给 Y ,当使能 en 无效时, dout 到 Y的路就断了,此时 Y 作为输入,把 Y 的值赋给 din ,也就是说这个 Y ,在特定时候(取决于 en)可以当输出,也可以当输入。
对应的 Verilog代码如下图:
三态门主要用于双向接口,比如FLASH的四个(若为4线传输)数据接口,当向FLASH写数据时,四个数据接口作为输出接收FLASH控制器传来的数据,当从FLASH读数据时,四个数据接口作为输入,把从FLASH内部读到的数据传给FLASH控制器,其中SI接口的Verilog代码如下图: