⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eth_registers.v

📁 此文档为采用FPGA实现的以太网MAC层
💻 V
📖 第 1 页 / 共 3 页
字号:
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;// MODER Registereth_register #(`ETH_MODER_WIDTH_0, `ETH_MODER_DEF_0)        MODER_0  (   .DataIn    (DataIn[`ETH_MODER_WIDTH_0 - 1:0]),   .DataOut   (MODEROut[`ETH_MODER_WIDTH_0 - 1:0]),   .Write     (MODER_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_MODER_WIDTH_1, `ETH_MODER_DEF_1)        MODER_1  (   .DataIn    (DataIn[`ETH_MODER_WIDTH_1 + 7:8]),   .DataOut   (MODEROut[`ETH_MODER_WIDTH_1 + 7:8]),   .Write     (MODER_Wr[1]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_MODER_WIDTH_2, `ETH_MODER_DEF_2)        MODER_2  (   .DataIn    (DataIn[`ETH_MODER_WIDTH_2 + 15:16]),   .DataOut   (MODEROut[`ETH_MODER_WIDTH_2 + 15:16]),   .Write     (MODER_Wr[2]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign MODEROut[31:`ETH_MODER_WIDTH_2 + 16] = 0;// INT_MASK Registereth_register #(`ETH_INT_MASK_WIDTH_0, `ETH_INT_MASK_DEF_0)  INT_MASK_0  (   .DataIn    (DataIn[`ETH_INT_MASK_WIDTH_0 - 1:0]),     .DataOut   (INT_MASKOut[`ETH_INT_MASK_WIDTH_0 - 1:0]),   .Write     (INT_MASK_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign INT_MASKOut[31:`ETH_INT_MASK_WIDTH_0] = 0;// IPGT Registereth_register #(`ETH_IPGT_WIDTH_0, `ETH_IPGT_DEF_0)          IPGT_0  (   .DataIn    (DataIn[`ETH_IPGT_WIDTH_0 - 1:0]),   .DataOut   (IPGTOut[`ETH_IPGT_WIDTH_0 - 1:0]),   .Write     (IPGT_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign IPGTOut[31:`ETH_IPGT_WIDTH_0] = 0;// IPGR1 Registereth_register #(`ETH_IPGR1_WIDTH_0, `ETH_IPGR1_DEF_0)        IPGR1_0  (   .DataIn    (DataIn[`ETH_IPGR1_WIDTH_0 - 1:0]),   .DataOut   (IPGR1Out[`ETH_IPGR1_WIDTH_0 - 1:0]),   .Write     (IPGR1_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign IPGR1Out[31:`ETH_IPGR1_WIDTH_0] = 0;// IPGR2 Registereth_register #(`ETH_IPGR2_WIDTH_0, `ETH_IPGR2_DEF_0)        IPGR2_0  (   .DataIn    (DataIn[`ETH_IPGR2_WIDTH_0 - 1:0]),   .DataOut   (IPGR2Out[`ETH_IPGR2_WIDTH_0 - 1:0]),   .Write     (IPGR2_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign IPGR2Out[31:`ETH_IPGR2_WIDTH_0] = 0;// PACKETLEN Registereth_register #(`ETH_PACKETLEN_WIDTH_0, `ETH_PACKETLEN_DEF_0) PACKETLEN_0  (   .DataIn    (DataIn[`ETH_PACKETLEN_WIDTH_0 - 1:0]),   .DataOut   (PACKETLENOut[`ETH_PACKETLEN_WIDTH_0 - 1:0]),   .Write     (PACKETLEN_Wr[0]),   .Clk       (Clk),    .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_PACKETLEN_WIDTH_1, `ETH_PACKETLEN_DEF_1) PACKETLEN_1  (   .DataIn    (DataIn[`ETH_PACKETLEN_WIDTH_1 + 7:8]),   .DataOut   (PACKETLENOut[`ETH_PACKETLEN_WIDTH_1 + 7:8]),   .Write     (PACKETLEN_Wr[1]),   .Clk       (Clk),    .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_PACKETLEN_WIDTH_2, `ETH_PACKETLEN_DEF_2) PACKETLEN_2  (   .DataIn    (DataIn[`ETH_PACKETLEN_WIDTH_2 + 15:16]),   .DataOut   (PACKETLENOut[`ETH_PACKETLEN_WIDTH_2 + 15:16]),   .Write     (PACKETLEN_Wr[2]),   .Clk       (Clk),    .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_PACKETLEN_WIDTH_3, `ETH_PACKETLEN_DEF_3) PACKETLEN_3  (   .DataIn    (DataIn[`ETH_PACKETLEN_WIDTH_3 + 23:24]),   .DataOut   (PACKETLENOut[`ETH_PACKETLEN_WIDTH_3 + 23:24]),   .Write     (PACKETLEN_Wr[3]),   .Clk       (Clk),    .Reset     (Reset),   .SyncReset (1'b0)  );// COLLCONF Registereth_register #(`ETH_COLLCONF_WIDTH_0, `ETH_COLLCONF_DEF_0)   COLLCONF_0  (   .DataIn    (DataIn[`ETH_COLLCONF_WIDTH_0 - 1:0]),   .DataOut   (COLLCONFOut[`ETH_COLLCONF_WIDTH_0 - 1:0]),   .Write     (COLLCONF_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_COLLCONF_WIDTH_2, `ETH_COLLCONF_DEF_2)   COLLCONF_2  (   .DataIn    (DataIn[`ETH_COLLCONF_WIDTH_2 + 15:16]),   .DataOut   (COLLCONFOut[`ETH_COLLCONF_WIDTH_2 + 15:16]),   .Write     (COLLCONF_Wr[2]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign COLLCONFOut[15:`ETH_COLLCONF_WIDTH_0] = 0;assign COLLCONFOut[31:`ETH_COLLCONF_WIDTH_2 + 16] = 0;// TX_BD_NUM Registereth_register #(`ETH_TX_BD_NUM_WIDTH_0, `ETH_TX_BD_NUM_DEF_0) TX_BD_NUM_0  (   .DataIn    (DataIn[`ETH_TX_BD_NUM_WIDTH_0 - 1:0]),   .DataOut   (TX_BD_NUMOut[`ETH_TX_BD_NUM_WIDTH_0 - 1:0]),   .Write     (TX_BD_NUM_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign TX_BD_NUMOut[31:`ETH_TX_BD_NUM_WIDTH_0] = 0;// CTRLMODER Registereth_register #(`ETH_CTRLMODER_WIDTH_0, `ETH_CTRLMODER_DEF_0)  CTRLMODER_0  (   .DataIn    (DataIn[`ETH_CTRLMODER_WIDTH_0 - 1:0]),   .DataOut   (CTRLMODEROut[`ETH_CTRLMODER_WIDTH_0 - 1:0]),   .Write     (CTRLMODER_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign CTRLMODEROut[31:`ETH_CTRLMODER_WIDTH_0] = 0;// MIIMODER Registereth_register #(`ETH_MIIMODER_WIDTH_0, `ETH_MIIMODER_DEF_0)    MIIMODER_0  (   .DataIn    (DataIn[`ETH_MIIMODER_WIDTH_0 - 1:0]),   .DataOut   (MIIMODEROut[`ETH_MIIMODER_WIDTH_0 - 1:0]),   .Write     (MIIMODER_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_MIIMODER_WIDTH_1, `ETH_MIIMODER_DEF_1)    MIIMODER_1  (   .DataIn    (DataIn[`ETH_MIIMODER_WIDTH_1 + 7:8]),   .DataOut   (MIIMODEROut[`ETH_MIIMODER_WIDTH_1 + 7:8]),   .Write     (MIIMODER_Wr[1]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign MIIMODEROut[31:`ETH_MIIMODER_WIDTH_1 + 8] = 0;// MIICOMMAND Registereth_register #(1, 0)                                      MIICOMMAND0  (   .DataIn    (DataIn[0]),   .DataOut   (MIICOMMANDOut[0]),   .Write     (MIICOMMAND_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(1, 0)                                      MIICOMMAND1  (   .DataIn    (DataIn[1]),   .DataOut   (MIICOMMANDOut[1]),   .Write     (MIICOMMAND_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (RStatStart)  );eth_register #(1, 0)                                      MIICOMMAND2  (   .DataIn    (DataIn[2]),   .DataOut   (MIICOMMANDOut[2]),   .Write     (MIICOMMAND_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (WCtrlDataStart)  );assign MIICOMMANDOut[31:`ETH_MIICOMMAND_WIDTH_0] = 29'h0;// MIIADDRESSRegistereth_register #(`ETH_MIIADDRESS_WIDTH_0, `ETH_MIIADDRESS_DEF_0) MIIADDRESS_0  (   .DataIn    (DataIn[`ETH_MIIADDRESS_WIDTH_0 - 1:0]),   .DataOut   (MIIADDRESSOut[`ETH_MIIADDRESS_WIDTH_0 - 1:0]),   .Write     (MIIADDRESS_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_MIIADDRESS_WIDTH_1, `ETH_MIIADDRESS_DEF_1) MIIADDRESS_1  (   .DataIn    (DataIn[`ETH_MIIADDRESS_WIDTH_1 + 7:8]),   .DataOut   (MIIADDRESSOut[`ETH_MIIADDRESS_WIDTH_1 + 7:8]),   .Write     (MIIADDRESS_Wr[1]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign MIIADDRESSOut[7:`ETH_MIIADDRESS_WIDTH_0] = 0;assign MIIADDRESSOut[31:`ETH_MIIADDRESS_WIDTH_1 + 8] = 0;// MIITX_DATA Registereth_register #(`ETH_MIITX_DATA_WIDTH_0, `ETH_MIITX_DATA_DEF_0) MIITX_DATA_0  (   .DataIn    (DataIn[`ETH_MIITX_DATA_WIDTH_0 - 1:0]),   .DataOut   (MIITX_DATAOut[`ETH_MIITX_DATA_WIDTH_0 - 1:0]),    .Write     (MIITX_DATA_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_MIITX_DATA_WIDTH_1, `ETH_MIITX_DATA_DEF_1) MIITX_DATA_1  (   .DataIn    (DataIn[`ETH_MIITX_DATA_WIDTH_1 + 7:8]),   .DataOut   (MIITX_DATAOut[`ETH_MIITX_DATA_WIDTH_1 + 7:8]),    .Write     (MIITX_DATA_Wr[1]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign MIITX_DATAOut[31:`ETH_MIITX_DATA_WIDTH_1 + 8] = 0;// MIIRX_DATA Registereth_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), // not written from WB   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign MIIRX_DATAOut[31:`ETH_MIIRX_DATA_WIDTH] = 0;// MAC_ADDR0 Registereth_register #(`ETH_MAC_ADDR0_WIDTH_0, `ETH_MAC_ADDR0_DEF_0)  MAC_ADDR0_0  (   .DataIn    (DataIn[`ETH_MAC_ADDR0_WIDTH_0 - 1:0]),   .DataOut   (MAC_ADDR0Out[`ETH_MAC_ADDR0_WIDTH_0 - 1:0]),   .Write     (MAC_ADDR0_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_MAC_ADDR0_WIDTH_1, `ETH_MAC_ADDR0_DEF_1)  MAC_ADDR0_1  (   .DataIn    (DataIn[`ETH_MAC_ADDR0_WIDTH_1 + 7:8]),   .DataOut   (MAC_ADDR0Out[`ETH_MAC_ADDR0_WIDTH_1 + 7:8]),   .Write     (MAC_ADDR0_Wr[1]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_MAC_ADDR0_WIDTH_2, `ETH_MAC_ADDR0_DEF_2)  MAC_ADDR0_2  (   .DataIn    (DataIn[`ETH_MAC_ADDR0_WIDTH_2 + 15:16]),   .DataOut   (MAC_ADDR0Out[`ETH_MAC_ADDR0_WIDTH_2 + 15:16]),   .Write     (MAC_ADDR0_Wr[2]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_MAC_ADDR0_WIDTH_3, `ETH_MAC_ADDR0_DEF_3)  MAC_ADDR0_3  (   .DataIn    (DataIn[`ETH_MAC_ADDR0_WIDTH_3 + 23:24]),   .DataOut   (MAC_ADDR0Out[`ETH_MAC_ADDR0_WIDTH_3 + 23:24]),   .Write     (MAC_ADDR0_Wr[3]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );// MAC_ADDR1 Registereth_register #(`ETH_MAC_ADDR1_WIDTH_0, `ETH_MAC_ADDR1_DEF_0)  MAC_ADDR1_0  (   .DataIn    (DataIn[`ETH_MAC_ADDR1_WIDTH_0 - 1:0]),   .DataOut   (MAC_ADDR1Out[`ETH_MAC_ADDR1_WIDTH_0 - 1:0]),   .Write     (MAC_ADDR1_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_MAC_ADDR1_WIDTH_1, `ETH_MAC_ADDR1_DEF_1)  MAC_ADDR1_1  (   .DataIn    (DataIn[`ETH_MAC_ADDR1_WIDTH_1 + 7:8]),   .DataOut   (MAC_ADDR1Out[`ETH_MAC_ADDR1_WIDTH_1 + 7:8]),   .Write     (MAC_ADDR1_Wr[1]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );assign MAC_ADDR1Out[31:`ETH_MAC_ADDR1_WIDTH_1 + 8] = 0;// RXHASH0 Registereth_register #(`ETH_HASH0_WIDTH_0, `ETH_HASH0_DEF_0)          RXHASH0_0  (   .DataIn    (DataIn[`ETH_HASH0_WIDTH_0 - 1:0]),   .DataOut   (HASH0Out[`ETH_HASH0_WIDTH_0 - 1:0]),   .Write     (HASH0_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_HASH0_WIDTH_1, `ETH_HASH0_DEF_1)          RXHASH0_1  (   .DataIn    (DataIn[`ETH_HASH0_WIDTH_1 + 7:8]),   .DataOut   (HASH0Out[`ETH_HASH0_WIDTH_1 + 7:8]),   .Write     (HASH0_Wr[1]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_HASH0_WIDTH_2, `ETH_HASH0_DEF_2)          RXHASH0_2  (   .DataIn    (DataIn[`ETH_HASH0_WIDTH_2 + 15:16]),   .DataOut   (HASH0Out[`ETH_HASH0_WIDTH_2 + 15:16]),   .Write     (HASH0_Wr[2]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_HASH0_WIDTH_3, `ETH_HASH0_DEF_3)          RXHASH0_3  (   .DataIn    (DataIn[`ETH_HASH0_WIDTH_3 + 23:24]),   .DataOut   (HASH0Out[`ETH_HASH0_WIDTH_3 + 23:24]),   .Write     (HASH0_Wr[3]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );// RXHASH1 Registereth_register #(`ETH_HASH1_WIDTH_0, `ETH_HASH1_DEF_0)          RXHASH1_0  (   .DataIn    (DataIn[`ETH_HASH1_WIDTH_0 - 1:0]),   .DataOut   (HASH1Out[`ETH_HASH1_WIDTH_0 - 1:0]),   .Write     (HASH1_Wr[0]),   .Clk       (Clk),   .Reset     (Reset),   .SyncReset (1'b0)  );eth_register #(`ETH_HASH1_WIDTH_1, `ETH_HASH1_DEF_1)          RXHASH1_1  (   .DataIn    (DataIn[`ETH_HASH1_WIDTH_1 + 7:8]),

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -