Line 61... |
Line 61... |
|
|
output [1:0] o2_SGMIISpeed,
|
output [1:0] o2_SGMIISpeed,
|
output o_SGMIIDuplex,
|
output o_SGMIIDuplex,
|
|
|
//GMII Interface
|
//GMII Interface
|
|
output o_TxClk,
|
|
output o_RxClk,
|
input [07:00] i8_TxD,
|
input [07:00] i8_TxD,
|
input i_TxEN,
|
input i_TxEN,
|
input i_TxER,
|
input i_TxER,
|
output [07:00] o8_RxD,
|
output [07:00] o8_RxD,
|
output o_RxDV,
|
output o_RxDV,
|
Line 72... |
Line 74... |
output o_GMIIClk,
|
output o_GMIIClk,
|
output o_MIIClk,
|
output o_MIIClk,
|
output o_Col,
|
output o_Col,
|
output o_Crs);
|
output o_Crs);
|
|
|
|
wire w_ClkTx,w_ClkRx;
|
wire w_ClkSys;
|
wire w_ClkSys;
|
wire w_Loopback;
|
wire w_Loopback;
|
reg r_RestartAN;
|
reg r_RestartAN;
|
wire w_ANEnable;
|
wire w_ANEnable;
|
wire [15:00] w16_Status;
|
wire [15:00] w16_Status;
|
Line 138... |
Line 141... |
|
|
integer DELAY;
|
integer DELAY;
|
|
|
assign o_Linkup = w_SyncStatus;
|
assign o_Linkup = w_SyncStatus;
|
assign o_ANDone = w_ANComplete;
|
assign o_ANDone = w_ANComplete;
|
|
assign o_TxClk = w_ClkTx;
|
|
assign o_RxClk = w_ClkRx;
|
|
|
mRateAdapter u0RateAdapter(
|
mRateAdapter u0RateAdapter(
|
//MAC Side signal
|
//MAC Side signal
|
.i_TxClk (o_MIIClk),
|
.i_TxClk (o_MIIClk),
|
.i_TxEN (i_TxEN ),
|
.i_TxEN (i_TxEN ),
|
Line 184... |
Line 189... |
assign w_CheckEndKD21_5D0_0 = w3_PreCheckIsComma[2] & w3_PreCheckIsD21_5[1] & w3_PreCheckIsD2_2[0];
|
assign w_CheckEndKD21_5D0_0 = w3_PreCheckIsComma[2] & w3_PreCheckIsD21_5[1] & w3_PreCheckIsD2_2[0];
|
assign w_CheckEndKD2_2D0_0 = w3_PreCheckIsComma[2] & w3_PreCheckIsD2_2[1] & w3_PreCheckIsD2_2[0];
|
assign w_CheckEndKD2_2D0_0 = w3_PreCheckIsComma[2] & w3_PreCheckIsD2_2[1] & w3_PreCheckIsD2_2[0];
|
assign w_CheckEndRRK = w3_PreCheckIsRSet[2] & w3_PreCheckIsRSet[1] & w3_PreCheckIsComma[0];
|
assign w_CheckEndRRK = w3_PreCheckIsRSet[2] & w3_PreCheckIsRSet[1] & w3_PreCheckIsComma[0];
|
assign w_CheckEndRRS = w3_PreCheckIsRSet[2] & w3_PreCheckIsRSet[1] & w3_PreCheckIsSSet[0];
|
assign w_CheckEndRRS = w3_PreCheckIsRSet[2] & w3_PreCheckIsRSet[1] & w3_PreCheckIsSSet[0];
|
|
|
always@(posedge w_ClkSys)
|
always@(posedge w_ClkRx)
|
begin
|
begin
|
r8_RxCodeGroup[0] <= w8_RxCode;
|
r8_RxCodeGroup[0] <= w8_RxCode;
|
r_RxCgCtrl[0] <= w_RxCodeCtrl;
|
r_RxCgCtrl[0] <= w_RxCodeCtrl;
|
r_RxCgInvalid[0] <= w_RxCodeInvalid;
|
r_RxCgInvalid[0] <= w_RxCodeInvalid;
|
for(DELAY=1;DELAY<3;DELAY=DELAY+1)
|
for(DELAY=1;DELAY<3;DELAY=DELAY+1)
|
Line 240... |
Line 245... |
.i_SyncStatus (w_SyncStatus),
|
.i_SyncStatus (w_SyncStatus),
|
.i_ANComplete (w_ANComplete),
|
.i_ANComplete (w_ANComplete),
|
.i16_LpAdvAbility (w16_LpAdvAbility));
|
.i16_LpAdvAbility (w16_LpAdvAbility));
|
|
|
mSyncCtrl u0SyncCtrl(
|
mSyncCtrl u0SyncCtrl(
|
.i_Clk (w_ClkSys ),
|
.i_Clk (w_ClkRx ),
|
.i_Cke ((~w_GxBPowerDown) ),
|
.i_Cke ((~w_GxBPowerDown) ),
|
.i_ARst_L (w_ARstLogic_L ),
|
.i_ARst_L (w_ARstLogic_L ),
|
.i_CtrlLoopBack (w_Loopback ),
|
.i_CtrlLoopBack (w_Loopback ),
|
|
|
.i8_RxCodeGroupIn (r8_RxCodeGroup[2] ),
|
.i8_RxCodeGroupIn (r8_RxCodeGroup[2] ),
|
Line 267... |
Line 272... |
.o_IsTSet (w_IsTSet ),
|
.o_IsTSet (w_IsTSet ),
|
.o_IsVSet (w_IsVSet ),
|
.o_IsVSet (w_IsVSet ),
|
.o_IsSSet (w_IsSSet ),
|
.o_IsSSet (w_IsSSet ),
|
.o_IsRSet (w_IsRSet ));
|
.o_IsRSet (w_IsRSet ));
|
|
|
always@(posedge w_ClkSys)
|
always@(posedge w_ClkRx)
|
begin
|
begin
|
r_CheckEndKDK <= w_CheckEndKDK;
|
r_CheckEndKDK <= w_CheckEndKDK;
|
r_CheckEndKD21_5D0_0 <= w_CheckEndKD21_5D0_0;
|
r_CheckEndKD21_5D0_0 <= w_CheckEndKD21_5D0_0;
|
r_CheckEndKD2_2D0_0 <= w_CheckEndKD2_2D0_0;
|
r_CheckEndKD2_2D0_0 <= w_CheckEndKD2_2D0_0;
|
r_CheckEndTRK <= w_CheckEndTRK;
|
r_CheckEndTRK <= w_CheckEndTRK;
|
Line 317... |
Line 322... |
.o_RxDV (w_RxDV ),
|
.o_RxDV (w_RxDV ),
|
.o_RxER (w_RxER ),
|
.o_RxER (w_RxER ),
|
.o8_RxD (w8_RxD ),
|
.o8_RxD (w8_RxD ),
|
.o_Invalid (w_Invalid),
|
.o_Invalid (w_Invalid),
|
.o_Receiving (w_Receiving),
|
.o_Receiving (w_Receiving),
|
.i_Clk (w_ClkSys),
|
.i_Clk (w_ClkRx),
|
.i_ARst_L (w_ARstLogic_L));
|
.i_ARst_L (w_ARstLogic_L));
|
|
|
mANCtrl u0ANCtrl(
|
mANCtrl u0ANCtrl(
|
.i_Clk (w_ClkSys ),
|
.i_Clk (w_ClkRx ),
|
.i_ARst_L (w_ARstLogic_L ),
|
.i_ARst_L (w_ARstLogic_L ),
|
.i_Cke ((~w_GxBPowerDown) ),
|
.i_Cke ((~w_GxBPowerDown) ),
|
.i_RestartAN (w_ANRestart ),
|
.i_RestartAN (w_ANRestart ),
|
.i_SyncStatus (w_SyncStatus ),
|
.i_SyncStatus (w_SyncStatus ),
|
.i_ANEnable (w_ANEnable ),
|
.i_ANEnable (w_ANEnable ),
|
Line 354... |
Line 359... |
.o8_TxCodeGroupOut (w8_TxCode ),
|
.o8_TxCodeGroupOut (w8_TxCode ),
|
.o_TxCodeValid (w_TxCodeValid ),
|
.o_TxCodeValid (w_TxCodeValid ),
|
.o_TxCodeCtrl (w_TxCodeCtrl ),
|
.o_TxCodeCtrl (w_TxCodeCtrl ),
|
.i_CurrentParity (w_CurrentParity ),
|
.i_CurrentParity (w_CurrentParity ),
|
|
|
.i_Clk (w_ClkSys ),
|
.i_Clk (w_ClkTx ),
|
.i_ARst_L (w_ARstLogic_L ));
|
.i_ARst_L (w_ARstLogic_L ));
|
|
|
assign w_SignalDetect=~w_RxCodeInvalid;
|
assign w_SignalDetect=~w_RxCodeInvalid;
|
|
|
/*mXcver #(.pXcverName("AltArriaV"))u0Xcver(
|
/*mXcver #(.pXcverName("AltArriaV"))u0Xcver(
|
Line 382... |
Line 387... |
.i_TxCodeValid (w_TxCodeValid ),
|
.i_TxCodeValid (w_TxCodeValid ),
|
.i_TxCodeCtrl (w_TxCodeCtrl ),
|
.i_TxCodeCtrl (w_TxCodeCtrl ),
|
.i_TxForceNegDisp (w_TxForceNegDisp ),
|
.i_TxForceNegDisp (w_TxForceNegDisp ),
|
.o_RunningDisparity (w_CurrentParity));*/
|
.o_RunningDisparity (w_CurrentParity));*/
|
|
|
|
|
mAltA5GXlvds u0Xcverlvds(
|
mAltA5GXlvds u0Xcverlvds(
|
.i_SerRx (i_SerRx ),
|
.i_SerRx (i_SerRx ),
|
.o_SerTx (o_SerTx ),
|
.o_SerTx (o_SerTx ),
|
|
|
.i_RefClk125M (i_RefClk125M ),
|
.i_RefClk125M (i_RefClk125M ),
|
.o_CoreClk (w_ClkSys ),
|
.o_TxClk (w_ClkTx ),
|
|
.o_RxClk (w_ClkRx ),
|
.i_GxBPwrDwn (w_GxBPowerDown ),
|
.i_GxBPwrDwn (w_GxBPowerDown ),
|
.i_XcverDigitalRst (~i_ARstHardware_L ),
|
.i_XcverDigitalRst (~i_ARstHardware_L ),
|
.o_PllLocked (w_PllLocked ),
|
.o_PllLocked (w_PllLocked ),
|
.i_RxBitSlip (w_BitSlip ),
|
.i_RxBitSlip (w_BitSlip ),
|
|
|
Line 404... |
Line 411... |
.i_TxCodeValid (w_TxCodeValid ),
|
.i_TxCodeValid (w_TxCodeValid ),
|
.i_TxCodeCtrl (w_TxCodeCtrl ),
|
.i_TxCodeCtrl (w_TxCodeCtrl ),
|
.i_TxForceNegDisp (1'b0 ),
|
.i_TxForceNegDisp (1'b0 ),
|
.o_RunningDisparity (w_CurrentParity));
|
.o_RunningDisparity (w_CurrentParity));
|
|
|
|
assign w_ClkSys = w_ClkTx;
|
assign o_GMIIClk = w_ClkSys;
|
assign o_GMIIClk = w_ClkSys;
|
|
|
always@(posedge w_ClkSys or negedge i_ARstHardware_L )
|
always@(posedge w_ClkSys or negedge i_ARstHardware_L )
|
if(~i_ARstHardware_L)
|
if(~i_ARstHardware_L)
|
begin
|
begin
|