tb_t8255a.v

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

V
85
字号
module  tb_T8255A;
  reg        clk;
  reg        rst;
  reg        nCS;
  reg        nRD;
  reg        nWR;
  reg[1:0]   A;
  reg[7:0]   Din;
  reg[7:0]   PA_In;
  reg[7:0]   PB_In;
  reg[7:0]   PC_In;
  
  wire       Data_En;
  wire       PortA_IO_En;
  wire       PortB_IO_En;
  wire[7:0]  PortC_IO_En; 
  wire[7:0]  Dout;
  wire[7:0]  PA_Out;
  wire[7:0]  PB_Out;
  wire[7:0]  PC_Out;
  
  initial
    fork
    	clk=0;
    	rst=1;
    //nCS=1;
    	nRD=1;
    	nWR=1;
    	A  =2'b00;
    	Din=8'b00000000;
    	PA_In=8'bzzzzzzzz;
    	PB_In=8'bzzzzzzzz;
    	PC_In=8'bzzzzzzzz;
    	#200 $stop;
    join
  
  initial
    fork
    	#10 rst=0;
      #13 A=2'b11;
      #16 nWR=0;
    	#19 Din=8'b1001_0000;
    	#21 A=2'b00;
    	//#24 Din=8'b11111111;
    	#26 nWR=1;
    	#30 A=2'b11;
    	#35 nWR=0;
    	#30 Din=8'b1000_0000;
    	#45 nWR=1;
    	#45 A=00;
    	#50 nRD=0;
    	PA_In=8'b11110000;
    	PB_In=8'bzzzzzzzz;
    	PC_In=8'bzzzzzzzz;
    join  
    
   always #1 clk = ~clk;
   always @(posedge clk)
     begin
     	Din=Din+1;
      PA_In =PA_In+1;
     end

  T8255A         U   (        
                      .rst(rst),
                      .nCS(nCS),
                      .nRD(nRD),
                      .nWR(nWR),
                      .A(A),
                      .Din(Din),
                      .PA_In(PA_In),
                      .PB_In(PB_In),
                      .PC_In(PC_In),
                      
                      //wire
                      .Data_En(Data_En),
                      .PortA_IO_En(PortA_IO_En),
                      .PortB_IO_En(PortB_IO_En),
                      .PortC_IO_En(PortC_IO_En),
                      .Dout(Dout),
                      .PA_Out(PA_Out),
                      .PB_Out(PB_Out),
                      .PC_Out(PC_Out)
                      );
endmodule

⌨️ 快捷键说明

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