亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? eth_macstatus.v

?? FPGA數(shù)字電子系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例導(dǎo)航(源程序)
?? V
字號(hào):

//

`include "timescale.v"


module eth_macstatus(
                      MRxClk, Reset, ReceivedLengthOK, ReceiveEnd, ReceivedPacketGood, RxCrcError, 
                      MRxErr, MRxDV, RxStateSFD, RxStateData, RxStatePreamble, RxStateIdle, Transmitting, 
                      RxByteCnt, RxByteCntEq0, RxByteCntGreat2, RxByteCntMaxFrame, 
                      InvalidSymbol, MRxD, LatchedCrcError, Collision, CollValid, RxLateCollision,
                      r_RecSmall, r_MinFL, r_MaxFL, ShortFrame, DribbleNibble, ReceivedPacketTooBig, r_HugEn,
                      LoadRxStatus, StartTxDone, StartTxAbort, RetryCnt, RetryCntLatched, MTxClk, MaxCollisionOccured, 
                      RetryLimit, LateCollision, LateCollLatched, DeferIndication, DeferLatched, TxStartFrm,
                      StatePreamble, StateData, CarrierSense, CarrierSenseLost, TxUsedData, LatchedMRxErr, Loopback, 
                      r_FullD
                    );



parameter Tp = 1;


input         MRxClk;
input         Reset;
input         RxCrcError;
input         MRxErr;
input         MRxDV;

input         RxStateSFD;
input   [1:0] RxStateData;
input         RxStatePreamble;
input         RxStateIdle;
input         Transmitting;
input  [15:0] RxByteCnt;
input         RxByteCntEq0;
input         RxByteCntGreat2;
input         RxByteCntMaxFrame;
input   [3:0] MRxD;
input         Collision;
input   [5:0] CollValid;
input         r_RecSmall;
input  [15:0] r_MinFL;
input  [15:0] r_MaxFL;
input         r_HugEn;
input         StartTxDone;
input         StartTxAbort;
input   [3:0] RetryCnt;
input         MTxClk;
input         MaxCollisionOccured;
input         LateCollision;
input         DeferIndication;
input         TxStartFrm;
input         StatePreamble;
input   [1:0] StateData;
input         CarrierSense;
input         TxUsedData;
input         Loopback;
input         r_FullD;


output        ReceivedLengthOK;
output        ReceiveEnd;
output        ReceivedPacketGood;
output        InvalidSymbol;
output        LatchedCrcError;
output        RxLateCollision;
output        ShortFrame;
output        DribbleNibble;
output        ReceivedPacketTooBig;
output        LoadRxStatus;
output  [3:0] RetryCntLatched;
output        RetryLimit;
output        LateCollLatched;
output        DeferLatched;
output        CarrierSenseLost;
output        LatchedMRxErr;


reg           ReceiveEnd;

reg           LatchedCrcError;
reg           LatchedMRxErr;
reg           LoadRxStatus;
reg           InvalidSymbol;
reg     [3:0] RetryCntLatched;
reg           RetryLimit;
reg           LateCollLatched;
reg           DeferLatched;
reg           CarrierSenseLost;

wire          TakeSample;
wire          SetInvalidSymbol; // Invalid symbol was received during reception in 100Mbps 

// Crc error
always @ (posedge MRxClk or posedge Reset)
begin
  if(Reset)
    LatchedCrcError <=#Tp 1'b0;
  else
  if(RxStateSFD)
    LatchedCrcError <=#Tp 1'b0;
  else
  if(RxStateData[0])
    LatchedCrcError <=#Tp RxCrcError & ~RxByteCntEq0;
end


// LatchedMRxErr
always @ (posedge MRxClk or posedge Reset)
begin
  if(Reset)
    LatchedMRxErr <=#Tp 1'b0;
  else
  if(MRxErr & MRxDV & (RxStatePreamble | RxStateSFD | (|RxStateData) | RxStateIdle & ~Transmitting))
    LatchedMRxErr <=#Tp 1'b1;
  else
    LatchedMRxErr <=#Tp 1'b0;
end


// ReceivedPacketGood
assign ReceivedPacketGood = ~LatchedCrcError;


// ReceivedLengthOK
assign ReceivedLengthOK = RxByteCnt[15:0] >= r_MinFL[15:0] & RxByteCnt[15:0] <= r_MaxFL[15:0];





// Time to take a sample
//assign TakeSample = |RxStateData     & ~MRxDV & RxByteCntGreat2  |
assign TakeSample = (|RxStateData)   & (~MRxDV)                    |
                      RxStateData[0] &   MRxDV & RxByteCntMaxFrame;


// LoadRxStatus
always @ (posedge MRxClk or posedge Reset)
begin
  if(Reset)
    LoadRxStatus <=#Tp 1'b0;
  else
    LoadRxStatus <=#Tp TakeSample;
end



// ReceiveEnd
always @ (posedge MRxClk or posedge Reset)
begin
  if(Reset)
    ReceiveEnd  <=#Tp 1'b0;
  else
    ReceiveEnd  <=#Tp LoadRxStatus;                     
end


// Invalid Symbol received during 100Mbps mode
assign SetInvalidSymbol = MRxDV & MRxErr & MRxD[3:0] == 4'he;


// InvalidSymbol
always @ (posedge MRxClk or posedge Reset)
begin
  if(Reset)
    InvalidSymbol <=#Tp 1'b0;
  else
  if(LoadRxStatus & ~SetInvalidSymbol)
    InvalidSymbol <=#Tp 1'b0;
  else
  if(SetInvalidSymbol)
    InvalidSymbol <=#Tp 1'b1;
end


// Late Collision

reg RxLateCollision;
reg RxColWindow;
// Collision Window
always @ (posedge MRxClk or posedge Reset)
begin
  if(Reset)
    RxLateCollision <=#Tp 1'b0;
  else
  if(LoadRxStatus)
    RxLateCollision <=#Tp 1'b0;
  else
  if(Collision & (~r_FullD) & (~RxColWindow | r_RecSmall))
    RxLateCollision <=#Tp 1'b1;
end

// Collision Window
always @ (posedge MRxClk or posedge Reset)
begin
  if(Reset)
    RxColWindow <=#Tp 1'b1;
  else
  if(~Collision & RxByteCnt[5:0] == CollValid[5:0] & RxStateData[1])
    RxColWindow <=#Tp 1'b0;
  else
  if(RxStateIdle)
    RxColWindow <=#Tp 1'b1;
end


// ShortFrame
reg ShortFrame;
always @ (posedge MRxClk or posedge Reset)
begin
  if(Reset)
    ShortFrame <=#Tp 1'b0;
  else
  if(LoadRxStatus)
    ShortFrame <=#Tp 1'b0;
  else
  if(TakeSample)
    ShortFrame <=#Tp RxByteCnt[15:0] < r_MinFL[15:0];
end


// DribbleNibble
reg DribbleNibble;
always @ (posedge MRxClk or posedge Reset)
begin
  if(Reset)
    DribbleNibble <=#Tp 1'b0;
  else
  if(RxStateSFD)
    DribbleNibble <=#Tp 1'b0;
  else
  if(~MRxDV & RxStateData[1])
    DribbleNibble <=#Tp 1'b1;
end


reg ReceivedPacketTooBig;
always @ (posedge MRxClk or posedge Reset)
begin
  if(Reset)
    ReceivedPacketTooBig <=#Tp 1'b0;
  else
  if(LoadRxStatus)
    ReceivedPacketTooBig <=#Tp 1'b0;
  else
  if(TakeSample)
    ReceivedPacketTooBig <=#Tp ~r_HugEn & RxByteCnt[15:0] > r_MaxFL[15:0];
end



// Latched Retry counter for tx status
always @ (posedge MTxClk or posedge Reset)
begin
  if(Reset)
    RetryCntLatched <=#Tp 4'h0;
  else
  if(StartTxDone | StartTxAbort)
    RetryCntLatched <=#Tp RetryCnt;
end


// Latched Retransmission limit
always @ (posedge MTxClk or posedge Reset)
begin
  if(Reset)
    RetryLimit <=#Tp 4'h0;
  else
  if(StartTxDone | StartTxAbort)
    RetryLimit <=#Tp MaxCollisionOccured;
end


// Latched Late Collision
always @ (posedge MTxClk or posedge Reset)
begin
  if(Reset)
    LateCollLatched <=#Tp 1'b0;
  else
  if(StartTxDone | StartTxAbort)
    LateCollLatched <=#Tp LateCollision;
end



// Latched Defer state
always @ (posedge MTxClk or posedge Reset)
begin
  if(Reset)
    DeferLatched <=#Tp 1'b0;
  else
  if(DeferIndication & TxUsedData)
    DeferLatched <=#Tp 1'b1;
  else
  if(TxStartFrm)
    DeferLatched <=#Tp 1'b0;
end


// CarrierSenseLost
always @ (posedge MTxClk or posedge Reset)
begin
  if(Reset)
    CarrierSenseLost <=#Tp 1'b0;
  else
  if((StatePreamble | (|StateData)) & ~CarrierSense & ~Loopback & ~Collision & ~r_FullD)
    CarrierSenseLost <=#Tp 1'b1;
  else
  if(TxStartFrm)
    CarrierSenseLost <=#Tp 1'b0;
end


endmodule

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆一区二区三| 粉嫩av一区二区三区在线播放| 欧美一区二区三区在线| 国产高清精品在线| 午夜视频在线观看一区二区三区| 欧美成人乱码一区二区三区| 欧美最新大片在线看| 国产精品69毛片高清亚洲| 天天影视涩香欲综合网| 亚洲色欲色欲www| 久久久精品国产99久久精品芒果| 欧美吞精做爰啪啪高潮| av成人老司机| 国产一区二区主播在线| 免费成人深夜小野草| 亚洲影院免费观看| 亚洲免费观看高清| 中文字幕精品综合| 精品国产1区二区| 91精品国产麻豆国产自产在线 | 性久久久久久久久| 中文字幕一区二区三区精华液| 精品国产乱码久久久久久图片| 欧美视频中文一区二区三区在线观看 | 一区二区三区小说| 国产精品免费aⅴ片在线观看| 精品免费视频一区二区| 91精品国产黑色紧身裤美女| 欧美午夜片在线看| 91黄色激情网站| 欧美在线|欧美| 在线欧美小视频| 在线看日本不卡| 欧美优质美女网站| 色狠狠色噜噜噜综合网| 色综合久久天天综合网| 国产一区二区导航在线播放| 久草这里只有精品视频| 久久精品国产精品青草| 美女视频第一区二区三区免费观看网站| 亚洲国产日韩a在线播放性色| 亚洲精品国产精品乱码不99| 亚洲丝袜制服诱惑| 亚洲精品免费电影| 亚洲国产视频在线| 婷婷综合五月天| 日本不卡中文字幕| 久久电影网站中文字幕| 国产激情一区二区三区四区| 狠狠久久亚洲欧美| 国产高清成人在线| 91丨九色丨蝌蚪富婆spa| 在线观看亚洲一区| 欧美一区午夜视频在线观看| 日韩欧美一区在线观看| 久久一留热品黄| 国产精品色眯眯| 亚洲午夜av在线| 日韩av网站在线观看| 国产中文一区二区三区| 波多野洁衣一区| 色av成人天堂桃色av| 欧美精品久久久久久久久老牛影院| 欧美顶级少妇做爰| 2020国产精品| 亚洲男同性恋视频| 日av在线不卡| 成人99免费视频| 欧美精品三级在线观看| 久久综合色综合88| 亚洲日本免费电影| 全部av―极品视觉盛宴亚洲| 国产精品一区二区x88av| 色哟哟国产精品| 精品福利av导航| 亚洲精品伦理在线| 美女任你摸久久| av亚洲产国偷v产偷v自拍| 欧美日韩另类一区| 国产欧美一二三区| 亚洲国产视频一区| 国产成人自拍网| 欧美日本视频在线| 国产亚洲欧美日韩日本| 亚洲福利视频三区| 国产馆精品极品| 欧美日韩在线三级| 国产亚洲成aⅴ人片在线观看| 亚洲午夜av在线| 国产成人av一区二区三区在线| 91福利在线导航| 久久久久97国产精华液好用吗| 亚洲人成精品久久久久久| 久久se精品一区精品二区| 91蜜桃传媒精品久久久一区二区| 这里只有精品电影| 中文字幕一区二区不卡| 另类综合日韩欧美亚洲| 在线观看亚洲一区| 亚洲国产精品成人久久综合一区| 丝袜美腿成人在线| 成人av网站免费观看| 精品精品欲导航| 亚洲午夜精品网| 91理论电影在线观看| 久久精品一区四区| 久久精品国产久精国产爱| 欧美日韩一级黄| 一区二区三区日韩精品视频| 成人午夜激情在线| 久久亚洲精品国产精品紫薇| 日韩电影一区二区三区四区| 色欧美乱欧美15图片| 国产精品欧美极品| 国产毛片精品一区| 久久综合一区二区| 精品一区二区在线视频| 3atv在线一区二区三区| 亚洲午夜在线电影| 欧美视频一区二| 亚洲伊人色欲综合网| 91久久香蕉国产日韩欧美9色| 中文字幕在线不卡| 成av人片一区二区| 日本一区免费视频| 粉嫩嫩av羞羞动漫久久久 | 精品黑人一区二区三区久久| 日本不卡一区二区| 91精品国产一区二区人妖| 亚洲午夜久久久久中文字幕久| 色系网站成人免费| 亚洲三级在线免费| 91美女片黄在线| 亚洲激情六月丁香| 在线影院国内精品| 亚洲国产精品久久不卡毛片| 91高清视频在线| 亚洲成人动漫一区| 在线播放91灌醉迷j高跟美女| 日日夜夜一区二区| 日韩丝袜情趣美女图片| 精品亚洲成a人| 国产亚洲成年网址在线观看| 国产69精品久久久久777| 国产欧美中文在线| av中文字幕一区| 亚洲男人电影天堂| 欧美人与禽zozo性伦| 五月婷婷色综合| 欧美一区二区三区在线看| 麻豆91在线播放免费| 久久久久国产精品麻豆| 北条麻妃国产九九精品视频| 18欧美乱大交hd1984| 色偷偷成人一区二区三区91| 亚洲最大成人网4388xx| 欧美日韩成人综合| 狠狠色狠狠色合久久伊人| 国产三级一区二区| 91国产免费观看| 麻豆精品一区二区综合av| 国产日韩欧美不卡在线| 91蝌蚪国产九色| 天堂一区二区在线| 精品美女一区二区三区| 成人伦理片在线| 午夜精品一区在线观看| 精品国偷自产国产一区| 成人一区二区三区在线观看| 亚洲精品成人少妇| 日韩欧美久久久| 成人一区二区三区在线观看| 亚洲一级电影视频| 欧美精品一区二区三区很污很色的| 国产成人av一区二区| 亚洲地区一二三色| 久久亚洲影视婷婷| 欧洲人成人精品| 国产一区二三区好的| 亚洲最大成人综合| 国产片一区二区三区| 69久久夜色精品国产69蝌蚪网| 国产精品1024| 日韩精品电影在线| 中文字幕中文字幕在线一区| 日韩欧美一级在线播放| 91精品办公室少妇高潮对白| 韩国一区二区在线观看| 亚洲免费看黄网站| 日本一区二区三区电影| 欧美一区二区三区白人| 色综合一个色综合亚洲| 精品写真视频在线观看| 亚洲五码中文字幕| 亚洲视频免费观看| 久久久久久97三级| 欧美一区二区三区四区久久| 日本黄色一区二区| 成人av影视在线观看| 国产美女久久久久|