dout_mux.v

来自「采用Verilog语言实现了8255A的功能」· Verilog 代码 · 共 53 行

V
53
字号
/*
   //*************************************************************************
   // Project Name: 8255A的功能设计和分析
   // Module Name :	Dout_Mux
   // Author:		    张文涛
   // Created:		  2006-10-25
   // Modified:     2006-10-29
   // Revision:		  3.0
   //
   //*************************************************************************
   // 需要注意的地方:1.默认输出可以根据具体设计要求修改为锁存原值或者其它信号             
   //*************************************************************************
*/

  module Dout_Mux   (//input
                     reset,
                     PA_In_Buf,
                     PB_In_Buf,
                     PortC_Status,
                     Dout_Select,
                     
                     //output
                     Dout
                     );
                   
  //-----端口声明-----
  input             reset;
  input[7:0]        PA_In_Buf;
  input[7:0]        PB_In_Buf;
  input[7:0]        PortC_Status;
  input[1:0]        Dout_Select;
  
  output[7:0]       Dout;
  
  //-----内部寄存器声明-----
  reg[7:0]          Dout;
  reg[7:0]          Dout_Buf;
  
  always @ (reset or Dout_Buf)
    if(reset)
      Dout = 8'b00000000;
    else
      Dout = Dout_Buf;
      
  always @ (Dout_Select or PA_In_Buf or PB_In_Buf or PortC_Status)
    case(Dout_Select)
      2'b00:      Dout_Buf = PA_In_Buf;
      2'b01:      Dout_Buf = PB_In_Buf;
      2'b10:      Dout_Buf = PortC_Status;
      default:    Dout_Buf = Dout;
    endcase
    
endmodule

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?