OpenCores
URL https://opencores.org/ocsvn/ps2_host_controller/ps2_host_controller/trunk

Subversion Repositories ps2_host_controller

[/] [ps2_host_controller/] [trunk/] [hdl/] [ps2_host_testbench.v] - Diff between revs 2 and 4

Show entire file | Details | Blame | View Log

Rev 2 Rev 4
Line 90... Line 90...
  for (bit_cnt = 0; bit_cnt < 11; bit_cnt = bit_cnt + 1) begin
  for (bit_cnt = 0; bit_cnt < 11; bit_cnt = bit_cnt + 1) begin
    ps2_data_r = frame[10 - bit_cnt];
    ps2_data_r = frame[10 - bit_cnt];
    ps2_clk_r = #`PS2_PERIOD 0;
    ps2_clk_r = #`PS2_PERIOD 0;
    ps2_clk_r = #`PS2_PERIOD 1;
    ps2_clk_r = #`PS2_PERIOD 1;
  end
  end
 
  wait (ready);
  if ((bits != rx_data) | (error != expect_error)) begin
  if ((bits != rx_data) | (error != expect_error)) begin
    $display("Failed: Frame:0x%x Rx:0x%x Err:%b", frame, rx_data, error);
    $display("Failed: Frame:0x%x Rx:0x%x Err:%b", frame, rx_data, error);
  end
  end
  ps2_data_r = 1;
  ps2_data_r = 1;
end endtask
end endtask
Line 104... Line 105...
  integer bit_cnt;
  integer bit_cnt;
  reg [10:0] frame;
  reg [10:0] frame;
begin
begin
  frame = 0;
  frame = 0;
  tx_data = bits;
  tx_data = bits;
  wait (~busy)
 
  send_req = #(`SYS_PERIOD*2) 1;
  send_req = #(`SYS_PERIOD*2) 1;
  send_req = #(`SYS_PERIOD*2) 0;
  send_req = #(`SYS_PERIOD*2) 0;
  wait (~ps2_data);
  wait (~ps2_data);
  for (bit_cnt = 0; bit_cnt < 11; bit_cnt = bit_cnt + 1) begin
  for (bit_cnt = 0; bit_cnt < 11; bit_cnt = bit_cnt + 1) begin
    ps2_clk_r = #`PS2_PERIOD 0;
    ps2_clk_r = #`PS2_PERIOD 0;
    frame = {frame[9:0], ps2_data};
    frame = {frame[9:0], ps2_data};
    ps2_clk_r = #`PS2_PERIOD 1;
    ps2_clk_r = #`PS2_PERIOD 1;
  end
  end
 
  wait (~busy);
  if (({bits[0],bits[1],bits[2],bits[3],bits[4],bits[5],bits[6],bits[7]} != frame[9:2]) |
  if (({bits[0],bits[1],bits[2],bits[3],bits[4],bits[5],bits[6],bits[7]} != frame[9:2]) |
      frame[10] | (~^frame[9:2] != frame[1]) | ~frame[0]) begin
      frame[10] | (~^frame[9:2] != frame[1]) | ~frame[0]) begin
    $display("Failed: Frame:0x%x Tx:0x%x", frame, bits);
    $display("Failed: Frame:0x%x Tx:0x%x", frame, bits);
  end
  end
end endtask
end endtask
 
 
// Test runner
// Test runner
integer byte;
integer byte;
always @(negedge sys_rst) begin
always @(negedge sys_rst) begin
  for (byte = 1; byte < 256; byte = byte + 1) begin
  for (byte = 0; byte < 256; byte = byte + 1) begin
    // Transmitter test
    // Transmitter test
    transmitter_test(byte);
    transmitter_test(byte);
 
 
    // Correct case - data ok and error low
    // Correct case - data ok and error low
    receiver_test(0, byte, ~^byte, 1, 0);
    receiver_test(0, byte, ~^byte, 1, 0);

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.