Changeset 9103

Show
Ignore:
Timestamp:
07/31/08 20:33:30
Author:
matt
Message:

removed clock domain crossing since that is now done in the receiver

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • usrp2/trunk/fpga/serdes/serdes_fc_tx.v

    r8007 r9103  
    33module serdes_fc_tx 
    44  (input clk, input rst, 
    5    input ser_rx_clk, input xon_rcvd, input xoff_rcvd, output reg inhibit_tx); 
     5   input xon_rcvd, input xoff_rcvd, output reg inhibit_tx); 
    66 
    77   // XOFF means stop sending, XON means start sending 
    8     
    9    reg   xon_d1, xon_d2, xoff_d1, xoff_d2; 
    10    reg   xon_ret, xon_ret_d1, xoff_ret, xoff_ret_d1; 
     8   // clock domain stuff happens elsewhere, everything here is on main clk 
    119 
    12    // Make delayed copies in its own clock domain 
    13    always @(posedge ser_rx_clk) 
    14      begin 
    15         xon_d1 <= xon_rcvd; 
    16         xon_d2 <= xon_d1; 
    17         xoff_d1 <= xoff_rcvd; 
    18         xoff_d2 <= xoff_d1; 
    19      end 
    20  
    21    // Transfer copies to our clock domain, flop once for metastability purposes 
    22    always @(posedge clk) 
    23      begin 
    24         xon_ret <= xon_rcvd | xon_d1 | xon_d2; 
    25         xoff_ret <= xoff_rcvd | xoff_d1 | xoff_d2; 
    26         xon_ret_d1 <= xon_ret; 
    27         xoff_ret_d1 <= xoff_ret; 
    28      end 
    29     
    3010   reg [15:0] state; 
    3111   always @(posedge clk) 
    3212     if(rst) 
    3313       state <= 0; 
    34      else if(xoff_ret_d1
     14     else if(xoff_rcvd
    3515       state <= 255; 
    36      else if(xon_ret_d1
     16     else if(xon_rcvd
    3717       state <= 0; 
    3818     else if(state !=0)