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

Subversion Repositories sgmii

[/] [sgmii/] [trunk/] [src/] [mAltGX/] [mAltA5GXlvds.v] - Diff between revs 13 and 15

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

Rev 13 Rev 15
Line 24... Line 24...
 
 
        wire [9:0]       w10_txdata;
        wire [9:0]       w10_txdata;
        wire [9:0]       w10_rxdata;
        wire [9:0]       w10_rxdata;
        wire [9:0]       w10_txdatalocal;
        wire [9:0]       w10_txdatalocal;
        wire [9:0]       w10_rxdatalocal;
        wire [9:0]       w10_rxdatalocal;
 
        wire w_RxKErr,w_RxRdErr;
 
        wire w_TxClk;
 
 
        mAlt8b10benc u8b10bEnc(
        /*mAlt8b10benc u8b10bEnc(
        .clk                    (o_CoreClk),
        .clk                    (o_CoreClk),
        .reset_n                (~i_XcverDigitalRst),
        .reset_n                (~i_XcverDigitalRst),
        .idle_ins               (~i_TxCodeValid),
        .idle_ins               (~i_TxCodeValid),
        .kin                    (i_TxCodeCtrl),
        .kin                    (i_TxCodeCtrl),
        .ena                    (1'b1),
        .ena                    (1'b1),
        .datain                 (i8_TxCodeGroup),
        .datain                 (i8_TxCodeGroup),
        .rdin                   (1'b0),
        .rdin                   (1'b0),
        .rdforce                (i_TxForceNegDisp),
        .rdforce                (i_TxForceNegDisp),
        .kerr                   (),
        .kerr                   (),
        .dataout                (w10_txdatalocal),
        .dataout                (w10_txdatalocal),
        .valid                  (),
        .valid                  (),
        .rdout                  (o_RunningDisparity),
        .rdout                  (o_RunningDisparity),
        .rdcascade              ());
        .rdcascade              ());*/
 
        mEnc8b10bMem u8b10bEnc(
        mAlt8b10bdec    u8b10bDec(
        .i8_Din                         (i8_TxCodeGroup),               //HGFEDCBA
        .clk                    (o_CoreClk),
        .i_Kin                          (i_TxCodeCtrl),
        .reset_n                (~i_XcverDigitalRst),
        .i_ForceDisparity       (i_TxForceNegDisp),
        .idle_del               (),
        .i_Disparity            (~i_TxForceNegDisp),            //1 Is negative, 0 is positive  
        .ena                    (1'b1),
        .o10_Dout                       (w10_txdata),   //abcdeifghj
        .datain                 (w10_rxdatalocal),
        .o_Rd                           (o_RunningDisparity),
        .rdforce                (1'b0),
        .o_KErr                         (),
        .rdin                   (1'b0),
        .i_Clk                          (o_CoreClk),
        .valid                  (w_RxDataValid),
        .i_ARst_L                       (~i_XcverDigitalRst));
        .dataout                (o8_RxCodeGroup),
 
        .kout                   (o_RxCodeCtrl),
        /*mAlt8b10bdec  u8b10bDec(
        .kerr                   (w_RxKErr),
        .clk                    (o_CoreClk),
        .rdcascade              (),
        .reset_n                (~i_XcverDigitalRst),
        .rdout                  (),
        .idle_del               (),
        .rderr                  (w_RxRdErr));
        .ena                    (1'b1),
 
        .datain                 (w10_rxdatalocal),
 
        .rdforce                (1'b0),
 
        .rdin                   (1'b0),
 
        .valid                  (w_RxDataValid),
 
        .dataout                (o8_RxCodeGroup),
 
        .kout                   (o_RxCodeCtrl),
 
        .kerr                   (w_RxKErr),
 
        .rdcascade              (),
 
        .rdout                  (),
 
        .rderr                  (w_RxRdErr));*/
 
 
 
        mDec8b10bMem u8b10bDec(
 
        .o8_Dout                        (o8_RxCodeGroup),               //HGFEDCBA
 
        .o_Kout                         (o_RxCodeCtrl),
 
        .o_DErr                         (),
 
        .o_KErr                         (w_RxKErr),
 
        .o_DpErr                        (w_RxRdErr),
 
        .i_ForceDisparity       (1'b0),
 
        .i_Disparity            (1'b0),
 
        .i10_Din                        (w10_rxdata),   //abcdeifghj
 
        .o_Rd                           (),
 
        .i_Clk                          (o_CoreClk),
 
        .i_ARst_L                       (~i_XcverDigitalRst));
 
 
        assign o_RxCodeInvalid = w_RxKErr|w_RxRdErr;
        assign o_RxCodeInvalid = w_RxKErr|w_RxRdErr;
        assign o_SignalDetect = w_RxDataValid|o_RxCodeCtrl;
        assign o_SignalDetect = (~o_RxCodeInvalid)|o_RxCodeCtrl;
 
 
        mAltArriaVlvdsRx ulvdsrx (
        mAltArriaVlvdsRx ulvdsrx (
        .rx_channel_data_align (i_RxBitSlip),
        .rx_channel_data_align (i_RxBitSlip),
        .rx_in                  (i_SerRx),
        .rx_in                  (i_SerRx),
        .rx_inclock             (i_RefClk125M),
        .rx_inclock             (i_RefClk125M),
        .rx_out                 (w10_rxdata),
        .rx_out                 (w10_rxdata),
        .rx_locked              (o_PllLocked),
        .rx_locked              (o_PllLocked),
        .rx_outclock    (o_CoreClk));
        //.rx_outclock  (o_CoreClk),
 
        .rx_divfwdclk   (o_CoreClk),
 
        .pll_areset             (i_XcverDigitalRst));
 
 
        mAltArriaVlvdsTx ulvdstx(
        mAltArriaVlvdsTx ulvdstx(
        .tx_in                  (w10_txdata),
        .tx_in                  (w10_txdata),
        .tx_inclock             (i_RefClk125M),
        .tx_inclock             (o_CoreClk),
        .tx_coreclock   (w_TxClk),
        //.tx_coreclock (w_TxClk),
        .tx_out                 (o_SerTx));
        .tx_out                 (o_SerTx),
 
        .pll_areset(i_XcverDigitalRst));
 
 
 
 
        function [9:0] bitreverse ;
        function [9:0] bitreverse ;
                input [9:0] in;
                input [9:0] in;
                integer I;
                integer I;
Line 83... Line 111...
                        for(I=0;I<10;I=I+1)
                        for(I=0;I<10;I=I+1)
                                bitreverse[I]=in[9-I];
                                bitreverse[I]=in[9-I];
                end
                end
        endfunction
        endfunction
 
 
        assign w10_txdata = bitreverse(w10_txdatalocal);
        //assign w10_txdata = bitreverse(w10_txdatalocal);
        assign w10_rxdatalocal = bitreverse(w10_rxdata);
        //assign w10_rxdatalocal = bitreverse(w10_rxdata);
        // mAltRateAdapter uRxAdapter(
        // mAltRateAdapter uRxAdapter(
        // .data        (w10_txdatalocal),
        // .data        (w10_txdatalocal),
        // .rdclk       (w_TxClk),
        // .rdclk       (w_TxClk),
        // .rdempty(rdempty),
        // .rdempty(rdempty),
        // .rdreq       (~rdempty),
        // .rdreq       (~rdempty),

powered by: WebSVN 2.1.0

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