LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Sat Mar 22 13:40:50 CET 2008
    Subject: [cvs-checkins] MODIFIED: usbhostslave ...
    Top
    Date: 00/08/03 22:13:40

    Modified: usbhostslave/RTL/serialInterfaceEngine readUSBWireData.v
    Log:
    Revision 1.3 - Fixed input metastability and delay hazard issue


    Revision Changes Path
    1.7 usbhostslave/RTL/serialInterfaceEngine/readUSBWireData.v

    http://www.opencores.org/cvsweb.shtml/usbhostslave/RTL/serialInterfaceEngine/readUSBWireData.v.diff?r1=1.6&r2=1.7

    (In the diff below, changes in quantity of whitespace are not shown.)

    Index: readUSBWireData.v
    ===================================================================
    RCS file: /cvsroot/sfielding/usbhostslave/RTL/serialInterfaceEngine/readUSBWireData.v,v
    retrieving revision 1.6
    retrieving revision 1.7
    diff -u -b -r1.6 -r1.7
    --- readUSBWireData.v 14 Oct 2006 04:04:11 -0000 1.6
    +++ readUSBWireData.v 22 Mar 2008 12:40:49 -0000 1.7
    @@ -115,12 +115,20 @@
    reg RxWireEdgeDetect;
    reg RxWireActiveReg;
    reg RxWireActiveReg2;
    +reg [1:0] RxBitsInSyncReg1;
    +reg [1:0] RxBitsInSyncReg2;

    // buffer output state machine state codes:
    `define WAIT_BUFFER_NOT_EMPTY 2'b00
    `define WAIT_SIE_RX_READY 2'b01
    `define SIE_RX_WRITE 2'b10

    +// re-synchronize incoming bits
    +always @(posedge clk) begin
    + RxBitsInSyncReg1 <= RxBitsIn;
    + RxBitsInSyncReg2 <= RxBitsInSyncReg1;
    +end
    +
    reg [1:0] bufferOutStMachCurrState;


    @@ -158,10 +166,10 @@
    end
    else begin
    RxWireActiveReg2 <= RxWireActiveReg; //Delay 'RxWireActiveReg' until after 'sampleCnt' has been reset
    - RxBitsInReg <= RxBitsIn;
    + RxBitsInReg <= RxBitsInSyncReg2;
    oldRxBitsIn <= RxBitsInReg;
    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;
    RxWireEdgeDetect <= 1'b1; // flag receive activity
    RxWireActiveReg <= 1'b1;



     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.