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

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

?? rxdatapath.v

?? 基于802.3以太網(wǎng)的mac源碼
?? V
?? 第 1 頁 / 共 2 頁
字號(hào):
//////////////////////////////////////////////////////////////////////////                                                              //////// MODULE NAME: Data Path of Receive Module                     ////////                                                              //////// DESCRIPTION: Data path of Receive Engine of 10 Gigabit       ////////     Ethernet MAC. Used to recognize every field of a         ////////     frame, including SOF, EOF, Length, Destination Addr      ////////     , Source Addr and Data field.                            ////////                                                              //////// This file is part of the 10 Gigabit Ethernet IP core project //////// http://www.opencores.org/projects/ethmac10g/                 ////////                                                              //////// AUTHOR(S):                                                   //////// Zheng Cao                                                    ////////                                                              //////////////////////////////////////////////////////////////////////////////                                                              //////// Copyright (c) 2005 AUTHORS.  All rights reserved.            ////////                                                              //////// This source file may be used and distributed without         //////// restriction provided that this copyright statement is not    //////// removed from the file and that any derivative work contains  //////// the original copyright notice and the associated disclaimer. ////////                                                              //////// This source file is free software; you can redistribute it   //////// and/or modify it under the terms of the GNU Lesser General   //////// Public License as published by the Free Software Foundation; //////// either version 2.1 of the License, or (at your option) any   //////// later version.                                               ////////                                                              //////// This source is distributed in the hope that it will be       //////// useful, but WITHOUT ANY WARRANTY; without even the implied   //////// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      //////// PURPOSE.  See the GNU Lesser General Public License for more //////// details.                                                     ////////                                                              //////// You should have received a copy of the GNU Lesser General    //////// Public License along with this source; if not, download it   //////// from http://www.opencores.org/lgpl.shtml                     ////////                                                              ////////////////////////////////////////////////////////////////////////////// CVS REVISION HISTORY://// $Log: not supported by cvs2svn $// Revision 1.6  2006/06/16 06:36:28  fisher5090// no message//// Revision 1.5  2006/06/12 18:58:36  Zheng Cao// no message//// Revision 1.4  2006/06/12 18:53:02  Zheng Cao// remove pad function added, using xilinx vp20 -6 as target FPGA, passes post place and route simulation// // Revision 1.3  2006/06/12 04:11:19  Zheng Cao// both inband fcs and no inband fcs are OK, no remove PAD function// // Revision 1.1  2005/12/25 16:43:10  Zheng Cao// // ////////////////////////////////////////////////////////////////////////`include "timescale.v"`include "xgiga_define.v"module rxDataPath(rxclk, reset, rxd64, rxc8, inband_fcs, receiving, start_da, start_lt, wait_crc_check, get_sfd,                   get_terminator, get_error_code, tagged_frame, pause_frame, da_addr, terminator_location, CRC_DATA,                   rx_data_valid, rx_data,get_terminator_d1, bad_frame_get, good_frame_get,check_reset,rx_good_frame,rx_bad_frame);//                fcTxPauseData);    input rxclk;    input reset;    input [63:0] rxd64;    input [7:0] rxc8;    input inband_fcs;    input receiving;    input start_da;    input start_lt;    input wait_crc_check;	     input get_terminator_d1;    input bad_frame_get;    input good_frame_get;     output get_sfd;    output get_terminator; //get T indicator    output get_error_code; //get Error indicator    output tagged_frame;    output pause_frame;    output[47:0] da_addr;    output[2:0] terminator_location;    output[63:0] CRC_DATA;    output[7:0] rx_data_valid;    output[63:0] rx_data;    output check_reset;    output rx_good_frame;    output rx_bad_frame;//  output [31:0]fcTxPauseData;     parameter TP = 1;    parameter IDLE = 0, READ = 2, WAIT_TMP = 3, WAIT = 1;     //////////////////////////////////////////////    // Pipe Line Stage    //////////////////////////////////////////////    reg [63:0] rxd64_d1,rxd64_d2,rxd64_d3,CRC_DATA;    reg [7:0] rxc8_d1, rxc8_d2, rxc8_d3;    reg receiving_d1, receiving_d2;    reg wait_crc_check_d1;  // assign fcTxPauseData = rxd64_d1[31:0]; // Data pipeline    always@(posedge rxclk or posedge reset) begin         if (reset) begin            rxd64_d1<=#TP 0;            rxd64_d2<=#TP 0;            rxd64_d3<=#TP 0;            CRC_DATA<=0;         end         else begin            rxd64_d1<=#TP rxd64;            rxd64_d2<=#TP rxd64_d1;            rxd64_d3<=#TP rxd64_d2;            CRC_DATA <={rxd64_d2[0],rxd64_d2[1],rxd64_d2[2],rxd64_d2[3],rxd64_d2[4],rxd64_d2[5],rxd64_d2[6],rxd64_d2[7],                        rxd64_d2[8],rxd64_d2[9],rxd64_d2[10],rxd64_d2[11],rxd64_d2[12],rxd64_d2[13],rxd64_d2[14],rxd64_d2[15],                        rxd64_d2[16],rxd64_d2[17],rxd64_d2[18],rxd64_d2[19],rxd64_d2[20],rxd64_d2[21],rxd64_d2[22],rxd64_d2[23],                        rxd64_d2[24],rxd64_d2[25],rxd64_d2[26],rxd64_d2[27],rxd64_d2[28],rxd64_d2[29],rxd64_d2[30],rxd64_d2[31],                        rxd64_d2[32],rxd64_d2[33],rxd64_d2[34],rxd64_d2[35],rxd64_d2[36],rxd64_d2[37],rxd64_d2[38],rxd64_d2[39],                        rxd64_d2[40],rxd64_d2[41],rxd64_d2[42],rxd64_d2[43],rxd64_d2[44],rxd64_d2[45],rxd64_d2[46],rxd64_d2[47],                        rxd64_d2[48],rxd64_d2[49],rxd64_d2[50],rxd64_d2[51],rxd64_d2[52],rxd64_d2[53],rxd64_d2[54],rxd64_d2[55],                        rxd64_d2[56],rxd64_d2[57],rxd64_d2[58],rxd64_d2[59],rxd64_d2[60],rxd64_d2[61],rxd64_d2[62],rxd64_d2[63]};         end    end    //control pipeline    always@(posedge rxclk or posedge reset)begin         if (reset)	begin		            rxc8_d1<=#TP 0;            rxc8_d2<=#TP 0;            rxc8_d3<=#TP 0;               end         else begin            rxc8_d1<=#TP rxc8;            rxc8_d2<=#TP rxc8_d1;            rxc8_d3<=#TP rxc8_d2;         end    end    always @(posedge rxclk or posedge reset)begin         if (reset) begin            receiving_d1 <=#TP 0;            receiving_d2 <=#TP 0;            wait_crc_check_d1 <=#TP 0;         end         else	begin            receiving_d1 <=#TP receiving;            receiving_d2 <=#TP receiving_d1;            wait_crc_check_d1 <=#TP wait_crc_check;         end    end     ////////////////////////////////////////////    // Frame analysis    ////////////////////////////////////////////    reg get_sfd; //get sfd indicator    reg get_terminator; //get T indicator    reg get_error_code; //get Error indicator    reg[7:0] get_e_chk;    reg[7:0] rxc_end_data; //seperate DATA with FCS    reg [2:0]terminator_location; //for n*8bits(n<8), get n    reg[47:0] da_addr; //get Desetination Address    reg tagged_frame;  //Tagged frame indicator(type interpret)    reg pause_frame;   //Pause frame indicator(type interpret)     //1. SFD     always@(posedge rxclk or posedge reset) begin         if (reset)            get_sfd <=#TP 0;          else           get_sfd <=#TP (rxd64[7:0] ==`START) & (rxd64[63:56]== `SFD) & (rxc8 == 8'h01);    end    //2. EFD    reg this_cycle;     // -----------------------------------------------    //|  0  |  1  |  2  |  3  |  4  |  5  |  6  |  7  |     // -----------------------------------------------    //|<-------- EFD -------->|<-------- EFD -------->|    //|<-- this_cycle = '1' ->|<-- this_cycle = '0' ->|     always@(posedge rxclk or posedge reset) begin         if (reset) begin            get_terminator <=#TP 0;            terminator_location <=#TP 0;             this_cycle <=#TP 1'b0;            rxc_end_data <=#TP 0;         end         else begin            if (rxc8[0] & (rxd64[7:0]  ==`TERMINATE)) begin               get_terminator <=#TP 1'b1;               terminator_location <=#TP 0;                this_cycle <=#TP 1'b1;               rxc_end_data <=#TP 8'b00001111;            end               else if (rxc8[1] & (rxd64[15:8] ==`TERMINATE)) begin               get_terminator <=#TP 1'b1;               terminator_location <=#TP 1;               this_cycle <=#TP 1'b1;               rxc_end_data <=#TP 8'b00011111;            end            else if (rxc8[2] & (rxd64[23:16]==`TERMINATE)) begin               get_terminator <=#TP 1'b1;	               terminator_location <=#TP 2;               this_cycle <=#TP 1'b1;                rxc_end_data <=#TP 8'b00111111;            end            else if (rxc8[3] & (rxd64[31:24]==`TERMINATE)) begin               get_terminator <=#TP 1'b1;               terminator_location <=#TP 3;               this_cycle <=#TP 1'b1;               rxc_end_data <=#TP 8'b01111111;            end            else if (rxc8[4] & (rxd64[39:32]==`TERMINATE)) begin               get_terminator <=#TP 1'b1;                terminator_location <=#TP 4;	               this_cycle <=#TP 1'b1;               rxc_end_data <=#TP 8'b11111111;            end            else if (rxc8[5] & (rxd64[47:40]==`TERMINATE)) begin               get_terminator <=#TP 1'b1;                terminator_location <=#TP 5;               this_cycle <=#TP 1'b0;               rxc_end_data <=#TP 8'b00000001;            end            else if (rxc8[6] & (rxd64[55:48]==`TERMINATE)) begin               get_terminator <=#TP 1'b1;               terminator_location <=#TP 6;                this_cycle <=#TP 1'b0;               rxc_end_data <=#TP 8'b00000011;            end            else if (rxc8[7] & (rxd64[63:56]==`TERMINATE))begin               get_terminator <=#TP 1'b1;               terminator_location <=#TP 7;               this_cycle <=#TP 1'b0;               rxc_end_data <=#TP 8'b00000111;            end            else begin               get_terminator <=#TP 1'b0;               terminator_location <=#TP terminator_location;                this_cycle <=#TP this_cycle;               rxc_end_data <=#TP rxc_end_data;            end        end    end     //3. Error Character    always@(posedge rxclk or posedge reset) begin          if (reset)             get_e_chk <=#TP 0;          else begin             get_e_chk[0] <=#TP rxc8[0] & (rxd64[7:0]  ==`ERROR);              get_e_chk[1] <=#TP rxc8[1] & (rxd64[15:8] ==`ERROR);             get_e_chk[2] <=#TP rxc8[2] & (rxd64[23:16]==`ERROR);             get_e_chk[3] <=#TP rxc8[3] & (rxd64[31:24]==`ERROR);             get_e_chk[4] <=#TP rxc8[4] & (rxd64[39:32]==`ERROR);             get_e_chk[5] <=#TP rxc8[5] & (rxd64[47:40]==`ERROR);             get_e_chk[6] <=#TP rxc8[6] & (rxd64[55:48]==`ERROR);             get_e_chk[7] <=#TP rxc8[7] & (rxd64[63:56]==`ERROR);          end    end     always@(posedge rxclk or posedge reset) begin          if (reset)             get_error_code <=#TP 0;          else            get_error_code <=#TP receiving & (| get_e_chk);    end        //////////////////////////////////////    // Get Destination Address    //////////////////////////////////////

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区久久久| 成人教育av在线| 亚洲va欧美va人人爽| 一区二区三区蜜桃| 亚洲精品videosex极品| 亚洲乱码国产乱码精品精的特点| 亚洲私人黄色宅男| 亚洲女同ⅹxx女同tv| 亚洲美女免费在线| 亚洲综合免费观看高清完整版| 亚洲免费视频成人| 亚洲一区二区三区美女| 亚洲成人动漫av| 日本中文字幕一区二区有限公司| 蜜桃一区二区三区在线观看| 美美哒免费高清在线观看视频一区二区 | 久久久久国产精品人| 久久久久久麻豆| 国产精品不卡在线观看| 亚洲同性gay激情无套| 亚洲图片欧美色图| 日本不卡免费在线视频| 久久99精品国产麻豆不卡| 国产馆精品极品| 99v久久综合狠狠综合久久| 在线观看av不卡| 欧美一二三在线| 国产区在线观看成人精品| 国产精品成人免费| 亚洲午夜电影在线| 看国产成人h片视频| 国产麻豆午夜三级精品| 99久久99精品久久久久久| 欧美天堂一区二区三区| 欧美岛国在线观看| 欧美激情一区二区三区全黄| 亚洲免费观看高清完整版在线观看| 亚洲电影第三页| 韩国一区二区在线观看| 91无套直看片红桃| 91精品视频网| 国产精品毛片久久久久久久| 亚洲一区二区影院| 捆绑变态av一区二区三区| caoporen国产精品视频| 欧美精品xxxxbbbb| 国产欧美日韩精品一区| 婷婷成人激情在线网| 国产经典欧美精品| 欧美午夜不卡视频| 国产视频一区二区三区在线观看| 亚洲午夜在线视频| 国产经典欧美精品| 欧美日韩精品三区| 国产精品你懂的| 日本成人在线看| 91免费视频大全| 久久久久久久久久久久电影| 亚洲午夜久久久久久久久电影网| 国产精品18久久久久| 欧美色网一区二区| 国产亚洲精久久久久久| 日本成人在线一区| 91豆麻精品91久久久久久| 久久久久久久性| 日韩在线一区二区三区| 97久久精品人人爽人人爽蜜臀| 91精品久久久久久久91蜜桃| 亚洲欧洲99久久| 国模冰冰炮一区二区| 欧美亚洲综合另类| 国产精品国产三级国产有无不卡| 麻豆一区二区三区| 欧美日韩一级二级| 中文字幕中文乱码欧美一区二区| 免费在线观看成人| 欧美性xxxxxxxx| 亚洲欧洲中文日韩久久av乱码| 国产精品69久久久久水密桃| 日韩欧美激情四射| 亚洲va欧美va天堂v国产综合| 色婷婷久久久亚洲一区二区三区| 国产色婷婷亚洲99精品小说| 另类专区欧美蜜桃臀第一页| 在线成人午夜影院| 洋洋av久久久久久久一区| 成人激情综合网站| 日本一区二区三区四区在线视频| 捆绑调教一区二区三区| 91精品国产美女浴室洗澡无遮挡| 亚洲激情图片一区| 97se亚洲国产综合自在线观| 欧美激情综合网| 国产激情精品久久久第一区二区 | 亚洲综合成人网| 99精品国产99久久久久久白柏| 国产欧美日韩久久| 成人性生交大合| 欧美国产一区二区在线观看| 国产一区二区三区高清播放| 久久亚洲精华国产精华液| 久久精品99久久久| 日韩精品综合一本久道在线视频| 理论电影国产精品| 欧美videos中文字幕| 极品少妇xxxx精品少妇偷拍| 欧美精品一区二区三区很污很色的| 日本不卡在线视频| 欧美r级在线观看| 国产精品一区二区男女羞羞无遮挡| 337p日本欧洲亚洲大胆色噜噜| 精品一二线国产| 久久久久久免费网| 成人国产电影网| 亚洲日本免费电影| 日本久久一区二区| 亚洲国产一区二区三区| 在线91免费看| 久国产精品韩国三级视频| 久久久91精品国产一区二区三区| 国产成人精品三级| 亚洲欧美乱综合| 精品视频一区二区三区免费| 视频一区在线播放| 精品国产91洋老外米糕| 国产精品18久久久久久久久久久久| 中国色在线观看另类| 一本久久精品一区二区| 日韩精品电影一区亚洲| 日韩精品一区二区三区视频播放 | 99久久er热在这里只有精品66| 专区另类欧美日韩| 欧美日韩国产经典色站一区二区三区| 轻轻草成人在线| 久久免费国产精品| 91在线看国产| 五月激情综合婷婷| 久久伊人蜜桃av一区二区| 99精品久久久久久| 日日夜夜精品视频免费| 国产视频一区在线观看 | 国产亚洲精品7777| 色婷婷久久一区二区三区麻豆| 日本成人在线视频网站| 国产女同互慰高潮91漫画| 在线免费观看日本欧美| 毛片av中文字幕一区二区| 国产精品国产三级国产专播品爱网 | 欧美美女一区二区三区| 国内久久精品视频| 亚洲精品成人少妇| 久久人人爽爽爽人久久久| 色综合婷婷久久| 国模无码大尺度一区二区三区| 亚洲欧美日韩国产综合| 日韩欧美一区二区免费| 不卡的av电影| 美女网站一区二区| 亚洲人成网站精品片在线观看| 日韩精品在线看片z| 在线视频中文字幕一区二区| 国产一区二区免费在线| 亚洲成人一二三| 中文字幕在线免费不卡| 精品日韩欧美一区二区| 欧美图区在线视频| 国产成人久久精品77777最新版本| 亚洲国产中文字幕在线视频综合| 久久久久青草大香线综合精品| 在线91免费看| 色av成人天堂桃色av| 国内外成人在线视频| 五月综合激情日本mⅴ| 亚洲天堂精品在线观看| 国产日韩欧美亚洲| 日韩欧美国产成人一区二区| 欧美艳星brazzers| aaa亚洲精品| 国产a视频精品免费观看| 麻豆精品在线看| 午夜视频在线观看一区二区| 亚洲欧美一区二区不卡| 国产日韩av一区二区| 精品久久99ma| 91精品蜜臀在线一区尤物| 在线一区二区三区四区五区 | 国内精品免费**视频| 亚洲成人黄色影院| 亚洲精选视频免费看| 国产精品麻豆99久久久久久| 久久综合色综合88| 精品捆绑美女sm三区| 欧美国产视频在线| 国产日韩成人精品| 久久精品一级爱片| 精品盗摄一区二区三区| 日韩欧美国产高清| 欧美电影免费观看高清完整版在 | 精品国产亚洲在线| 91精品视频网|