第八章课堂练习

题目:设计一个四位双向端口模块

module BI4B(CTRL,DIN,Q,DOUT)
    input	CTRL;//数据方向控制位,0时Q作输入,1时Q作输出
    input	[3:0]DIN;
    inout	[3:0]Q
    output	[3:0]DOUT;
    reg		[3:0]DOUT,Q;
    
    always@(Q,DIN,CTRL)
        if(!CTRL)
            begin
                DOUT<=Q;//Q作为输入端口
                Q<=4'HZ;//传完后立即关闭(即呈高阻态)
            end
    	else
            begin
                Q<=DIN;//Q作为输出端口
                DOUT<=4'HZ;
            end
endmodule
posted @ 2022-06-08 14:31  JsDakey  阅读(102)  评论(0)    收藏  举报