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

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

?? eth_maccontrol.v

?? 人民郵電出版社出版的《FPGA硬件接口設(shè)計實踐》一書的代碼
?? V
字號:



`include "timescale.v"


module eth_maccontrol (MTxClk, MRxClk, TxReset, RxReset, TPauseRq, TxDataIn, TxStartFrmIn, TxUsedDataIn, 
                       TxEndFrmIn, TxDoneIn, TxAbortIn, RxData, RxValid, RxStartFrm, RxEndFrm, ReceiveEnd, 
                       ReceivedPacketGood, ReceivedLengthOK, TxFlow, RxFlow, DlyCrcEn, TxPauseTV, 
                       MAC, PadIn, PadOut, CrcEnIn, CrcEnOut, TxDataOut, TxStartFrmOut, TxEndFrmOut, 
                       TxDoneOut, TxAbortOut, TxUsedDataOut, WillSendControlFrame, TxCtrlEndFrm, 
                       ReceivedPauseFrm, ControlFrmAddressOK, SetPauseTimer, r_PassAll, RxStatusWriteLatched_sync2
                      );


parameter   Tp = 1;


input         MTxClk;                   // Transmit clock (from PHY)
input         MRxClk;                   // Receive clock (from PHY)
input         TxReset;                  // Transmit reset
input         RxReset;                  // Receive reset
input         TPauseRq;                 // Transmit control frame (from host)
input   [7:0] TxDataIn;                 // Transmit packet data byte (from host)
input         TxStartFrmIn;             // Transmit packet start frame input (from host)
input         TxUsedDataIn;             // Transmit packet used data (from TxEthMAC)
input         TxEndFrmIn;               // Transmit packet end frame input (from host)
input         TxDoneIn;                 // Transmit packet done (from TxEthMAC)
input         TxAbortIn;                // Transmit packet abort (input from TxEthMAC)
input         PadIn;                    // Padding (input from registers)
input         CrcEnIn;                  // Crc append (input from registers)
input   [7:0] RxData;                   // Receive Packet Data (from RxEthMAC)
input         RxValid;                  // Received a valid packet
input         RxStartFrm;               // Receive packet start frame (input from RxEthMAC)
input         RxEndFrm;                 // Receive packet end frame (input from RxEthMAC)
input         ReceiveEnd;               // End of receiving of the current packet (input from RxEthMAC)
input         ReceivedPacketGood;       // Received packet is good
input         ReceivedLengthOK;         // Length of the received packet is OK
input         TxFlow;                   // Tx flow control (from registers)
input         RxFlow;                   // Rx flow control (from registers)
input         DlyCrcEn;                 // Delayed CRC enabled (from registers)
input  [15:0] TxPauseTV;                // Transmit Pause Timer Value (from registers)
input  [47:0] MAC;                      // MAC address (from registers)
input         RxStatusWriteLatched_sync2;
input         r_PassAll;

output  [7:0] TxDataOut;                // Transmit Packet Data (to TxEthMAC)
output        TxStartFrmOut;            // Transmit packet start frame (output to TxEthMAC)
output        TxEndFrmOut;              // Transmit packet end frame (output to TxEthMAC)
output        TxDoneOut;                // Transmit packet done (to host)
output        TxAbortOut;               // Transmit packet aborted (to host)
output        TxUsedDataOut;            // Transmit packet used data (to host)
output        PadOut;                   // Padding (output to TxEthMAC)
output        CrcEnOut;                 // Crc append (output to TxEthMAC)
output        WillSendControlFrame;
output        TxCtrlEndFrm;
output        ReceivedPauseFrm;
output        ControlFrmAddressOK;
output        SetPauseTimer;

reg           TxUsedDataOutDetected;    
reg           TxAbortInLatched;         
reg           TxDoneInLatched;          
reg           MuxedDone;                
reg           MuxedAbort;               

wire          Pause;                    
wire          TxCtrlStartFrm;
wire    [7:0] ControlData;              
wire          CtrlMux;                  
wire          SendingCtrlFrm;           // Sending Control Frame (enables padding and CRC)
wire          BlockTxDone;


// Signal TxUsedDataOut was detected (a transfer is already in progress)
always @ (posedge MTxClk or posedge TxReset)
begin
  if(TxReset)
    TxUsedDataOutDetected <= #Tp 1'b0;
  else
  if(TxDoneIn | TxAbortIn)
    TxUsedDataOutDetected <= #Tp 1'b0;
  else
  if(TxUsedDataOut)
    TxUsedDataOutDetected <= #Tp 1'b1;
end    


// Latching variables
always @ (posedge MTxClk or posedge TxReset)
begin
  if(TxReset)
    begin
      TxAbortInLatched <= #Tp 1'b0;
      TxDoneInLatched  <= #Tp 1'b0;
    end
  else
    begin
      TxAbortInLatched <= #Tp TxAbortIn;
      TxDoneInLatched  <= #Tp TxDoneIn;
    end
end



// Generating muxed abort signal
always @ (posedge MTxClk or posedge TxReset)
begin
  if(TxReset)
    MuxedAbort <= #Tp 1'b0;
  else
  if(TxStartFrmIn)
    MuxedAbort <= #Tp 1'b0;
  else
  if(TxAbortIn & ~TxAbortInLatched & TxUsedDataOutDetected)
    MuxedAbort <= #Tp 1'b1;
end


// Generating muxed done signal
always @ (posedge MTxClk or posedge TxReset)
begin
  if(TxReset)
    MuxedDone <= #Tp 1'b0;
  else
  if(TxStartFrmIn)
    MuxedDone <= #Tp 1'b0;
  else
  if(TxDoneIn & (~TxDoneInLatched) & TxUsedDataOutDetected)
    MuxedDone <= #Tp 1'b1;
end


// TxDoneOut
assign TxDoneOut  = CtrlMux? ((~TxStartFrmIn) & (~BlockTxDone) & MuxedDone) : 
                             ((~TxStartFrmIn) & (~BlockTxDone) & TxDoneIn);

// TxAbortOut
assign TxAbortOut  = CtrlMux? ((~TxStartFrmIn) & (~BlockTxDone) & MuxedAbort) :
                              ((~TxStartFrmIn) & (~BlockTxDone) & TxAbortIn);

// TxUsedDataOut
assign TxUsedDataOut  = ~CtrlMux & TxUsedDataIn;

// TxStartFrmOut
assign TxStartFrmOut = CtrlMux? TxCtrlStartFrm : (TxStartFrmIn & ~Pause);


// TxEndFrmOut
assign TxEndFrmOut = CtrlMux? TxCtrlEndFrm : TxEndFrmIn;


// TxDataOut[7:0]
assign TxDataOut[7:0] = CtrlMux? ControlData[7:0] : TxDataIn[7:0];


// PadOut
assign PadOut = PadIn | SendingCtrlFrm;


// CrcEnOut
assign CrcEnOut = CrcEnIn | SendingCtrlFrm;



// Connecting receivecontrol module
eth_receivecontrol receivecontrol1 
(
 .MTxClk(MTxClk), .MRxClk(MRxClk), .TxReset(TxReset), .RxReset(RxReset), .RxData(RxData), 
 .RxValid(RxValid), .RxStartFrm(RxStartFrm), .RxEndFrm(RxEndFrm), .RxFlow(RxFlow), 
 .ReceiveEnd(ReceiveEnd), .MAC(MAC), .DlyCrcEn(DlyCrcEn), .TxDoneIn(TxDoneIn), 
 .TxAbortIn(TxAbortIn), .TxStartFrmOut(TxStartFrmOut), .ReceivedLengthOK(ReceivedLengthOK), 
 .ReceivedPacketGood(ReceivedPacketGood), .TxUsedDataOutDetected(TxUsedDataOutDetected), 
 .Pause(Pause), .ReceivedPauseFrm(ReceivedPauseFrm), .AddressOK(ControlFrmAddressOK), 
 .r_PassAll(r_PassAll), .RxStatusWriteLatched_sync2(RxStatusWriteLatched_sync2), .SetPauseTimer(SetPauseTimer)
);


eth_transmitcontrol transmitcontrol1
(
 .MTxClk(MTxClk), .TxReset(TxReset), .TxUsedDataIn(TxUsedDataIn), .TxUsedDataOut(TxUsedDataOut), 
 .TxDoneIn(TxDoneIn), .TxAbortIn(TxAbortIn), .TxStartFrmIn(TxStartFrmIn), .TPauseRq(TPauseRq), 
 .TxUsedDataOutDetected(TxUsedDataOutDetected), .TxFlow(TxFlow), .DlyCrcEn(DlyCrcEn), .TxPauseTV(TxPauseTV), 
 .MAC(MAC), .TxCtrlStartFrm(TxCtrlStartFrm), .TxCtrlEndFrm(TxCtrlEndFrm), .SendingCtrlFrm(SendingCtrlFrm), 
 .CtrlMux(CtrlMux), .ControlData(ControlData), .WillSendControlFrame(WillSendControlFrame), .BlockTxDone(BlockTxDone)
);



endmodule

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美变态口味重另类| 玉足女爽爽91| 91在线免费播放| 精品一区二区三区在线观看| 亚洲国产中文字幕在线视频综合| 久久精品免视看| 欧美二区三区的天堂| 色综合色综合色综合| 成人h动漫精品| 成人99免费视频| 欧美一级搡bbbb搡bbbb| 日韩欧美国产不卡| 日韩欧美国产电影| 亚洲一区二区三区爽爽爽爽爽| 依依成人精品视频| 韩国成人精品a∨在线观看| 久久69国产一区二区蜜臀| 99久久久国产精品免费蜜臀| 日韩免费高清视频| 亚洲国产欧美在线| 91在线视频观看| 国产亚洲一区字幕| 精品亚洲porn| 91麻豆精品国产91久久久| 日韩一区二区三免费高清| 精品国产乱码久久久久久图片 | 蜜桃精品视频在线| 蜜臀av性久久久久蜜臀aⅴ流畅 | 日本不卡的三区四区五区| 久久国产综合精品| 不卡的av中国片| 久久综合999| 亚洲女人****多毛耸耸8| 亚洲va欧美va国产va天堂影院| 首页亚洲欧美制服丝腿| 国产91在线看| 欧美艳星brazzers| 国产精品理伦片| 国产视频一区二区在线观看| 青青草国产精品97视觉盛宴| 91官网在线免费观看| 日韩三级精品电影久久久| 午夜激情综合网| 国产成人av电影在线| 精品国产精品网麻豆系列| 美国av一区二区| 日韩女优毛片在线| 青娱乐精品在线视频| 欧美久久久久久久久中文字幕| 亚洲已满18点击进入久久| 色久优优欧美色久优优| 一区二区三区四区在线播放| 精品无人区卡一卡二卡三乱码免费卡| 欧美高清你懂得| 调教+趴+乳夹+国产+精品| 91精品国产日韩91久久久久久| 一级精品视频在线观看宜春院 | 国产精品色哟哟网站| 天天免费综合色| 日韩一级大片在线观看| 精品一区二区三区免费观看 | 久久综合狠狠综合| 国产福利91精品一区二区三区| 欧美视频一区在线| 免费高清成人在线| 久久久久久久久久久黄色| 日韩黄色在线观看| 久久免费看少妇高潮| 成人精品一区二区三区中文字幕| 日韩欧美黄色影院| 国产一区二区91| 日韩精品一区二区在线| 国产揄拍国内精品对白| 自拍视频在线观看一区二区| 国产福利91精品| 亚洲视频在线观看一区| 欧美精品色一区二区三区| 久久99久久精品欧美| 中文字幕va一区二区三区| 91麻豆精品秘密| 久久综合九色综合久久久精品综合| 精品在线播放午夜| 亚洲欧美日韩在线播放| 欧美一区二区精品久久911| 成人精品视频一区二区三区尤物| 亚洲综合999| 国产拍欧美日韩视频二区| 精品一区在线看| 亚洲精品国产一区二区精华液 | 欧美午夜宅男影院| 精品一区二区三区欧美| 亚洲精品国产精华液| 久久久久久久综合色一本| 欧美日韩亚洲高清一区二区| 亚洲国产欧美另类丝袜| 久久精品无码一区二区三区| 欧美在线免费观看视频| 亚洲国产精品一区二区久久| 久久综合久久久久88| 欧美精品九九99久久| gogo大胆日本视频一区| 一区二区中文字幕在线| 色婷婷av一区| 顶级嫩模精品视频在线看| 日本三级亚洲精品| 久久久天堂av| 777午夜精品视频在线播放| 91丨porny丨国产| 国产丶欧美丶日本不卡视频| 日韩精品亚洲一区二区三区免费| 1024成人网| 国产欧美日韩亚州综合| 26uuu精品一区二区三区四区在线| 欧美系列一区二区| 在线免费观看成人短视频| 不卡一二三区首页| 福利电影一区二区| 国产成人一区在线| 精品亚洲成a人在线观看| 蜜臀91精品一区二区三区 | 国产一区二区三区免费看| 日本一区中文字幕| 奇米精品一区二区三区四区| 午夜精品久久久久久久久久| 亚洲国产精品久久人人爱| 亚洲精品高清在线| 亚洲精品成人精品456| 亚洲区小说区图片区qvod| 亚洲柠檬福利资源导航| 亚洲欧洲性图库| 亚洲免费资源在线播放| 亚洲精品国产无套在线观| 亚洲综合色区另类av| 亚洲国产一区二区视频| 亚洲国产成人tv| 日韩精品电影在线观看| 日韩**一区毛片| 韩国女主播成人在线观看| 国产一区二区三区综合| 日本乱人伦一区| 欧美日韩高清一区二区不卡| 国产福利精品导航| www.亚洲色图.com| 在线免费观看一区| 91精品国产综合久久精品app| 91精品婷婷国产综合久久竹菊| 日韩一区二区在线看| 精品国产欧美一区二区| 中文字幕欧美激情| 一区二区三区欧美久久| 日韩不卡一区二区| 国产一区二区日韩精品| www.亚洲人| 91精品国产欧美一区二区18| 久久影音资源网| 综合久久国产九一剧情麻豆| 亚洲成av人在线观看| 国产伦精品一区二区三区视频青涩| 成人一级片在线观看| 欧美中文字幕一区| 欧美不卡一二三| 亚洲视频在线观看一区| 九一久久久久久| 99在线精品一区二区三区| 欧美在线观看18| 久久综合九色综合欧美就去吻| 日韩理论电影院| 久久国产免费看| 91欧美一区二区| 欧美α欧美αv大片| 亚洲女性喷水在线观看一区| 久久99精品久久久久久动态图| 91在线观看地址| 精品国产一区二区三区久久久蜜月| 亚洲欧美综合色| 精品一区二区在线视频| 91麻豆精东视频| 国产日韩欧美精品一区| 日韩主播视频在线| 色悠悠亚洲一区二区| 久久这里只有精品视频网| 日日夜夜免费精品| 色综合久久六月婷婷中文字幕| 亚洲精品在线免费观看视频| 亚洲综合色视频| 91欧美一区二区| 国产欧美va欧美不卡在线| 久久精品国产成人一区二区三区| 色播五月激情综合网| 欧美激情艳妇裸体舞| 久久国内精品自在自线400部| 欧美在线免费视屏| 亚洲欧洲韩国日本视频| 国产精品91一区二区| 不卡的电视剧免费网站有什么| 精品国产乱码久久久久久免费 | 亚洲午夜私人影院| 91免费观看国产| 最好看的中文字幕久久| 国产福利一区二区|