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

Subversion Repositories dbg_interface

[/] [dbg_interface/] [tags/] [rel_21/] [bench/] [verilog/] [wb_slave_behavioral.v] - Diff between revs 80 and 96

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 80 Rev 96
Line 41... Line 41...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.1  2003/12/23 14:26:01  mohor
 
// New version of the debug interface. Not finished, yet.
 
//
//
//
//
//
//
//
 
 
`include "timescale.v"
`include "timescale.v"
Line 95... Line 98...
 
 
/*------------------------------------------------------------------------------------------------------
/*------------------------------------------------------------------------------------------------------
Maximum values for WAIT and RETRY counters and which response !!!
Maximum values for WAIT and RETRY counters and which response !!!
------------------------------------------------------------------------------------------------------*/
------------------------------------------------------------------------------------------------------*/
reg     [2:0]  a_e_r_resp; // tells with which cycle_termination_signal must wb_slave respond !
reg     [2:0]  a_e_r_resp; // tells with which cycle_termination_signal must wb_slave respond !
reg     [7:0]  wait_cyc;
reg     [8:0]  wait_cyc;
reg     [7:0]  max_retry;
reg     [7:0]  max_retry;
 
 
// assign registers to default state while in reset
// assign registers to default state while in reset
// always@(RST_I)
// always@(RST_I)
// begin
// begin
Line 111... Line 114...
//   end
//   end
// end //reset
// end //reset
 
 
task cycle_response;
task cycle_response;
  input [2:0]  ack_err_rty_resp; // acknowledge, error or retry response input flags
  input [2:0]  ack_err_rty_resp; // acknowledge, error or retry response input flags
  input [7:0]  wait_cycles; // if wait cycles before each data termination cycle (ack, err or rty)
  input [8:0]  wait_cycles; // if wait cycles before each data termination cycle (ack, err or rty)
  input [7:0]  retry_cycles; // noumber of retry cycles before acknowledge cycle
  input [7:0]  retry_cycles; // noumber of retry cycles before acknowledge cycle
begin
begin
  // assign values
  // assign values
  a_e_r_resp <= #1 ack_err_rty_resp;
  a_e_r_resp <= #1 ack_err_rty_resp;
  wait_cyc   <= #1 wait_cycles;
  wait_cyc   <= #1 wait_cycles;
Line 201... Line 204...
    retry_num = retry_cnt;
    retry_num = retry_cnt;
    retry_expired = 1'b1;
    retry_expired = 1'b1;
  end
  end
end
end
 
 
reg     [7:0]  wait_cnt;
reg     [8:0]  wait_cnt;
reg     [7:0]  wait_num;
reg     [8:0]  wait_num;
reg            wait_expired;
reg            wait_expired;
 
 
// Wait counter
// Wait counter
always@(posedge RST_I or posedge CLK_I)
always@(posedge RST_I or posedge CLK_I)
begin
begin
  if (RST_I)
  if (RST_I)
    wait_cnt <= #1 8'h0;
    wait_cnt <= #1 9'h0;
  else
  else
  begin
  begin
    if (wait_expired || ~STB_I)
    if (wait_expired || ~STB_I)
      wait_cnt <= #1 8'h0;
      wait_cnt <= #1 9'h0;
    else
    else
      wait_cnt <= #1 wait_num;
      wait_cnt <= #1 wait_num;
  end
  end
end
end
 
 
Line 274... Line 277...
    end
    end
  end
  end
  else
  else
  if ((wait_cyc == 0) && (STB_I))
  if ((wait_cyc == 0) && (STB_I))
  begin
  begin
    wait_num = 8'h0;
    wait_num = 9'h0;
    wait_expired = 1'b1;
    wait_expired = 1'b1;
    if (a_e_r_resp == 3'b100)
    if (a_e_r_resp == 3'b100)
    begin
    begin
      calc_ack = 1'b1;
      calc_ack = 1'b1;
      calc_err = 1'b0;
      calc_err = 1'b0;
Line 311... Line 314...
      calc_rty = 1'b0;
      calc_rty = 1'b0;
    end
    end
  end
  end
  else
  else
  begin
  begin
    wait_num = 8'h0;
    wait_num = 9'h0;
    wait_expired = 1'b0;
    wait_expired = 1'b0;
    calc_ack = 1'b0;
    calc_ack = 1'b0;
    calc_err = 1'b0;
    calc_err = 1'b0;
    calc_rty = 1'b0;
    calc_rty = 1'b0;
  end
  end

powered by: WebSVN 2.1.0

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