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

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

?? i2c_master_bit_ctrl.v

?? 來自opencore網站的I2C總線模塊
?? V
?? 第 1 頁 / 共 2 頁
字號:
/////////////////////////////////////////////////////////////////////////                                                             ////////  WISHBONE rev.B2 compliant I2C Master bit-controller        ////////                                                             ////////                                                             ////////  Author: Richard Herveille                                  ////////          richard@asics.ws                                   ////////          www.asics.ws                                       ////////                                                             ////////  Downloaded from: http://www.opencores.org/projects/i2c/    ////////                                                             /////////////////////////////////////////////////////////////////////////////                                                             //////// Copyright (C) 2001 Richard Herveille                        ////////                    richard@asics.ws                         ////////                                                             //////// 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 SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY     //////// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   //////// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS   //////// FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR      //////// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,         //////// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES    //////// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE   //////// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        //////// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  //////// LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT  //////// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  //////// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE         //////// POSSIBILITY OF SUCH DAMAGE.                                 ////////                                                             ///////////////////////////////////////////////////////////////////////////  CVS Log////  $Id: i2c_master_bit_ctrl.v,v 1.12 2006/09/04 09:08:13 rherveille Exp $////  $Date: 2006/09/04 09:08:13 $//  $Revision: 1.12 $//  $Author: rherveille $//  $Locker:  $//  $State: Exp $//// Change History://               $Log: i2c_master_bit_ctrl.v,v $//               Revision 1.12  2006/09/04 09:08:13  rherveille//               fixed short scl high pulse after clock stretch//               fixed slave model not returning correct '(n)ack' signal////               Revision 1.11  2004/05/07 11:02:26  rherveille//               Fixed a bug where the core would signal an arbitration lost (AL bit set), when another master controls the bus and the other master generates a STOP bit.////               Revision 1.10  2003/08/09 07:01:33  rherveille//               Fixed a bug in the Arbitration Lost generation caused by delay on the (external) sda line.//               Fixed a potential bug in the byte controller's host-acknowledge generation.////               Revision 1.9  2003/03/10 14:26:37  rherveille//               Fixed cmd_ack generation item (no bug).////               Revision 1.8  2003/02/05 00:06:10  rherveille//               Fixed a bug where the core would trigger an erroneous 'arbitration lost' interrupt after being reset, when the reset pulse width < 3 clk cycles.////               Revision 1.7  2002/12/26 16:05:12  rherveille//               Small code simplifications////               Revision 1.6  2002/12/26 15:02:32  rherveille//               Core is now a Multimaster I2C controller////               Revision 1.5  2002/11/30 22:24:40  rherveille//               Cleaned up code////               Revision 1.4  2002/10/30 18:10:07  rherveille//               Fixed some reported minor start/stop generation timing issuess.////               Revision 1.3  2002/06/15 07:37:03  rherveille//               Fixed a small timing bug in the bit controller.\nAdded verilog simulation environment.////               Revision 1.2  2001/11/05 11:59:25  rherveille//               Fixed wb_ack_o generation bug.//               Fixed bug in the byte_controller statemachine.//               Added headers./////////////////////////////////////////// Bit controller section///////////////////////////////////////// Translate simple commands into SCL/SDA transitions// Each command has 5 states, A/B/C/D/idle//// start:	SCL	~~~~~~~~~~\____//	SDA	~~~~~~~~\______//		 x | A | B | C | D | i//// repstart	SCL	____/~~~~\___//	SDA	__/~~~\______//		 x | A | B | C | D | i//// stop	SCL	____/~~~~~~~~//	SDA	==\____/~~~~~//		 x | A | B | C | D | i////- write	SCL	____/~~~~\____//	SDA	==X=========X=//		 x | A | B | C | D | i////- read	SCL	____/~~~~\____//	SDA	XXXX=====XXXX//		 x | A | B | C | D | i//// Timing:     Normal mode      Fast mode///////////////////////////////////////////////////////////////////////// Fscl        100KHz           400KHz// Th_scl      4.0us            0.6us   High period of SCL// Tl_scl      4.7us            1.3us   Low period of SCL// Tsu:sta     4.7us            0.6us   setup time for a repeated start condition// Tsu:sto     4.0us            0.6us   setup time for a stop conditon// Tbuf        4.7us            1.3us   Bus free time between a stop and start condition//// synopsys translate_off`include "timescale.v"// synopsys translate_on`include "i2c_master_defines.v"module i2c_master_bit_ctrl(	clk, rst, nReset, 	clk_cnt, ena, cmd, cmd_ack, busy, al, din, dout,	scl_i, scl_o, scl_oen, sda_i, sda_o, sda_oen	);	//	// inputs & outputs	//	input clk;	input rst;	input nReset;	input ena;            // core enable signal	input [15:0] clk_cnt; // clock prescale value	input  [3:0] cmd;	output       cmd_ack; // command complete acknowledge	reg cmd_ack;	output       busy;    // i2c bus busy	reg busy;	output       al;      // i2c bus arbitration lost	reg al;	input  din;	output dout;	reg dout;	// I2C lines	input  scl_i;         // i2c clock line input	output scl_o;         // i2c clock line output	output scl_oen;       // i2c clock line output enable (active low)	reg scl_oen;	input  sda_i;         // i2c data line input	output sda_o;         // i2c data line output	output sda_oen;       // i2c data line output enable (active low)	reg sda_oen;	//	// variable declarations	//	reg sSCL, sSDA;             // synchronized SCL and SDA inputs	reg dscl_oen;               // delayed scl_oen	reg sda_chk;                // check SDA output (Multi-master arbitration)	reg clk_en;                 // clock generation signals	wire slave_wait;//	reg [15:0] cnt = clk_cnt;   // clock divider counter (simulation)	reg [15:0] cnt;             // clock divider counter (synthesis)	// state machine variable	reg [16:0] c_state; // synopsys enum_state	//	// module body	//	// whenever the slave is not ready it can delay the cycle by pulling SCL low	// delay scl_oen	always @(posedge clk)	  dscl_oen <= #1 scl_oen;
	  	//master release bus,and detect sSCL being pull low by slave	assign slave_wait = dscl_oen && !sSCL;	
		// generate clk enable signal	always @(posedge clk or negedge nReset)	  if(~nReset)	    begin	        cnt    <= #1 16'h0;		        clk_en <= #1 1'b1;		//clk enable once cnt be zero	    end	  else if (rst)	    begin	        cnt    <= #1 16'h0;	        clk_en <= #1 1'b1;	    end	  else if ( ~|cnt || !ena)	    begin	        cnt    <= #1 clk_cnt;	        clk_en <= #1 1'b1;	    end	  else if (slave_wait)	    begin	        cnt    <= #1 cnt;		//if slave wait,keep cnt	        clk_en <= #1 1'b0;    	    end	  else	    begin	        cnt    <= #1 cnt - 16'h1;	        clk_en <= #1 1'b0;	    end	// generate bus status controller	reg dSCL, dSDA;	reg sta_condition;	reg sto_condition;	// synchronize SCL and SDA inputs	// reduce metastability risc	always @(posedge clk or negedge nReset)	  if (~nReset)	    begin	        sSCL <= #1 1'b1;	        sSDA <= #1 1'b1;	        dSCL <= #1 1'b1;	        dSDA <= #1 1'b1;	    end	  else if (rst)	    begin	        sSCL <= #1 1'b1;	        sSDA <= #1 1'b1;	        dSCL <= #1 1'b1;	        dSDA <= #1 1'b1;	    end	  else	    begin	        sSCL <= #1 scl_i;	        sSDA <= #1 sda_i;	        dSCL <= #1 sSCL;			        dSDA <= #1 sSDA;	    end	// detect start condition => detect falling edge on SDA while SCL is high	// detect stop condition => detect rising edge on SDA while SCL is high	always @(posedge clk or negedge nReset)	  if (~nReset)	    begin	        sta_condition <= #1 1'b0;	        sto_condition <= #1 1'b0;	    end	  else if (rst)	    begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
