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

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

?? eth_macstatus.v

?? 使用方法: 以太網(wǎng)編程,拷貝到硬盤
?? V
字號:

//

`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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久线观看视频| 欧日韩精品视频| 久久久亚洲高清| 国产剧情av麻豆香蕉精品| 久久色.com| 99视频精品免费视频| 中文字幕欧美一区| 在线观看亚洲专区| 日韩精品一级二级| 精品美女一区二区三区| 国产91精品久久久久久久网曝门| 欧美国产精品中文字幕| 色综合久久久久综合99| 爽好久久久欧美精品| 久久色中文字幕| 91女人视频在线观看| 丝袜亚洲精品中文字幕一区| 精品999在线播放| 91免费小视频| 久久国产精品色婷婷| 国产欧美精品一区aⅴ影院| 色综合一个色综合亚洲| 蜜桃视频在线观看一区| 中文字幕乱码亚洲精品一区| 欧美在线观看禁18| 国产在线播放一区二区三区| 亚洲色图在线播放| 欧美一区二区三区精品| 成人av电影免费在线播放| 午夜伦理一区二区| 国产午夜亚洲精品理论片色戒 | 国产又黄又大久久| ...av二区三区久久精品| 欧美一级久久久久久久大片| 99热精品一区二区| 久久se这里有精品| 一区二区三区在线影院| 国产午夜精品福利| 欧美亚洲综合久久| 成人性生交大片免费| 日韩国产精品久久久久久亚洲| 国产精品欧美一区喷水| 日韩一区二区三区观看| 在线亚洲一区观看| 国产成人免费视频网站| 麻豆精品蜜桃视频网站| 亚洲精品视频一区二区| 国产人成亚洲第一网站在线播放| 欧美日韩激情一区| 色香蕉久久蜜桃| av午夜精品一区二区三区| 国内精品伊人久久久久av一坑 | 欧美激情综合五月色丁香| 91精品一区二区三区在线观看| 91丨porny丨首页| 国产成人一区二区精品非洲| 日韩1区2区日韩1区2区| 亚洲国产精品一区二区尤物区| 亚洲欧洲精品一区二区精品久久久| 2022国产精品视频| 欧美videossexotv100| 欧美顶级少妇做爰| 欧美三区在线视频| 91搞黄在线观看| 色综合久久久久网| 91麻豆文化传媒在线观看| av电影在线观看完整版一区二区| 国产成人午夜精品影院观看视频 | 欧美高清你懂得| 欧美日韩中文国产| 在线免费精品视频| 日本高清不卡视频| 欧美三级在线视频| 91国偷自产一区二区使用方法| 色乱码一区二区三区88| 91女神在线视频| 欧日韩精品视频| 精品视频在线免费| 制服丝袜激情欧洲亚洲| 欧美一激情一区二区三区| 日韩情涩欧美日韩视频| 日韩欧美一级精品久久| 精品久久人人做人人爰| 久久婷婷国产综合国色天香| 国产三级精品视频| 国产欧美视频在线观看| 中文字幕日本不卡| 一级特黄大欧美久久久| 亚洲欧美日韩在线| 亚洲va韩国va欧美va精品| 日本怡春院一区二区| 麻豆精品精品国产自在97香蕉| 久久草av在线| 成人av电影免费在线播放| 色视频欧美一区二区三区| 欧美午夜不卡在线观看免费| 日韩欧美中文字幕精品| 久久久久久久久久久电影| 国产精品久久久久久久久久久免费看| 亚洲人成网站在线| 性做久久久久久免费观看欧美| 蜜臀av性久久久久av蜜臀妖精 | 日韩一区二区在线观看视频播放| 日韩三级伦理片妻子的秘密按摩| 久久嫩草精品久久久久| 国产精品久久毛片a| 亚洲午夜精品一区二区三区他趣| 日本中文一区二区三区| 国产91露脸合集magnet| 欧美日免费三级在线| 精品福利一二区| 一区二区三区在线影院| 久久国产精品第一页| 99精品热视频| 91麻豆精品国产91久久久更新时间| 久久在线观看免费| 亚洲综合色区另类av| 九色porny丨国产精品| 91看片淫黄大片一级| 精品日韩欧美在线| 亚洲日本在线天堂| 久久av资源网| 色8久久人人97超碰香蕉987| 精品捆绑美女sm三区| 亚洲一区在线视频观看| 国产一区二区三区国产| 欧美三日本三级三级在线播放| 久久久精品黄色| 日韩福利电影在线| 91色porny| 国产欧美精品区一区二区三区 | 麻豆精品在线播放| 91片黄在线观看| 国产精品久久网站| 日本不卡123| 一本大道av一区二区在线播放| 久久久久九九视频| 日韩精品亚洲专区| 一本大道久久精品懂色aⅴ| 国产欧美日韩在线| 麻豆成人免费电影| 欧美夫妻性生活| 一区二区久久久久| 99视频一区二区| 中文av一区特黄| 国产一区二区在线视频| 日韩一级在线观看| 亚洲影院免费观看| 色综合久久中文字幕综合网| 国产精品色婷婷| 丰满白嫩尤物一区二区| 欧美精品一区二区三区蜜桃视频 | 久久久精品综合| 久久国产三级精品| 欧美一区二区二区| 视频一区视频二区在线观看| 欧美色图天堂网| 亚洲一区二区三区激情| 91久久免费观看| 亚洲视频在线观看三级| av福利精品导航| 亚洲天堂免费在线观看视频| 国产iv一区二区三区| 欧美国产成人在线| 粗大黑人巨茎大战欧美成人| 国产片一区二区三区| 国产.欧美.日韩| 亚洲欧洲三级电影| 色天使久久综合网天天| 一区二区三区欧美视频| 欧洲一区二区三区在线| 香蕉久久一区二区不卡无毒影院 | 久久久影院官网| 国产成人啪午夜精品网站男同| 久久网站热最新地址| 成人一级视频在线观看| 国产精品久久久久久久蜜臀| 成人av午夜电影| 亚洲精品一二三四区| 欧美亚洲愉拍一区二区| 日本视频一区二区三区| 日韩一区二区三区免费观看| 国产一区二区三区香蕉| 国产精品的网站| 欧美亚洲一区二区在线观看| 奇米精品一区二区三区在线观看| 日韩一区二区三区在线视频| 精品一区二区三区免费观看| 欧美极品xxx| 色综合久久99| 蜜臀99久久精品久久久久久软件| 久久久精品黄色| 日本大香伊一区二区三区| 日韩av一二三| 欧美经典一区二区三区| 欧美视频一二三区| 亚洲综合激情另类小说区| 一区二区三区**美女毛片| 国产在线精品一区二区三区不卡| 国产日韩精品视频一区|