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

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

?? eth_maccontrol.v

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



`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

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看av一区二区| 一本大道久久a久久综合婷婷| 国产欧美中文在线| 欧美性大战久久久久久久蜜臀| 久久精品国产久精国产| 国产精品久久久久久久午夜片 | 国产精品你懂的在线欣赏| 日本韩国一区二区三区视频| 美女视频免费一区| 亚洲国产精品久久不卡毛片 | 色网站国产精品| 国产乱人伦精品一区二区在线观看| 亚洲乱码国产乱码精品精98午夜 | 天天综合天天综合色| 中文字幕一区日韩精品欧美| 日韩一级大片在线| 欧美色图一区二区三区| 成人性色生活片| 另类调教123区| 视频一区二区三区入口| 一区二区三区不卡视频 | 五月天丁香久久| 亚洲人吸女人奶水| 中文字幕 久热精品 视频在线| 欧美一区二区三区不卡| 欧美日韩国产免费| 色噜噜狠狠色综合欧洲selulu| 国产福利精品一区| 精品一区二区三区不卡| 三级成人在线视频| 亚洲成av人**亚洲成av**| 亚洲免费观看在线视频| 最新国产精品久久精品| 国产精品久久久久一区| 中文字幕成人在线观看| www一区二区| 精品成人佐山爱一区二区| 精品国产免费久久| 亚洲精品一区二区在线观看| 欧美成人精精品一区二区频| 7777精品伊人久久久大香线蕉的 | 蜜臀av一区二区在线观看| 日韩国产成人精品| 日韩综合在线视频| 日韩高清一级片| 午夜精品成人在线视频| 日韩av一区二区在线影视| 日本免费在线视频不卡一不卡二| 日韩影院在线观看| 蜜桃精品在线观看| 韩国女主播成人在线| 国产一区二区在线观看免费| 国内精品伊人久久久久影院对白| 久久av资源网| 国产精品888| 99国产精品久久久久| 色屁屁一区二区| 欧美日韩和欧美的一区二区| 56国语精品自产拍在线观看| 日韩一区二区三区电影在线观看| 日韩亚洲欧美中文三级| www国产亚洲精品久久麻豆| 中文一区二区在线观看| 亚洲老妇xxxxxx| 日本美女一区二区三区| 国产麻豆午夜三级精品| 99久久国产免费看| 在线播放视频一区| 日韩美女一区二区三区| 欧美国产1区2区| 亚洲一区二区三区爽爽爽爽爽| 日韩国产欧美三级| 国产精品538一区二区在线| 91免费观看视频在线| 欧美日产在线观看| 久久久国产精品不卡| 亚洲精品国产高清久久伦理二区| 无码av中文一区二区三区桃花岛| 国产真实精品久久二三区| 91在线免费播放| 91精品国产综合久久久久久漫画| 国产亚洲成aⅴ人片在线观看| 亚洲天堂精品视频| 久久精品久久综合| 96av麻豆蜜桃一区二区| 91精品啪在线观看国产60岁| 国产午夜亚洲精品午夜鲁丝片| 亚洲精品中文字幕在线观看| 久久精品国产99国产精品| 97se亚洲国产综合自在线| 91精品啪在线观看国产60岁| 国产精品免费视频网站| 三级久久三级久久| 97精品久久久久中文字幕 | 欧美日韩一区二区三区高清| 精品欧美一区二区三区精品久久| 亚洲女同一区二区| 久久国产综合精品| 一本色道久久综合亚洲aⅴ蜜桃| 日韩精品中文字幕一区二区三区 | 一区二区三区精密机械公司| 狠狠色丁香婷婷综合| 精品1区2区3区| 国产精品妹子av| 麻豆视频观看网址久久| 91搞黄在线观看| 国产精品麻豆99久久久久久| 欧美a级理论片| 色婷婷久久一区二区三区麻豆| 久久免费午夜影院| 奇米精品一区二区三区四区| 欧洲精品中文字幕| 国产精品国产三级国产aⅴ入口 | 亚洲一区在线看| www.欧美亚洲| 国产无人区一区二区三区| 天堂在线一区二区| 一本色道久久综合狠狠躁的推荐 | 国产精品久久久久一区| 国产真实精品久久二三区| 91精品国产入口| 亚洲一区二区视频在线| 成人开心网精品视频| 久久久久国产精品人| 精品一区二区三区免费毛片爱| 欧美丰满少妇xxxxx高潮对白| 一区二区三区自拍| 91日韩一区二区三区| 国产精品久久毛片av大全日韩| 国产乱码精品一区二区三| 精品国产电影一区二区| 国内精品伊人久久久久av一坑| 欧美成人性战久久| 紧缚奴在线一区二区三区| 日韩亚洲欧美成人一区| 麻豆成人免费电影| 欧美电视剧在线观看完整版| 日本成人在线不卡视频| 91精品国产综合久久久蜜臀粉嫩 | 日韩欧美一级二级三级久久久| 亚洲综合丁香婷婷六月香| 欧洲一区在线观看| 亚洲国产成人精品视频| 欧美精品一卡两卡| 日韩电影在线看| 欧美一区二区三区四区在线观看| 日韩精品亚洲一区| 日韩欧美国产一区二区在线播放| 奇米一区二区三区av| 日韩欧美成人一区二区| 精品一区二区三区免费| 欧美国产视频在线| 91网站最新地址| 午夜影院在线观看欧美| 4438x亚洲最大成人网| 精东粉嫩av免费一区二区三区| 久久蜜桃av一区二区天堂| eeuss影院一区二区三区| 日韩一区欧美一区| 欧美三电影在线| 久草热8精品视频在线观看| 国产无人区一区二区三区| 色综合天天综合给合国产| 亚洲成人激情自拍| 精品乱码亚洲一区二区不卡| 国产精品一区二区久激情瑜伽| 中文字幕亚洲成人| 欧美伦理影视网| 国产一区二区免费看| 亚洲欧美日韩一区二区 | 麻豆国产欧美日韩综合精品二区 | 亚洲精品国产精华液| 欧美一区二区精品| 成人黄色免费短视频| 午夜视黄欧洲亚洲| 国产亚洲va综合人人澡精品| 欧美在线一区二区三区| 国产又黄又大久久| 亚洲综合激情网| 国产欧美一区二区三区在线看蜜臀| 色综合中文字幕国产| 日本视频免费一区| 最新不卡av在线| 精品国产成人系列| 欧美视频在线观看一区二区| 国产呦萝稀缺另类资源| 亚洲电影中文字幕在线观看| 国产网站一区二区| 538prom精品视频线放| www.亚洲精品| 狠狠色丁香九九婷婷综合五月| 亚洲精品v日韩精品| eeuss鲁片一区二区三区在线观看| 日韩精品自拍偷拍| 91国偷自产一区二区使用方法| 久久精品国内一区二区三区| 亚洲制服丝袜av| 久久久综合视频| 在线一区二区三区四区| 成人激情午夜影院|