悠悠色在线精品| 成人h版在线观看| gogogo免费视频观看亚洲一| 欧美色图天堂网| 国产三级一区二区| 日日摸夜夜添夜夜添国产精品| 国产成人亚洲精品青草天美| 884aa四虎影成人精品一区| 亚洲男女一区二区三区| 国模冰冰炮一区二区| 欧美日韩亚洲综合一区| 中文字幕一区二区三区蜜月| 国产一区二区视频在线播放| 日韩欧美一级在线播放| 亚洲第一精品在线| 一本到一区二区三区| 国产精品久久久久久久岛一牛影视| 久久精品国产一区二区| 日韩一区二区不卡| 亚洲a一区二区| 欧美天堂亚洲电影院在线播放| 亚洲天堂免费看| 成人亚洲精品久久久久软件| 国产午夜精品一区二区三区嫩草 | 精品写真视频在线观看| 6080午夜不卡| 日精品一区二区三区| 欧美三区免费完整视频在线观看| 亚洲视频一区在线观看| 99久久综合国产精品| 成人欧美一区二区三区白人| 91在线视频官网| 成人欧美一区二区三区在线播放| 成人丝袜18视频在线观看| 国产精品久久久久影院色老大| 国产传媒日韩欧美成人| 国产欧美精品一区二区三区四区 | 蜜臀av性久久久久av蜜臀妖精| 欧美日韩三级在线| 日本中文字幕一区二区有限公司| 777色狠狠一区二区三区| 日韩av一区二区三区四区| 欧美变态tickling挠脚心| 久久国产综合精品| 国产亚洲欧美日韩日本| 99精品欧美一区| 亚洲午夜精品在线| 欧美成人猛片aaaaaaa| 激情深爱一区二区| 中文字幕一区av| 欧美片在线播放| 国内偷窥港台综合视频在线播放| 久久久久国产免费免费| 色天使色偷偷av一区二区| 午夜视频久久久久久| 欧美v亚洲v综合ⅴ国产v| 国产成人日日夜夜| 亚洲天堂久久久久久久| 日韩午夜在线观看| 99久久精品国产精品久久| 欧美天天综合网| 欧美xfplay| 丁香一区二区三区| 亚洲婷婷综合久久一本伊一区| 欧美日韩精品免费| 精品一区二区三区免费观看 | 99精品一区二区三区| 亚洲午夜在线电影| 精品日韩欧美在线| 91在线高清观看| 久久超级碰视频| 亚洲欧美视频一区| 久久噜噜亚洲综合| 欧美中文字幕亚洲一区二区va在线 | 2024国产精品视频| 91久久奴性调教| 国产成人在线观看| 日韩高清欧美激情| 亚洲欧美电影院| 国产日韩av一区二区| 欧美日韩国产一级片| 99re这里只有精品首页| 麻豆国产欧美一区二区三区| 中文字幕综合网| 久久精品亚洲乱码伦伦中文 | 在线观看日韩电影| 福利电影一区二区| 老司机精品视频在线| 亚洲国产成人高清精品| 国产精品久久久久国产精品日日| 日韩三级.com| 欧美乱妇20p| 一本色道久久综合狠狠躁的推荐| 国产美女精品一区二区三区| 日日摸夜夜添夜夜添亚洲女人| 亚洲视频免费在线| 国产精品成人在线观看| 国产午夜精品久久久久久免费视| 日韩欧美一级精品久久| 日韩亚洲欧美高清| 欧美日韩在线亚洲一区蜜芽| 色综合天天做天天爱| 成人av在线资源网| 国产 日韩 欧美大片| 国产成人8x视频一区二区| 激情伊人五月天久久综合| 日韩av在线免费观看不卡| 视频在线观看一区二区三区| 亚洲在线观看免费| 午夜日韩在线观看| 日韩激情中文字幕| 日韩精品一卡二卡三卡四卡无卡| 调教+趴+乳夹+国产+精品| 日韩不卡一二三区| 视频一区二区欧美| 日韩精品午夜视频| 美女脱光内衣内裤视频久久影院| 婷婷久久综合九色国产成人| 日韩精品每日更新| 伦理电影国产精品| 狠狠色狠狠色综合| 成人avav在线| 91国偷自产一区二区三区成为亚洲经典| av在线不卡网| 欧美在线短视频| 日韩一级成人av| 国产女主播一区| 亚洲六月丁香色婷婷综合久久 | 在线日韩一区二区| 88在线观看91蜜桃国自产| 日韩欧美国产1| www久久精品| 日韩理论电影院| 午夜电影网一区| 国产精品99久久久| 色婷婷激情综合| 日韩三级高清在线| 中文字幕一区二区不卡| 午夜精品一区二区三区三上悠亚| 蜜桃精品视频在线| jlzzjlzz亚洲日本少妇| 在线一区二区视频| 日韩三级精品电影久久久| 日本一区二区免费在线观看视频| 亚洲乱码日产精品bd| 日本特黄久久久高潮| 成人综合在线网站| 欧美丝袜丝交足nylons图片| 精品国产免费久久| 一区二区三区不卡在线观看| 久久黄色级2电影| 91亚洲男人天堂| 欧美一级理论片| 亚洲欧美一区二区三区久本道91 | av电影在线观看不卡| 欧美优质美女网站| 久久久久久久综合日本| 日韩一区日韩二区| 九色porny丨国产精品| 99视频精品全部免费在线| 日韩精品一区国产麻豆| 亚洲免费观看在线视频| 激情综合网天天干| 欧美性大战久久| 国产精品不卡在线| 麻豆91精品91久久久的内涵| 91麻豆免费看| 久久久亚洲精品一区二区三区| 一区二区三区国产精华| 国产精品亚洲第一区在线暖暖韩国| 欧美性猛交xxxxxxxx| 中文字幕在线视频一区| 久久激情综合网| 欧美日韩一区 二区 三区 久久精品| 国产午夜精品久久久久久免费视| 日韩精品视频网| 欧美日韩一区二区三区在线看| 国产精品伦理在线| 黄页视频在线91| 日韩视频永久免费| 无码av中文一区二区三区桃花岛| 成人精品高清在线| www精品美女久久久tv| 日本成人中文字幕在线视频| 欧美色倩网站大全免费| 亚洲精选视频免费看| www.欧美日韩国产在线| 国产欧美日韩一区二区三区在线观看| 日本不卡的三区四区五区| 欧美人狂配大交3d怪物一区| 亚洲免费在线视频一区 二区| 99久久精品免费看国产 | 亚洲图片自拍偷拍| 在线视频亚洲一区| 亚洲私人影院在线观看| 91丨porny丨户外露出| 亚洲欧美日韩国产中文在线| 99精品在线免费| 一区二区三区在线视频免费观看| 成人激情电影免费在线观看|