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

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

?? eth_registers.v

?? 用Verilog實現的以太網接口
?? V
?? 第 1 頁 / 共 2 頁
字號:


`include "eth_defines.v"
`include "timescale.v"


module eth_registers( DataIn, Address, Rw, Cs, Clk, Reset, DataOut, 
                      r_RecSmall, r_Pad, r_HugEn, r_CrcEn, r_DlyCrcEn, 
                      r_FullD, r_ExDfrEn, r_NoBckof, r_LoopBck, r_IFG, 
                      r_Pro, r_Iam, r_Bro, r_NoPre, r_TxEn, r_RxEn, 
                      TxB_IRQ, TxE_IRQ, RxB_IRQ, RxE_IRQ, Busy_IRQ, 
                      r_IPGT, r_IPGR1, r_IPGR2, r_MinFL, r_MaxFL, r_MaxRet, 
                      r_CollValid, r_TxFlow, r_RxFlow, r_PassAll, 
                      r_MiiNoPre, r_ClkDiv, r_WCtrlData, r_RStat, r_ScanStat, 
                      r_RGAD, r_FIAD, r_CtrlData, NValid_stat, Busy_stat, 
                      LinkFail, r_MAC, WCtrlDataStart, RStatStart,
                      UpdateMIIRX_DATAReg, Prsd, r_TxBDNum, TX_BD_NUM_Wr, int_o,
                      r_HASH0, r_HASH1, r_TxPauseTV, r_TxPauseRq, RstTxPauseRq, TxCtrlEndFrm, 
                      StartTxDone, TxClk, RxClk, SetPauseTimer
                    );

parameter Tp = 1;

input [31:0] DataIn;
input [7:0] Address;

input Rw;
input Cs;
input Clk;
input Reset;

input WCtrlDataStart;
input RStatStart;

input UpdateMIIRX_DATAReg;
input [15:0] Prsd;

output [31:0] DataOut;
reg    [31:0] DataOut;

output r_RecSmall;
output r_Pad;
output r_HugEn;
output r_CrcEn;
output r_DlyCrcEn;
output r_FullD;
output r_ExDfrEn;
output r_NoBckof;
output r_LoopBck;
output r_IFG;
output r_Pro;
output r_Iam;
output r_Bro;
output r_NoPre;
output r_TxEn;
output r_RxEn;
output [31:0] r_HASH0;
output [31:0] r_HASH1;

input TxB_IRQ;
input TxE_IRQ;
input RxB_IRQ;
input RxE_IRQ;
input Busy_IRQ;

output [6:0] r_IPGT;

output [6:0] r_IPGR1;

output [6:0] r_IPGR2;

output [15:0] r_MinFL;
output [15:0] r_MaxFL;

output [3:0] r_MaxRet;
output [5:0] r_CollValid;

output r_TxFlow;
output r_RxFlow;
output r_PassAll;

output r_MiiNoPre;
output [7:0] r_ClkDiv;

output r_WCtrlData;
output r_RStat;
output r_ScanStat;

output [4:0] r_RGAD;
output [4:0] r_FIAD;

output [15:0]r_CtrlData;


input NValid_stat;
input Busy_stat;
input LinkFail;

output [47:0]r_MAC;
output [7:0] r_TxBDNum;
output       TX_BD_NUM_Wr;
output       int_o;
output [15:0]r_TxPauseTV;
output       r_TxPauseRq;
input        RstTxPauseRq;
input        TxCtrlEndFrm;
input        StartTxDone;
input        TxClk;
input        RxClk;
input        SetPauseTimer;

reg          irq_txb;
reg          irq_txe;
reg          irq_rxb;
reg          irq_rxe;
reg          irq_busy;
reg          irq_txc;
reg          irq_rxc;

reg SetTxCIrq_txclk;
reg SetTxCIrq_sync1, SetTxCIrq_sync2, SetTxCIrq_sync3;
reg SetTxCIrq;
reg ResetTxCIrq_sync1, ResetTxCIrq_sync2;

reg SetRxCIrq_rxclk;
reg SetRxCIrq_sync1, SetRxCIrq_sync2, SetRxCIrq_sync3;
reg SetRxCIrq;
reg ResetRxCIrq_sync1;
reg ResetRxCIrq_sync2;
reg ResetRxCIrq_sync3;

wire Write = Cs &  Rw;
wire Read  = Cs & ~Rw;

