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

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

?? mdio.v

?? 基于802.3以太網的mac源碼
?? V
字號:
`timescale 1ns / 1ps////////////////////////////////////////////////////////////////////////// 																					//////// MODULE NAME: MDIO Interface 											//////// 																					//////// DESCRIPTION: Generate MDIO Signals                           ////////																					//////// 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.2  2006/06/15 05:09:24  fisher5090// bad coding style, but works, will be modified later//// Revision 1.1  2005/12/25 16:43:10  Zheng Cao// // ////////////////////////////////////////////////////////////////////////`define PRE 31'h7fffffff`define ST 2'b01`define TA 2'b10module mdio(mgmt_clk, reset, mdc, mdio_t, mdio_i, mdio_o, mdio_opcode, mdio_in_valid, mdio_data_in, mdio_out_valid, mdio_data_out, mgmt_config);input mgmt_clk; //Management Clockinput reset; //System resetoutput mdc; //MDIO clockoutput mdio_t; output mdio_o;input mdio_i;input[1:0] mdio_opcode; //MDIO Opcode, equals mgmt_opcodeoutput mdio_in_valid; //Indicate mdio_data_in read from MDIO is validoutput[15:0] mdio_data_in; //Data read from MDIOinput mdio_out_valid; //Indicate mdio_data_out is validinput[25:0] mdio_data_out; //Data to be writen to MDIO, {addr, data}input[31:0] mgmt_config; //management configuration data, mainly used to set mdc frequencyparameter IDLE =0, MDIO_WRITE =1, MDIO_READ =2;parameter TP =1;///////////////////////////////////////////// MDIO Clock Gen///////////////////////////////////////////reg[4:0] clk_cnt;always@(posedge mgmt_clk or posedge reset)begin      if(reset)		  clk_cnt <=#TP 0;		else if(clk_cnt == mgmt_config[4:0])		  clk_cnt <=#TP 0;		else		  clk_cnt <=#TP clk_cnt + 1;endreg mdc;always@(posedge mgmt_clk or posedge reset)begin      if(reset)		  mdc <=#TP 0;		else if(clk_cnt == mgmt_config[4:0])		  mdc <=#TP ~mdc;		else        mdc <=#TP mdc;		end////////////////////////////////////////////// MDIO data initialization////////////////////////////////////////////reg transmitting;reg[62:0] mdio_data;always@(posedge mgmt_clk or posedge reset)begin      if(reset)begin		  mdio_data <=#TP 0;		end		else if(mdio_out_valid)begin		  mdio_data <=#TP {`PRE, `ST, mdio_opcode, mdio_data_out[25:16], `TA, mdio_data_out[15:0]};		endendreg[62:0] mdio_data_reg;always@(posedge mdc or posedge reset)begin      if(reset)		  mdio_data_reg <=#TP 0;		else if(transmitting)		  mdio_data_reg <=#TP mdio_data_reg <<1;		else		  mdio_data_reg <=#TP mdio_data;end////////////////////////////////////////////// counter used for transmitting data////////////////////////////////////////////reg[6:0] trans_cnt;always@(posedge mdc or posedge reset)begin      if(reset)begin		  trans_cnt <=#TP 0;		end 		else if(transmitting)begin		  trans_cnt <=#TP trans_cnt + 1;		end  		else begin		  trans_cnt <=#TP 0;		end  end		////////////////////////////////////////////// MDIO SIGNAL DRIVER////////////////////////////////////////////wire mdio_operate_done; //indicates MDIO write/read operation has been finishedassign mdio_operate_done = (trans_cnt == 63);reg receiving;reg[1:0] state, nextstate;always@(state, mdio_out_valid, mdio_opcode[1], mdio_operate_done, reset)begin      if(reset)		  nextstate <=#TP IDLE;		else 		  case(state)		     IDLE: begin			     if(mdio_out_valid & ~mdio_opcode[1])                 nextstate <=#TP MDIO_WRITE;              else if(mdio_out_valid & mdio_opcode[1])                 nextstate <=#TP MDIO_READ;				  else				     nextstate <=#TP nextstate;		     end			  MDIO_WRITE: begin              if(mdio_operate_done)		          nextstate <=#TP IDLE;		        else                nextstate <=#TP MDIO_WRITE;			  end           MDIO_READ: begin              if(mdio_operate_done)		          nextstate <=#TP IDLE;		        else                nextstate <=#TP MDIO_READ;			  end			  		 endcaseend		  always@(posedge mdc or posedge reset)begin      if(reset)		  state <=#TP IDLE;		else        state <=#TP nextstate;end		  ////////////////////////////////////////////////////// MDIO control//--receiving indicates receiving data from PHY//--transmitting indicates transmitting data to PHY////////////////////////////////////////////////////reg mdio_o;reg mdio_t;always@(posedge mdc or posedge reset)begin      if(reset) begin        mdio_o <=#TP 0;        mdio_t <=#TP 0;		  transmitting <=#TP 0;		  receiving <=#TP 0;      end      else begin        case (state)            IDLE:begin               mdio_o <=#TP 1'b1;               mdio_t <=#TP 0;			         receiving <=#TP 0;               transmitting <=#TP 0;					            end				MDIO_WRITE:begin				   transmitting <=#TP 1;					mdio_o <=#TP mdio_data_reg[62];					mdio_t <=#TP 1'b0;		         receiving <=#TP 0;					if (trans_cnt == 63)begin                  transmitting <=#TP 0;               end					  			   end	            MDIO_READ:begin					mdio_o <=#TP mdio_data_reg[62];					mdio_t <=#TP 1'b0;  				   transmitting <=#TP 1'b1;		         receiving <=#TP 0;               if (trans_cnt == 45)begin //transmitting TA					  mdio_t <=#TP 1'b1;					end								else if (trans_cnt == 63)begin //all data received  				     transmitting <=#TP 1'b0;					  mdio_o <=#TP 1'b1;					end               else if(trans_cnt >= 46)begin //receiving Data					  mdio_t <=#TP 1'b1;                 receiving <=#TP 1'b1;								end			   end	        endcase    endend/////////////////////////////////////////////////// Shift Registers to get data from PHY/////////////////////////////////////////////////reg mdio_in_valid;always@(posedge mdc or posedge reset)begin      if(reset)		   mdio_in_valid <=#TP 1'b0;      else if(mdio_operate_done)         mdio_in_valid <=#TP 1'b1;		else if(receiving)		   mdio_in_valid <=#TP 1'b0;         else         mdio_in_valid <=#TP 1'b0;endreg[15:0] mdio_data_in;always@(posedge mdc or posedge reset)begin      if(reset)begin		   mdio_data_in <=#TP 0;		end			else if(receiving)begin		   mdio_data_in[0] <=#TP mdio_i;		   mdio_data_in[1] <=#TP mdio_data_in[0];		   mdio_data_in[2] <=#TP mdio_data_in[1];		   mdio_data_in[3] <=#TP mdio_data_in[2];		   mdio_data_in[4] <=#TP mdio_data_in[3];		   mdio_data_in[5] <=#TP mdio_data_in[4];		   mdio_data_in[6] <=#TP mdio_data_in[5];		   mdio_data_in[7] <=#TP mdio_data_in[6];		   mdio_data_in[8] <=#TP mdio_data_in[7];		   mdio_data_in[9] <=#TP mdio_data_in[8];		   mdio_data_in[10] <=#TP mdio_data_in[9];		   mdio_data_in[11] <=#TP mdio_data_in[10];		   mdio_data_in[12] <=#TP mdio_data_in[11];		   mdio_data_in[13] <=#TP mdio_data_in[12];		   mdio_data_in[14] <=#TP mdio_data_in[13];		   mdio_data_in[15] <=#TP mdio_data_in[14];	   end		else		   mdio_data_in <=#TP mdio_data_in;end        		endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品视频一区| 国产宾馆实践打屁股91| 亚洲电影一区二区三区| 1区2区3区国产精品| 亚洲精品视频免费观看| 蜜桃91丨九色丨蝌蚪91桃色| 成人做爰69片免费看网站| 成人毛片视频在线观看| 在线观看区一区二| 精品国产乱码久久| 亚洲日本韩国一区| 美腿丝袜亚洲色图| 91免费在线视频观看| 欧美mv日韩mv| 亚洲国产精品视频| 国产精品18久久久| 欧美高清视频一二三区 | 日本欧美加勒比视频| 成人性生交大片免费| 日韩一卡二卡三卡四卡| 亚洲天堂久久久久久久| 国产制服丝袜一区| 精品视频在线免费看| 国产精品久久久久久妇女6080| 亚洲欧美日韩一区| 粉嫩嫩av羞羞动漫久久久| 欧美大胆人体bbbb| 成人免费在线视频| 国产精品中文字幕一区二区三区| 欧美日韩在线三级| 日韩精品一区二区三区三区免费 | 欧美性xxxxxxxx| 久久尤物电影视频在线观看| 亚洲国产精品久久久久秋霞影院| 成人综合在线观看| 久久久综合视频| 热久久一区二区| 色哟哟国产精品免费观看| 久久久久国产精品人| 久久99久久久久| 91精品国产色综合久久ai换脸| 亚洲一线二线三线久久久| 成人黄色小视频在线观看| 18涩涩午夜精品.www| 91成人看片片| 婷婷六月综合亚洲| 精品国产一区二区在线观看| 韩国理伦片一区二区三区在线播放| 精品国产一区二区亚洲人成毛片| 国产伦精品一区二区三区视频青涩 | 欧美xxxxxxxx| 国产精品夜夜爽| 国产精品久久毛片| 欧美视频一区在线观看| 美女任你摸久久| 国产午夜三级一区二区三| 9i在线看片成人免费| 亚洲在线观看免费视频| 日韩一区二区三区电影| 国产黄人亚洲片| 一区二区三区成人在线视频| 日韩欧美专区在线| 成人高清av在线| 天天色天天爱天天射综合| 久久久天堂av| 欧美日韩一区中文字幕| 国内精品免费**视频| 椎名由奈av一区二区三区| 日韩一区二区视频| 99精品黄色片免费大全| 蜜臀av性久久久久蜜臀aⅴ | 99精品偷自拍| 男女视频一区二区| 国产免费成人在线视频| 欧美日韩aaaaa| 成人精品一区二区三区中文字幕| 亚洲大片在线观看| 中文一区二区完整视频在线观看| 欧美日韩一区二区三区在线| 国产成人8x视频一区二区| 亚洲国产精品视频| 国产精品国产三级国产a| 日韩精品专区在线影院观看 | 亚洲精品乱码久久久久久久久| 精品少妇一区二区三区 | 色狠狠色噜噜噜综合网| 国产另类ts人妖一区二区| 亚洲第四色夜色| 最新不卡av在线| 久久久国产一区二区三区四区小说| 欧美在线色视频| 97se亚洲国产综合自在线不卡 | 精品国产伦理网| 欧美色精品天天在线观看视频| 成人黄色电影在线| 国产一区二区三区精品视频 | 亚洲免费色视频| 国产欧美日韩视频一区二区 | 一区二区三区鲁丝不卡| 国产精品久久久久久久久果冻传媒| 91精品国产免费| 欧美疯狂性受xxxxx喷水图片| 在线观看日韩一区| 91玉足脚交白嫩脚丫在线播放| 国产91高潮流白浆在线麻豆| 极品少妇xxxx偷拍精品少妇| 蜜臀av在线播放一区二区三区| 五月天精品一区二区三区| 亚洲激情网站免费观看| 自拍偷拍亚洲欧美日韩| 1024亚洲合集| 亚洲视频一区二区在线观看| 国产精品久久99| 最新不卡av在线| 亚洲视频你懂的| 一区二区三区在线视频观看 | 韩国av一区二区三区在线观看| 九色综合国产一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 青青草国产成人99久久| 免费美女久久99| 精品一区二区在线观看| 国产麻豆精品久久一二三| 国产精品综合视频| 国产**成人网毛片九色| 成人h版在线观看| 日本乱码高清不卡字幕| 欧美日本国产视频| 7777精品伊人久久久大香线蕉的 | 国产精品福利电影一区二区三区四区| 久久精品一区二区三区四区| 国产精品美女视频| 亚洲精选视频在线| 亚洲成人自拍一区| 美女精品自拍一二三四| 国产福利不卡视频| 色综合天天做天天爱| 欧美视频在线一区| 精品日产卡一卡二卡麻豆| 国产欧美日产一区| 亚洲一区二区黄色| 九色porny丨国产精品| 成人国产电影网| 欧美日韩高清一区二区| 精品va天堂亚洲国产| 136国产福利精品导航| 日韩黄色免费电影| 国产91色综合久久免费分享| 91久久久免费一区二区| 日韩视频一区二区| 国产精品美女久久久久久久久久久| 亚洲欧美日韩国产另类专区| 美国欧美日韩国产在线播放| av电影在线观看一区| 欧美日韩免费观看一区三区| 久久久精品tv| 午夜不卡在线视频| 成人黄色一级视频| 欧美一区二区三区四区五区| 国产精品大尺度| 美女视频黄 久久| 欧洲一区在线电影| 欧美国产成人精品| 三级精品在线观看| 色综合天天性综合| 国产日韩综合av| 日韩电影在线观看电影| 色综合久久精品| 国产情人综合久久777777| 性久久久久久久久| 色呦呦日韩精品| 国产精品入口麻豆原神| 久久99精品久久久久久 | 色综合色综合色综合色综合色综合| 精品国产电影一区二区| 亚洲午夜免费电影| 91网页版在线| 中文字幕巨乱亚洲| 国产精品1024| 精品国产99国产精品| 亚洲成av人片一区二区梦乃 | 欧美大片顶级少妇| 视频一区在线播放| 欧美在线免费视屏| 一区二区在线观看不卡| 成人激情午夜影院| 欧美国产综合一区二区| 国产在线视频一区二区| 日韩一区二区电影在线| 奇米影视一区二区三区| 欧美丰满一区二区免费视频| 亚洲一二三四区不卡| 国产精品人妖ts系列视频| 91浏览器打开| 国产视频一区二区在线| 国产精品中文字幕日韩精品| 精品日韩一区二区| 麻豆精品蜜桃视频网站| 欧美另类久久久品| 亚洲123区在线观看|