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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? eth_macstatus.v

?? 《FPGA數字電子系統設計與開發實例導航》的配套光盤
?? 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲女人****多毛耸耸8| 日韩国产欧美在线观看| 国产米奇在线777精品观看| 日韩一级完整毛片| 黄网站免费久久| 久久久久久黄色| 成人av免费观看| 亚洲精选免费视频| 在线不卡a资源高清| 久久激情五月激情| 国产三级精品三级在线专区| 91社区在线播放| 天天影视网天天综合色在线播放| 在线综合视频播放| 国产一级精品在线| 亚洲激情五月婷婷| 欧美日韩激情一区二区三区| 青青草原综合久久大伊人精品优势| 精品国产一二三区| 97成人超碰视| 美女性感视频久久| 欧美极品少妇xxxxⅹ高跟鞋| 色av成人天堂桃色av| 日韩和欧美一区二区| 久久噜噜亚洲综合| 欧洲生活片亚洲生活在线观看| 日韩av电影天堂| 日本一区二区在线不卡| 欧美中文字幕久久| 国产中文字幕精品| 亚洲国产成人高清精品| 久久久久久黄色| 欧美日韩国产在线播放网站| 国产精品亚洲一区二区三区在线| 亚洲另类一区二区| 精品国产3级a| 欧美无砖专区一中文字| 国产成人午夜精品影院观看视频 | 亚洲天堂成人网| 日韩一区二区高清| 91在线国产福利| 国产剧情av麻豆香蕉精品| 亚洲最大色网站| 国产欧美一区二区三区网站| 欧美日韩精品一区二区三区| 99视频国产精品| 国产一区二区91| 东方欧美亚洲色图在线| 日韩中文字幕亚洲一区二区va在线| 欧美国产精品中文字幕| 日韩一级二级三级精品视频| 色悠悠亚洲一区二区| 国产精选一区二区三区| 日日夜夜免费精品视频| 最新不卡av在线| 国产视频亚洲色图| 欧美成人a∨高清免费观看| 欧美日韩另类一区| 色诱视频网站一区| 波多野结衣一区二区三区| 韩日欧美一区二区三区| 首页国产欧美久久| 性久久久久久久| 亚洲一二三四区| 亚洲六月丁香色婷婷综合久久| 国产日韩欧美精品在线| www激情久久| 亚洲精品在线免费播放| 欧美成人精品3d动漫h| 777精品伊人久久久久大香线蕉| 色悠悠久久综合| 色婷婷综合在线| 一本久久a久久精品亚洲| av电影在线观看不卡| 成人精品免费视频| 风间由美中文字幕在线看视频国产欧美| 亚洲午夜国产一区99re久久| 九九精品一区二区| 精品欧美一区二区久久| 制服丝袜日韩国产| 欧美日韩精品一区二区三区四区 | 国产麻豆视频一区| 中文字幕欧美日本乱码一线二线| 欧美国产一区在线| 午夜伦欧美伦电影理论片| 韩国在线一区二区| 色伊人久久综合中文字幕| 666欧美在线视频| 国产精品久久久久久久久搜平片 | 精品一区二区日韩| 色婷婷综合五月| 久久奇米777| 午夜精品一区二区三区免费视频 | 99精品黄色片免费大全| 国产精品456| 欧美大片一区二区三区| 亚洲成人动漫一区| 欧美中文一区二区三区| 久久久三级国产网站| 亚洲一区二区三区免费视频| 成人一级片网址| 91精品国产色综合久久ai换脸| 久久精品视频免费| 亚洲国产综合人成综合网站| 国产精品伊人色| 久久久久高清精品| 91官网在线观看| 日韩一区二区三区视频在线| 国产精品无码永久免费888| 日韩av在线免费观看不卡| 色综合天天综合在线视频| 日韩精品中文字幕一区二区三区| 综合久久综合久久| 国产成人免费视频网站高清观看视频 | 久久久久久97三级| 日韩黄色免费电影| 欧美午夜视频网站| **性色生活片久久毛片| 国产精品综合网| 精品国产乱码久久久久久图片| 亚洲bdsm女犯bdsm网站| 色婷婷久久综合| 国产精品福利影院| 国产91精品在线观看| 26uuu亚洲综合色| 久久国产精品99精品国产| 日韩一区二区三区av| 日日骚欧美日韩| 欧美精品丝袜中出| 无码av中文一区二区三区桃花岛| 在线免费观看一区| 亚洲精品精品亚洲| 在线观看日韩高清av| 亚洲毛片av在线| 在线中文字幕一区| 亚洲地区一二三色| 在线不卡免费av| 久久精品国产亚洲高清剧情介绍| 欧美一区二区在线观看| 日本女人一区二区三区| 日韩欧美国产1| 国产综合久久久久久久久久久久| 久久精品视频免费| 丰满白嫩尤物一区二区| 中文字幕高清一区| 91蜜桃婷婷狠狠久久综合9色| 综合电影一区二区三区 | 欧美日韩一区二区欧美激情 | 亚洲gay无套男同| 3d动漫精品啪啪| 毛片av一区二区三区| 精品少妇一区二区三区视频免付费 | 精品精品国产高清一毛片一天堂| 国产真实乱子伦精品视频| 欧美激情一区二区三区不卡| 成人国产精品免费网站| 亚洲精品国产精华液| 欧美蜜桃一区二区三区| 国内精品久久久久影院色| 国产情人综合久久777777| 91在线国产福利| 丝袜美腿亚洲色图| 欧美精品一区二区精品网| 成人av网站在线| 亚洲丰满少妇videoshd| 日韩一区二区在线观看视频 | 日韩中文字幕91| 2020国产成人综合网| 成人一级黄色片| 亚洲香蕉伊在人在线观| 精品三级av在线| 91免费观看国产| 奇米影视在线99精品| 中文字幕第一区综合| 欧美视频在线不卡| 免费成人在线影院| 国产精品网站在线播放| 欧美日韩综合不卡| 国产综合色精品一区二区三区| 亚洲欧美日韩久久精品| 日韩一区二区三区高清免费看看| 成人爱爱电影网址| 日韩精品乱码av一区二区| 国产肉丝袜一区二区| 欧美日韩一区不卡| 国产成人精品亚洲日本在线桃色| 亚洲一区二区美女| 国产亚洲一二三区| 欧美高清激情brazzers| 成人精品国产福利| 麻豆国产一区二区| 一区二区三区加勒比av| 久久青草国产手机看片福利盒子| 日本韩国一区二区三区| 国产综合色在线| 日韩专区中文字幕一区二区| 日韩伦理免费电影| 国产性色一区二区| 欧美第一区第二区| 欧美日韩一区二区电影|