wire MODER_Wr       = (Address == `ETH_MODER_ADR       )  & Write;
wire INT_SOURCE_Wr  = (Address == `ETH_INT_SOURCE_ADR  )  & Write;
wire INT_MASK_Wr    = (Address == `ETH_INT_MASK_ADR    )  & Write;
wire IPGT_Wr        = (Address == `ETH_IPGT_ADR        )  & Write;
wire IPGR1_Wr       = (Address == `ETH_IPGR1_ADR       )  & Write;
wire IPGR2_Wr       = (Address == `ETH_IPGR2_ADR       )  & Write;
wire PACKETLEN_Wr   = (Address == `ETH_PACKETLEN_ADR   )  & Write;
wire COLLCONF_Wr    = (Address == `ETH_COLLCONF_ADR    )  & Write;
     
wire CTRLMODER_Wr   = (Address == `ETH_CTRLMODER_ADR   )  & Write;
wire MIIMODER_Wr    = (Address == `ETH_MIIMODER_ADR    )  & Write;
wire MIICOMMAND_Wr  = (Address == `ETH_MIICOMMAND_ADR  )  & Write;
wire MIIADDRESS_Wr  = (Address == `ETH_MIIADDRESS_ADR  )  & Write;
wire MIITX_DATA_Wr  = (Address == `ETH_MIITX_DATA_ADR  )  & Write;
wire MIIRX_DATA_Wr  = UpdateMIIRX_DATAReg;     
wire MAC_ADDR0_Wr   = (Address == `ETH_MAC_ADDR0_ADR   )  & Write;
wire MAC_ADDR1_Wr   = (Address == `ETH_MAC_ADDR1_ADR   )  & Write;
wire HASH0_Wr       = (Address == `ETH_HASH0_ADR       )  & Write;
wire HASH1_Wr       = (Address == `ETH_HASH1_ADR       )  & Write;
wire TXCTRL_Wr      = (Address == `ETH_TX_CTRL_ADR     )  & Write;
wire RXCTRL_Wr      = (Address == `ETH_RX_CTRL_ADR     )  & Write;
assign TX_BD_NUM_Wr = (Address == `ETH_TX_BD_NUM_ADR   )  & Write;



wire [31:0] MODEROut;
wire [31:0] INT_SOURCEOut;
wire [31:0] INT_MASKOut;
wire [31:0] IPGTOut;
wire [31:0] IPGR1Out;
wire [31:0] IPGR2Out;
wire [31:0] PACKETLENOut;
wire [31:0] COLLCONFOut;
wire [31:0] CTRLMODEROut;
wire [31:0] MIIMODEROut;
wire [31:0] MIICOMMANDOut;
wire [31:0] MIIADDRESSOut;
wire [31:0] MIITX_DATAOut;
wire [31:0] MIIRX_DATAOut;
wire [31:0] MIISTATUSOut;
wire [31:0] MAC_ADDR0Out;
wire [31:0] MAC_ADDR1Out;
wire [31:0] TX_BD_NUMOut;
wire [31:0] HASH0Out;
wire [31:0] HASH1Out;
wire [31:0] TXCTRLOut;
wire [31:0] RXCTRLOut;


