⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pio_tests.v

📁 基于xilinx vierex5得pci express dma设计实现。
💻 V
📖 第 1 页 / 共 3 页
字号:
else if(testname == "pio_writeReadBack_test0")begin    // This test performs a 32 bit write to a 32 bit Memory space and performs a read back    TSK_SIMULATION_TIMEOUT(10050);    TSK_SYSTEM_INITIALIZATION;    TSK_BAR_INIT;//--------------------------------------------------------------------------// Event : Testing BARs//--------------------------------------------------------------------------	for (ii = 0; ii <= 6; ii = ii + 1) begin	    if (BAR_INIT_P_BAR_ENABLED[ii] > 2'b00) // bar is enabled               case(BAR_INIT_P_BAR_ENABLED[ii])		   2'b01 : // IO SPACE			begin		          $display("[%t] : Transmitting TLPs to IO Space BAR %x", $realtime, ii);			  //--------------------------------------------------------------------------			  // Event : IO Write bit TLP			  //--------------------------------------------------------------------------			  TSK_TX_IO_WRITE(DEFAULT_TAG, BAR_INIT_P_BAR[ii][31:0], 4'hF, 32'hdead_beef);			  TSK_TX_CLK_EAT(10);			  DEFAULT_TAG = DEFAULT_TAG + 1;			  //--------------------------------------------------------------------------			  // Event : IO Read bit TLP			  //--------------------------------------------------------------------------P_READ_DATA = 32'hffff_ffff; // make sure P_READ_DATA has known initial value			  TSK_TX_IO_READ(DEFAULT_TAG, BAR_INIT_P_BAR[ii][31:0], 4'hF);        		  TSK_WAIT_FOR_READ_DATA;                          if  (P_READ_DATA != 32'hdead_beef)                              begin                               $display("[%t] : Test FAILED --- Data Error Mismatch, Write Data %x != Read Data %x", $realtime,                                    32'hdead_beef, P_READ_DATA);                             end                          else                             begin                               $display("[%t] : Test PASSED --- Write Data: %x successfully received", $realtime, P_READ_DATA);                             end                                      TSK_TX_CLK_EAT(10);        		  DEFAULT_TAG = DEFAULT_TAG + 1;					        end		   2'b10 : // MEM 32 SPACE			begin		          $display("[%t] : Transmitting TLPs to Memory 32 Space BAR %x", $realtime, ii);			  //--------------------------------------------------------------------------			  // Event : Memory Write 32 bit TLP			  //--------------------------------------------------------------------------                          DATA_STORE[0] = 8'h04;                          DATA_STORE[1] = 8'h03;                          DATA_STORE[2] = 8'h02;                          DATA_STORE[3] = 8'h01;			  TSK_TX_MEMORY_WRITE_32(DEFAULT_TAG, DEFAULT_TC, 10'd1, BAR_INIT_P_BAR[ii][31:0]+8'h10, 4'h0, 4'hF, 1'b0);			  TSK_TX_CLK_EAT(10);			  DEFAULT_TAG = DEFAULT_TAG + 1;			  //--------------------------------------------------------------------------			  // Event : Memory Read 32 bit TLP			  //--------------------------------------------------------------------------                         P_READ_DATA = 32'hffff_ffff; // make sure P_READ_DATA has known initial value			  TSK_TX_MEMORY_READ_32(DEFAULT_TAG, DEFAULT_TC, 10'd1, BAR_INIT_P_BAR[ii][31:0]+8'h10, 4'h0, 4'hF);        		  TSK_WAIT_FOR_READ_DATA;                          if  (P_READ_DATA != {DATA_STORE[3], DATA_STORE[2], DATA_STORE[1],                                      DATA_STORE[0] })                             begin                               $display("[%t] : Test FAILED --- Data Error Mismatch, Write Data %x != Read Data %x", $realtime,                                    {DATA_STORE[3],DATA_STORE[2],DATA_STORE[1],DATA_STORE[0]}, P_READ_DATA);                             end                          else                             begin                               $display("[%t] : Test PASSED --- Write Data: %x successfully received", $realtime, P_READ_DATA);                             end                          TSK_TX_CLK_EAT(10);        		  DEFAULT_TAG = DEFAULT_TAG + 1;		     end		2'b11 : // MEM 64 SPACE		     begin		          $display("[%t] : Transmitting TLPs to Memory 64 Space BAR %x", $realtime, ii);			  //--------------------------------------------------------------------------			  // Event : Memory Write 64 bit TLP			  //--------------------------------------------------------------------------                          DATA_STORE[0] = 8'h64;                          DATA_STORE[1] = 8'h63;                          DATA_STORE[2] = 8'h62;                          DATA_STORE[3] = 8'h61;			  TSK_TX_MEMORY_WRITE_64(DEFAULT_TAG, DEFAULT_TC, 10'd1, {BAR_INIT_P_BAR[ii+1][31:0],			                         BAR_INIT_P_BAR[ii][31:0]+8'h20}, 4'h0, 4'hF, 1'b0);			  TSK_TX_CLK_EAT(10);			  DEFAULT_TAG = DEFAULT_TAG + 1;			   			  //--------------------------------------------------------------------------			  // Event : Memory Read 64 bit TLP			  //--------------------------------------------------------------------------				P_READ_DATA = 32'hffff_ffff; // make sure P_READ_DATA has known initial value 			  TSK_TX_MEMORY_READ_64(DEFAULT_TAG, DEFAULT_TC, 10'd1, {BAR_INIT_P_BAR[ii+1][31:0],			                        BAR_INIT_P_BAR[ii][31:0]+8'h20}, 4'h0, 4'hF);        		  TSK_WAIT_FOR_READ_DATA;                          if  (P_READ_DATA != {DATA_STORE[3], DATA_STORE[2], DATA_STORE[1],                                      DATA_STORE[0] })                              begin                               $display("[%t] : Test FAILED --- Data Error Mismatch, Write Data %x != Read Data %x", $realtime,                                    {DATA_STORE[3],DATA_STORE[2],DATA_STORE[1],DATA_STORE[0]}, P_READ_DATA);                              end                          else                             begin                               $display("[%t] : Test PASSED --- Write Data: %x successfully received", $realtime, P_READ_DATA);                             end                                                    TSK_TX_CLK_EAT(10);        		  DEFAULT_TAG = DEFAULT_TAG + 1;		           	     end		default : $display("Error case in usrapp_tx\n");	    endcase         	 end    $display("[%t] : Finished transmission of PCI-Express TLPs", $realtime);    $finish;endelse if(testname == "pio_testByteEnables_test0")begin    TSK_SIMULATION_TIMEOUT(10050);    TSK_SYSTEM_INITIALIZATION;    TSK_BAR_INIT;	for (ii = 0; ii <= 6; ii = ii + 1) begin	    if (BAR_INIT_P_BAR_ENABLED[ii] > 2'b00) // bar is enabled               case(BAR_INIT_P_BAR_ENABLED[ii])		   2'b01 : // IO SPACE			begin			                             $display("[%t] : Transmission to IO Space BAR %x", $realtime, ii);                          data = 32'h01FFFFFF;                          $display("[%t] : IOWRITE, Address = %x, Write Data %x",                                     $realtime, BAR_INIT_P_BAR[ii][31:0], data);                          TSK_TX_IO_WRITE(DEFAULT_TAG, BAR_INIT_P_BAR[ii][31:0], 4'h8, data);                          TSK_TX_CLK_EAT(10);                          DEFAULT_TAG = DEFAULT_TAG + 1;                          data = 32'hFF23FFFF;                          $display("[%t] : IOWRITE, Address = %x, Write Data %x",                                     $realtime, BAR_INIT_P_BAR[ii][31:0], data);                          TSK_TX_IO_WRITE(DEFAULT_TAG, BAR_INIT_P_BAR[ii][31:0], 4'h4, data);                                TSK_TX_CLK_EAT(10);                          DEFAULT_TAG = DEFAULT_TAG + 1;                                                     data = 32'hFFFF45FF;                          $display("[%t] : IOWRITE, Address = %x, Write Data %x",                                     $realtime, BAR_INIT_P_BAR[ii][31:0], data);                          TSK_TX_IO_WRITE(DEFAULT_TAG, BAR_INIT_P_BAR[ii][31:0], 4'h2, data);                                        TSK_TX_CLK_EAT(10);                          DEFAULT_TAG = DEFAULT_TAG + 1;                                                                             data = 32'hFFFFFF67;                          $display("[%t] : IOWRITE, Address = %x, Write Data %x",                                     $realtime, BAR_INIT_P_BAR[ii][31:0], data);                             TSK_TX_IO_WRITE(DEFAULT_TAG, BAR_INIT_P_BAR[ii][31:0], 4'h1, data);                          TSK_TX_CLK_EAT(10);                          DEFAULT_TAG = DEFAULT_TAG + 1;                                                                                                                    P_READ_DATA = 32'hFFFF_FFFF;                          TSK_TX_IO_READ(DEFAULT_TAG, BAR_INIT_P_BAR[ii][31:0], 4'hF);                          TSK_WAIT_FOR_READ_DATA;                          $display("[%t] : IOREAD, Address = %x, Read Data %x", $realtime, BAR_INIT_P_BAR[ii][31:0], P_READ_DATA);                          DEFAULT_TAG = DEFAULT_TAG + 1;                                      if  (P_READ_DATA != 32'h01234567)                          begin                            $display("[%t] : Test FAILED --- Error: Pattern Mismatch, Address = %x, Write Data 01234567 != Read Data %x",                                    $realtime, BAR_INIT_P_BAR[ii][31:0]+2, P_READ_DATA);                           end                           $display("[%t] : TEST PASSED --- IO test for pio_testByteEnables_test1", $realtime);		        end		   2'b10 : // MEM 32 SPACE			begin                          $display("[%t] : Transmission to Mem 32 Space BAR %x", $realtime, ii);                          data = 32'h01FFFFFF;                          DATA_STORE[0] = data[7:0];                          DATA_STORE[1] = data[15:8];                          DATA_STORE[2] = data[23:16];                          DATA_STORE[3] = data[31:24];                          $display("[%t] : MEMWRITE32, Address = %x, Write Data %x",                                     $realtime, BAR_INIT_P_BAR[ii][31:0], data);                                 TSK_TX_MEMORY_WRITE_32(DEFAULT_TAG, DEFAULT_TC, 10'd1,                                               BAR_INIT_P_BAR[ii][31:0], 4'h0, 4'h8, 1'b0);                          TSK_TX_CLK_EAT(10);                          DEFAULT_TAG = DEFAULT_TAG + 1;                                  data = 32'hFF23FFFF;                          DATA_STORE[0] = data[7:0];                          DATA_STORE[1] = data[15:8];                          DATA_STORE[2] = data[23:16];                          DATA_STORE[3] = data[31:24];                          $display("[%t] : MEMWRITE32, Address = %x, Write Data %x",                                      $realtime, BAR_INIT_P_BAR[ii][31:0], data);                          TSK_TX_MEMORY_WRITE_32(DEFAULT_TAG, DEFAULT_TC, 10'd1,                                               BAR_INIT_P_BAR[ii][31:0], 4'h0, 4'h4, 1'b0);                          TSK_TX_CLK_EAT(10);                          DEFAULT_TAG = DEFAULT_TAG + 1;                                                     data = 32'hFFFF45FF;                          DATA_STORE[0] = data[7:0];                          DATA_STORE[1] = data[15:8];                          DATA_STORE[2] = data[23:16];                          DATA_STORE[3] = data[31:24];                           $display("[%t] : MEMWRITE32, Address = %x, Write Data %x",                                     $realtime, BAR_INIT_P_BAR[ii][31:0], data);                          TSK_TX_MEMORY_WRITE_32(DEFAULT_TAG, DEFAULT_TC, 10'd1,                                               BAR_INIT_P_BAR[ii][31:0], 4'h0, 4'h2, 1'b0);                          TSK_TX_CLK_EAT(10);                          DEFAULT_TAG = DEFAULT_TAG + 1;                                                     data = 32'hFFFFFF67;                          DATA_STORE[0] = data[7:0];                          DATA_STORE[1] = data[15:8];                          DATA_STORE[2] = data[23:16];                          DATA_STORE[3] = data[31:24];                           $display("[%t] : MEMWRITE32, Address = %x, Write Data %x",                                     $realtime, BAR_INIT_P_BAR[ii][31:0], data);                          TSK_TX_MEMORY_WRITE_32(DEFAULT_TAG, DEFAULT_TC, 10'd1,                                               BAR_INIT_P_BAR[ii][31:0], 4'h0, 4'h1, 1'b0);                          TSK_TX_CLK_EAT(10);                          DEFAULT_TAG = DEFAULT_TAG + 1;                           P_READ_DATA = 32'hFFFF_FFFF;                          TSK_TX_MEMORY_READ_32(DEFAULT_TAG, DEFAULT_TC, 10'd1,                                   BAR_INIT_P_BAR[ii][31:0], 4'h0, 4'hF);                          TSK_WAIT_FOR_READ_DATA;                          $display("[%t] : MEMREAD32, Address = %x, Read Data %x", $realtime, BAR_INIT_P_BAR[ii][31:0], P_READ_DATA);                          DEFAULT_TAG = DEFAULT_TAG + 1;                                                  if  (P_READ_DATA != 32'h01234567)                          begin                            $display("[%t] : Test FAILED --- Error: Pattern Mismatch, Address = %x, Write Data 01234567 != Read Data %x",                                    $realtime, BAR_INIT_P_BAR[ii][31:0]+2, P_READ_DATA);                          end                          $display("[%t] : TEST PASSED --- Mem 32 for pio_memTestByteEnables_test1", $realtime);		        end		   2'b11 : // MEM 64 SPACE		        begin		                                    $display("[%t] : Transmission to Mem 64 Space BAR %x", $realtime, ii);                          data = 32'h01FFFFFF;                          DATA_STORE[0] = data[7:0];                          DATA_STORE[1] = data[15:8];

⌨️ 快捷键说明

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