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

Subversion Repositories usbhostslave

[/] [usbhostslave/] [trunk/] [RTL/] [serialInterfaceEngine/] [readUSBWireData.v] - Diff between revs 22 and 36

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

Rev 22 Rev 36
Line 113... Line 113...
reg [15:0] timeOutCnt;
reg [15:0] timeOutCnt;
reg [7:0] rxActiveCnt;
reg [7:0] rxActiveCnt;
reg RxWireEdgeDetect;
reg RxWireEdgeDetect;
reg RxWireActiveReg;
reg RxWireActiveReg;
reg RxWireActiveReg2;
reg RxWireActiveReg2;
 
reg [1:0] RxBitsInSyncReg1;
 
reg [1:0] RxBitsInSyncReg2;
 
 
// buffer output state machine state codes:
// buffer output state machine state codes:
`define WAIT_BUFFER_NOT_EMPTY 2'b00
`define WAIT_BUFFER_NOT_EMPTY 2'b00
`define WAIT_SIE_RX_READY 2'b01
`define WAIT_SIE_RX_READY 2'b01
`define SIE_RX_WRITE 2'b10
`define SIE_RX_WRITE 2'b10
 
 
 
// re-synchronize incoming bits
 
always @(posedge clk) begin
 
  RxBitsInSyncReg1 <= RxBitsIn;
 
  RxBitsInSyncReg2 <= RxBitsInSyncReg1;
 
end
 
 
reg [1:0] bufferOutStMachCurrState;
reg [1:0] bufferOutStMachCurrState;
 
 
 
 
always @(posedge clk) begin
always @(posedge clk) begin
  if (rst == 1'b1)
  if (rst == 1'b1)
Line 156... Line 164...
    RxWireActiveReg <= 1'b0;
    RxWireActiveReg <= 1'b0;
    RxWireActiveReg2 <= 1'b0;
    RxWireActiveReg2 <= 1'b0;
  end
  end
  else begin
  else begin
    RxWireActiveReg2 <= RxWireActiveReg; //Delay 'RxWireActiveReg' until after 'sampleCnt' has been reset
    RxWireActiveReg2 <= RxWireActiveReg; //Delay 'RxWireActiveReg' until after 'sampleCnt' has been reset
    RxBitsInReg <= RxBitsIn;
    RxBitsInReg <= RxBitsInSyncReg2;
    oldRxBitsIn <= RxBitsInReg;
    oldRxBitsIn <= RxBitsInReg;
    incBufferCnt <= 1'b0;         //default value
    incBufferCnt <= 1'b0;         //default value
    if ( (TxWireActiveDrive == 1'b0) && (RxBitsIn != RxBitsInReg)) begin  //if edge detected then
    if ( (TxWireActiveDrive == 1'b0) && (RxBitsInSyncReg2 != RxBitsInReg)) begin  //if edge detected then
      sampleCnt <= 5'b00000;
      sampleCnt <= 5'b00000;
      RxWireEdgeDetect <= 1'b1;   // flag receive activity 
      RxWireEdgeDetect <= 1'b1;   // flag receive activity 
      RxWireActiveReg <= 1'b1;
      RxWireActiveReg <= 1'b1;
      rxActiveCnt <= 8'h00;
      rxActiveCnt <= 8'h00;
    end
    end

powered by: WebSVN 2.1.0

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