// MODER Register
eth_register #(`ETH_MODER_WIDTH, `ETH_MODER_DEF)        MODER
  (
   .DataIn    (DataIn[`ETH_MODER_WIDTH-1:0]),
   .DataOut   (MODEROut[`ETH_MODER_WIDTH-1:0]),
   .Write     (MODER_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign MODEROut[31:`ETH_MODER_WIDTH] = 0;

// INT_MASK Register
eth_register #(`ETH_INT_MASK_WIDTH, `ETH_INT_MASK_DEF)  INT_MASK
  (
   .DataIn    (DataIn[`ETH_INT_MASK_WIDTH-1:0]),  
   .DataOut   (INT_MASKOut[`ETH_INT_MASK_WIDTH-1:0]),
   .Write     (INT_MASK_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign INT_MASKOut[31:`ETH_INT_MASK_WIDTH] = 0;

// IPGT Register
eth_register #(`ETH_IPGT_WIDTH, `ETH_IPGT_DEF)          IPGT
  (
   .DataIn    (DataIn[`ETH_IPGT_WIDTH-1:0]),
   .DataOut   (IPGTOut[`ETH_IPGT_WIDTH-1:0]),
   .Write     (IPGT_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign IPGTOut[31:`ETH_IPGT_WIDTH] = 0;

// IPGR1 Register
eth_register #(`ETH_IPGR1_WIDTH, `ETH_IPGR1_DEF)        IPGR1
  (
   .DataIn    (DataIn[`ETH_IPGR1_WIDTH-1:0]),
   .DataOut   (IPGR1Out[`ETH_IPGR1_WIDTH-1:0]),
   .Write     (IPGR1_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign IPGR1Out[31:`ETH_IPGR1_WIDTH] = 0;

// IPGR2 Register
eth_register #(`ETH_IPGR2_WIDTH, `ETH_IPGR2_DEF)        IPGR2
  (
   .DataIn    (DataIn[`ETH_IPGR2_WIDTH-1:0]),
   .DataOut   (IPGR2Out[`ETH_IPGR2_WIDTH-1:0]),
   .Write     (IPGR2_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign IPGR2Out[31:`ETH_IPGR2_WIDTH] = 0;

// PACKETLEN Register
eth_register #(`ETH_PACKETLEN_WIDTH, `ETH_PACKETLEN_DEF) PACKETLEN
  (
   .DataIn    (DataIn),
   .DataOut   (PACKETLENOut),
   .Write     (PACKETLEN_Wr),
   .Clk       (Clk), 
   .Reset     (Reset),
   .SyncReset (1'b0)
  );

// COLLCONF Register
eth_register #(6, `ETH_COLLCONF0_DEF)                   COLLCONF0
  (
   .DataIn    (DataIn[5:0]),
   .DataOut   (COLLCONFOut[5:0]),
   .Write     (COLLCONF_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign COLLCONFOut[15:6] = 0;

eth_register #(4, `ETH_COLLCONF1_DEF)                   COLLCONF1
  (
   .DataIn    (DataIn[19:16]),
   .DataOut   (COLLCONFOut[19:16]),
   .Write     (COLLCONF_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign COLLCONFOut[31:20] = 0;

// TX_BD_NUM Register
eth_register #(`ETH_TX_BD_NUM_WIDTH, `ETH_TX_BD_NUM_DEF) TX_BD_NUM
  (
   .DataIn    (DataIn[`ETH_TX_BD_NUM_WIDTH-1:0]),
   .DataOut   (TX_BD_NUMOut[`ETH_TX_BD_NUM_WIDTH-1:0]),
   .Write     (TX_BD_NUM_Wr & (DataIn<='h80)),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign TX_BD_NUMOut[31:`ETH_TX_BD_NUM_WIDTH] = 0;

// CTRLMODER Register
eth_register #(`ETH_CTRLMODER_WIDTH, `ETH_CTRLMODER_DEF)  CTRLMODER2
  (
   .DataIn    (DataIn[`ETH_CTRLMODER_WIDTH-1:0]),
   .DataOut   (CTRLMODEROut[`ETH_CTRLMODER_WIDTH-1:0]),
   .Write     (CTRLMODER_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign CTRLMODEROut[31:`ETH_CTRLMODER_WIDTH] = 0;

// MIIMODER Register
eth_register #(`ETH_MIIMODER_WIDTH, `ETH_MIIMODER_DEF)    MIIMODER
  (
   .DataIn    (DataIn[`ETH_MIIMODER_WIDTH-1:0]),
   .DataOut   (MIIMODEROut[`ETH_MIIMODER_WIDTH-1:0]),
   .Write     (MIIMODER_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign MIIMODEROut[31:`ETH_MIIMODER_WIDTH] = 0;

// MIICOMMAND Register
eth_register #(1, 0)                                      MIICOMMAND0
  (
   .DataIn    (DataIn[0]),
   .DataOut   (MIICOMMANDOut[0]),
   .Write     (MIICOMMAND_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );

eth_register #(1, 0)                                      MIICOMMAND1
  (
   .DataIn    (DataIn[1]),
   .DataOut   (MIICOMMANDOut[1]),
   .Write     (MIICOMMAND_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (RStatStart)
  );

eth_register #(1, 0)                                      MIICOMMAND2
  (
   .DataIn    (DataIn[2]),
   .DataOut   (MIICOMMANDOut[2]),
   .Write     (MIICOMMAND_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (WCtrlDataStart)
  );
assign MIICOMMANDOut[31:3] = 29'h0;

// MIIADDRESSRegister
eth_register #(5, `ETH_MIIADDRESS0_DEF)                   MIIADDRESS0
  (
   .DataIn    (DataIn[4:0]),
   .DataOut   (MIIADDRESSOut[4:0]),
   .Write     (MIIADDRESS_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign MIIADDRESSOut[7:5] = 0;

eth_register #(5, `ETH_MIIADDRESS1_DEF)                   MIIADDRESS1
  (
   .DataIn    (DataIn[12:8]),
   .DataOut   (MIIADDRESSOut[12:8]),
   .Write     (MIIADDRESS_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign MIIADDRESSOut[31:13] = 0;

// MIITX_DATA Register
eth_register #(`ETH_MIITX_DATA_WIDTH, `ETH_MIITX_DATA_DEF) MIITX_DATA
  (
   .DataIn    (DataIn[`ETH_MIITX_DATA_WIDTH-1:0]),
   .DataOut   (MIITX_DATAOut[`ETH_MIITX_DATA_WIDTH-1:0]), 
   .Write     (MIITX_DATA_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign MIITX_DATAOut[31:`ETH_MIITX_DATA_WIDTH] = 0;

// MIIRX_DATA Register
eth_register #(`ETH_MIIRX_DATA_WIDTH, `ETH_MIIRX_DATA_DEF) MIIRX_DATA
  (
   .DataIn    (Prsd[`ETH_MIIRX_DATA_WIDTH-1:0]),
   .DataOut   (MIIRX_DATAOut[`ETH_MIIRX_DATA_WIDTH-1:0]),
   .Write     (MIIRX_DATA_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );
assign MIIRX_DATAOut[31:`ETH_MIIRX_DATA_WIDTH] = 0;

// MAC_ADDR0 Register
eth_register #(`ETH_MAC_ADDR0_WIDTH, `ETH_MAC_ADDR0_DEF)  MAC_ADDR0
  (
   .DataIn    (DataIn),
   .DataOut   (MAC_ADDR0Out),
   .Write     (MAC_ADDR0_Wr),
   .Clk       (Clk),
   .Reset     (Reset),
   .SyncReset (1'b0)
  );

// MAC_ADDR1 Register
eth_register #(`ETH_MAC_ADDR1_WIDTH, `ETH_MAC_ADDR1_DEF)  MAC_ADDR1
  (
   .DataIn    (DataIn[`ETH_MAC_ADDR1_WIDTH-1:0]),
   .DataOut   (MAC_ADDR1Out[`ETH_MAC_ADDR1_WIDTH-1:0]),

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99视频精品全部免费在线| 亚洲精品视频免费观看| 日韩不卡在线观看日韩不卡视频| 欧美系列亚洲系列| 久久91精品国产91久久小草| 欧美精品丝袜中出| 美女脱光内衣内裤视频久久网站| 欧美成人精品福利| 成人福利在线看| 亚洲激情在线激情| 91精品国产综合久久小美女| 久草这里只有精品视频| 中文子幕无线码一区tr| 欧美在线短视频| 久久超碰97中文字幕| 久久精品视频一区二区| 97久久久精品综合88久久| 日韩精品乱码免费| 日本一区二区视频在线观看| 91搞黄在线观看| 蜜桃视频在线观看一区| 国产精品二三区| 6080亚洲精品一区二区| 懂色av一区二区三区免费观看| 亚洲免费在线视频| 亚洲韩国一区二区三区| 在线电影一区二区三区| 欧美精品一区二区三区在线播放| 亚洲一区二区美女| 国产乱人伦偷精品视频不卡| 在线免费观看成人短视频| 日韩一区二区在线免费观看| 国产精品灌醉下药二区| 欧美bbbbb| 欧美亚洲一区三区| 日韩欧美国产三级| 99re视频这里只有精品| 亚洲一区二区视频在线| 久久久久88色偷偷免费| 欧美人狂配大交3d怪物一区| 成人免费观看av| 婷婷开心激情综合| 亚洲少妇30p| 2欧美一区二区三区在线观看视频| 北条麻妃国产九九精品视频| 日本亚洲三级在线| 亚洲一区二区三区四区在线观看| 久久综合五月天婷婷伊人| 欧美三区免费完整视频在线观看| 国产乱子伦一区二区三区国色天香 | 久久国产精品免费| 亚洲精品国产无套在线观| 久久久精品tv| 日韩一区二区三区电影| 在线精品视频免费观看| 成人免费黄色在线| 国产精品一区久久久久| 免费久久精品视频| 午夜亚洲福利老司机| 亚洲女爱视频在线| 国产精品乱码一区二区三区软件| 日韩一区二区麻豆国产| av在线综合网| 国产综合色精品一区二区三区| 日韩中文字幕1| 午夜一区二区三区视频| 国产精品久久久一区麻豆最新章节| 欧美日韩免费不卡视频一区二区三区| 成人精品国产一区二区4080| 国产福利一区在线| 狠狠色综合日日| 久久99久久99| 久久国产视频网| 麻豆成人av在线| 日本强好片久久久久久aaa| 日韩中文欧美在线| 首页国产欧美久久| 视频一区二区中文字幕| 日本成人中文字幕在线视频| 五月天精品一区二区三区| 日韩高清在线电影| 人人精品人人爱| 美女一区二区三区| 国内精品国产三级国产a久久| 久久国产乱子精品免费女| 久久99精品久久久| 国产一区二区三区观看| 高潮精品一区videoshd| jiyouzz国产精品久久| 91蜜桃在线观看| 欧美日韩国产一二三| 欧美一区二区大片| 精品裸体舞一区二区三区| 久久久综合精品| 午夜精品久久久久影视| 51精品久久久久久久蜜臀| 成人黄色综合网站| 91视频免费观看| 欧美日韩国产123区| 91精品国产色综合久久ai换脸| 欧美一区二区三区视频在线观看| 精品嫩草影院久久| 国产精品国产三级国产普通话三级 | 国产激情偷乱视频一区二区三区| 国产一区二区美女诱惑| 99久久精品国产一区二区三区| 91精品福利视频| 欧美一级午夜免费电影| 久久久噜噜噜久久中文字幕色伊伊| 中文字幕不卡在线| 一区二区三区四区蜜桃| 美女视频黄频大全不卡视频在线播放| 经典三级一区二区| 9人人澡人人爽人人精品| 欧美精品色一区二区三区| 久久久久久久久久久黄色 | 一区二区三区成人| 亚洲综合成人在线视频| 极品少妇xxxx偷拍精品少妇| 国产精品一区二区久激情瑜伽| 一本色道亚洲精品aⅴ| 4438成人网| 国产精品久久久久久久久久久免费看| 亚洲一区二区三区四区在线| 黄色日韩三级电影| 欧美亚洲综合久久| 久久精品水蜜桃av综合天堂| 亚洲韩国精品一区| 国产精品亚洲一区二区三区妖精| 欧美亚洲动漫精品| 国产亚洲人成网站| 日本视频中文字幕一区二区三区| 成人在线视频首页| 日韩写真欧美这视频| 亚洲欧美视频在线观看| 极品少妇一区二区三区精品视频| 欧美中文字幕一区| 国产精品美女久久久久久久久| 亚洲aaa精品| 91同城在线观看| 久久精品亚洲精品国产欧美| 午夜久久久久久电影| 91一区在线观看| 久久久久久免费| 久久精品国产久精国产| 欧美日韩国产精品成人| 亚洲欧洲无码一区二区三区| 紧缚捆绑精品一区二区| 91精品福利在线一区二区三区| 亚洲视频综合在线| 国产成人免费在线| 久久综合中文字幕| 久久国产综合精品| 日韩视频在线一区二区| 伦理电影国产精品| 欧美日韩aaa| 亚洲一区二区三区自拍| 91蜜桃在线观看| 中文字幕不卡在线观看| 粉嫩绯色av一区二区在线观看 | 在线视频综合导航| 亚洲国产精品精华液ab| 国产精品影视网| 欧美xxxx在线观看| 午夜精品视频在线观看| 国产永久精品大片wwwapp| 中文乱码免费一区二区| 91精品国产一区二区人妖| 午夜免费欧美电影| 欧美亚洲动漫制服丝袜| 一片黄亚洲嫩模| 91丝袜国产在线播放| 一区精品在线播放| 99视频在线观看一区三区| 亚洲人成网站影音先锋播放| 成人精品视频一区| 一区二区三区鲁丝不卡| 欧美色区777第一页| 亚洲成人第一页| 91精品在线免费观看| 青青草97国产精品免费观看无弹窗版| 日韩三级电影网址| 舔着乳尖日韩一区| 欧美刺激午夜性久久久久久久| 麻豆精品一区二区三区| 久久人人超碰精品| 国产成人av在线影院| 亚洲摸摸操操av| 欧美久久久久久久久中文字幕| 全部av―极品视觉盛宴亚洲| www国产成人| av一本久道久久综合久久鬼色| 亚洲美女免费在线| 欧美精品久久天天躁| 国产剧情在线观看一区二区| 综合自拍亚洲综合图不卡区| 91久久精品一区二区| 免费av成人在线| 国产蜜臀97一区二区三区 | 国产精品卡一卡二|