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

Subversion Repositories usbhostslave

[/] [usbhostslave/] [trunk/] [RTL/] [hostController/] [rxStatusMonitor.v] - Diff between revs 9 and 22

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 9 Rev 22
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
////                                                              ////
////                                                              ////
//// rxStatusMonitor.v                                            ////
//// rxStatusMonitor.v                                            ////
////                                                              ////
////                                                              ////
//// This file is part of the usbhostslave opencores effort.
//// This file is part of the usbhostslave opencores effort.
//// <http://www.opencores.org/cores//>                           ////
//// <http://www.opencores.org/cores//>                           ////
////                                                              ////
////                                                              ////
//// Module Description:                                          ////
//// Module Description:                                          ////
//// 
//// 
////                                                              ////
////                                                              ////
//// To Do:                                                       ////
//// To Do:                                                       ////
//// 
//// 
////                                                              ////
////                                                              ////
//// Author(s):                                                   ////
//// Author(s):                                                   ////
//// - Steve Fielding, sfielding@base2designs.com                 ////
//// - Steve Fielding, sfielding@base2designs.com                 ////
////                                                              ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
////                                                              ////
////                                                              ////
//// Copyright (C) 2004 Steve Fielding and OPENCORES.ORG          ////
//// Copyright (C) 2004 Steve Fielding and OPENCORES.ORG          ////
////                                                              ////
////                                                              ////
//// This source file may be used and distributed without         ////
//// This source file may be used and distributed without         ////
//// restriction provided that this copyright statement is not    ////
//// restriction provided that this copyright statement is not    ////
//// removed from the file and that any derivative work contains  ////
//// removed from the file and that any derivative work contains  ////
//// the original copyright notice and the associated disclaimer. ////
//// the original copyright notice and the associated disclaimer. ////
////                                                              ////
////                                                              ////
//// This source file is free software; you can redistribute it   ////
//// This source file is free software; you can redistribute it   ////
//// and/or modify it under the terms of the GNU Lesser General   ////
//// and/or modify it under the terms of the GNU Lesser General   ////
//// Public License as published by the Free Software Foundation; ////
//// Public License as published by the Free Software Foundation; ////
//// either version 2.1 of the License, or (at your option) any   ////
//// either version 2.1 of the License, or (at your option) any   ////
//// later version.                                               ////
//// later version.                                               ////
////                                                              ////
////                                                              ////
//// This source is distributed in the hope that it will be       ////
//// This source is distributed in the hope that it will be       ////
//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
//// PURPOSE. See the GNU Lesser General Public License for more  ////
//// PURPOSE. See the GNU Lesser General Public License for more  ////
//// details.                                                     ////
//// details.                                                     ////
////                                                              ////
////                                                              ////
//// You should have received a copy of the GNU Lesser General    ////
//// You should have received a copy of the GNU Lesser General    ////
//// Public License along with this source; if not, download it   ////
//// Public License along with this source; if not, download it   ////
//// from <http://www.opencores.org/lgpl.shtml>                   ////
//// from <http://www.opencores.org/lgpl.shtml>                   ////
////                                                              ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
`timescale 1ns / 1ps
`include "timescale.v"
 
 
module rxStatusMonitor(connectStateIn, connectStateOut, resumeDetectedIn, connectionEventOut, resumeIntOut, clk, rst);
module rxStatusMonitor(connectStateIn, connectStateOut, resumeDetectedIn, connectionEventOut, resumeIntOut, clk, rst);
 
 
input [1:0] connectStateIn;
input [1:0] connectStateIn;
input resumeDetectedIn;
input resumeDetectedIn;
input clk;
input clk;
input rst;
input rst;
output connectionEventOut;
output connectionEventOut;
output [1:0] connectStateOut;
output [1:0] connectStateOut;
output resumeIntOut;
output resumeIntOut;
 
 
wire [1:0] connectStateIn;
wire [1:0] connectStateIn;
wire resumeDetectedIn;
wire resumeDetectedIn;
reg connectionEventOut;
reg connectionEventOut;
reg [1:0] connectStateOut;
reg [1:0] connectStateOut;
reg resumeIntOut;
reg resumeIntOut;
wire clk;
wire clk;
wire rst;
wire rst;
 
 
reg [1:0]oldConnectState;
reg [1:0]oldConnectState;
reg oldResumeDetected;
reg oldResumeDetected;
 
 
always @(connectStateIn)
always @(connectStateIn)
begin
begin
  connectStateOut <= connectStateIn;
  connectStateOut <= connectStateIn;
end
end
 
 
 
 
always @(posedge clk)
always @(posedge clk)
begin
begin
  if (rst == 1'b1)
  if (rst == 1'b1)
  begin
  begin
    oldConnectState <= connectStateIn;
    oldConnectState <= connectStateIn;
    oldResumeDetected <= resumeDetectedIn;
    oldResumeDetected <= resumeDetectedIn;
  end
  end
  else
  else
  begin
  begin
    oldConnectState <= connectStateIn;
    oldConnectState <= connectStateIn;
    oldResumeDetected <= resumeDetectedIn;
    oldResumeDetected <= resumeDetectedIn;
    if (oldConnectState != connectStateIn)
    if (oldConnectState != connectStateIn)
      connectionEventOut <= 1'b1;
      connectionEventOut <= 1'b1;
    else
    else
      connectionEventOut <= 1'b0;
      connectionEventOut <= 1'b0;
    if (resumeDetectedIn == 1'b1 && oldResumeDetected == 1'b0)
    if (resumeDetectedIn == 1'b1 && oldResumeDetected == 1'b0)
      resumeIntOut <= 1'b1;
      resumeIntOut <= 1'b1;
    else
    else
      resumeIntOut <= 1'b0;
      resumeIntOut <= 1'b0;
  end
  end
end
end
 
 
endmodule
endmodule
 No newline at end of file
 No newline at end of file
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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