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

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

?? i2c_master_byte_ctrl.v

?? 基于FPGA的I2C總線模擬
?? V
字號(hào):
// synopsys translate_off`include "timescale.v"// synopsys translate_on`include "i2c_master_defines.v"module i2c_master_byte_ctrl (	clk, rst, nReset, ena, clk_cnt, start, stop, read, write, ack_in, din,	cmd_ack, ack_out, dout, i2c_busy, i2c_al, scl_i, scl_o, scl_oen, sda_i, sda_o, sda_oen );	//	// inputs & outputs	//	input clk;     // master clock	input rst;     // synchronous active high reset	input nReset;  // asynchronous active low reset	input ena;     // core enable signal	input [15:0] clk_cnt; // 4x SCL	// control inputs	input       start;	input       stop;	input       read;	input       write;	input       ack_in;	input [7:0] din;	// status outputs	output       cmd_ack;	reg cmd_ack;	output       ack_out;	reg ack_out;	output       i2c_busy;	output       i2c_al;	output [7:0] dout;	// I2C signals	input  scl_i;	output scl_o;	output scl_oen;	input  sda_i;	output sda_o;	output sda_oen;	//	// Variable declarations	//	// statemachine	parameter [4:0] ST_IDLE  = 5'b0_0000;	parameter [4:0] ST_START = 5'b0_0001;	parameter [4:0] ST_READ  = 5'b0_0010;	parameter [4:0] ST_WRITE = 5'b0_0100;	parameter [4:0] ST_ACK   = 5'b0_1000;	parameter [4:0] ST_STOP  = 5'b1_0000;	// signals for bit_controller	reg  [3:0] core_cmd;	reg        core_txd;	wire       core_ack, core_rxd;	// signals for shift register	reg [7:0] sr; //8bit shift register	reg       shift, ld;	// signals for state machine	wire       go;	reg  [2:0] dcnt;	wire       cnt_done;	//	// Module body	//	// hookup bit_controller	i2c_master_bit_ctrl bit_controller (		.clk     ( clk      ),		.rst     ( rst      ),		.nReset  ( nReset   ),		.ena     ( ena      ),		.clk_cnt ( clk_cnt  ),		.cmd     ( core_cmd ),		.cmd_ack ( core_ack ),		.busy    ( i2c_busy ),		.al      ( i2c_al   ),		.din     ( core_txd ),		.dout    ( core_rxd ),		.scl_i   ( scl_i    ),		.scl_o   ( scl_o    ),		.scl_oen ( scl_oen  ),		.sda_i   ( sda_i    ),		.sda_o   ( sda_o    ),		.sda_oen ( sda_oen  )	);	// generate go-signal	assign go = (read | write | stop) & ~cmd_ack;	// assign dout output to shift-register	assign dout = sr;	// generate shift register	always @(posedge clk or negedge nReset)	  if (!nReset)	    sr <= #1 8'h0;	  else if (rst)	    sr <= #1 8'h0;	  else if (ld)	    sr <= #1 din;	  else if (shift)	    sr <= #1 {sr[6:0], core_rxd};	// generate counter	always @(posedge clk or negedge nReset)	  if (!nReset)	    dcnt <= #1 3'h0;	  else if (rst)	    dcnt <= #1 3'h0;	  else if (ld)	    dcnt <= #1 3'h7;	  else if (shift)	    dcnt <= #1 dcnt - 3'h1;	assign cnt_done = ~(|dcnt);	//	// state machine	//	reg [4:0] c_state; // synopsis enum_state	always @(posedge clk or negedge nReset)	  if (!nReset)	    begin	        core_cmd <= #1 `I2C_CMD_NOP;	        core_txd <= #1 1'b0;	        shift    <= #1 1'b0;	        ld       <= #1 1'b0;	        cmd_ack  <= #1 1'b0;	        c_state  <= #1 ST_IDLE;	        ack_out  <= #1 1'b0;	    end	  else if (rst | i2c_al)	   begin	       core_cmd <= #1 `I2C_CMD_NOP;	       core_txd <= #1 1'b0;	       shift    <= #1 1'b0;	       ld       <= #1 1'b0;	       cmd_ack  <= #1 1'b0;	       c_state  <= #1 ST_IDLE;	       ack_out  <= #1 1'b0;	   end	else	  begin	      // initially reset all signals	      core_txd <= #1 sr[7];	      shift    <= #1 1'b0;	      ld       <= #1 1'b0;	      cmd_ack  <= #1 1'b0;	      case (c_state) // synopsis full_case parallel_case	        ST_IDLE:	          if (go)	            begin	                if (start)	                  begin	                      c_state  <= #1 ST_START;	                      core_cmd <= #1 `I2C_CMD_START;	                  end	                else if (read)	                  begin	                      c_state  <= #1 ST_READ;	                      core_cmd <= #1 `I2C_CMD_READ;	                  end	                else if (write)	                  begin	                      c_state  <= #1 ST_WRITE;	                      core_cmd <= #1 `I2C_CMD_WRITE;	                  end	                else // stop	                  begin	                      c_state  <= #1 ST_STOP;	                      core_cmd <= #1 `I2C_CMD_STOP;	                      // generate command acknowledge signal	                      cmd_ack  <= #1 1'b1;	                  end	                ld <= #1 1'b1;	            end	        ST_START:	          if (core_ack)	            begin	                if (read)	                  begin	                      c_state  <= #1 ST_READ;	                      core_cmd <= #1 `I2C_CMD_READ;	                  end	                else	                  begin	                      c_state  <= #1 ST_WRITE;	                      core_cmd <= #1 `I2C_CMD_WRITE;	                  end	                ld <= #1 1'b1;	            end	        ST_WRITE:	          if (core_ack)	            if (cnt_done)	              begin	                  c_state  <= #1 ST_ACK;	                  core_cmd <= #1 `I2C_CMD_READ;	              end	            else	              begin	                  c_state  <= #1 ST_WRITE;       // stay in same state	                  core_cmd <= #1 `I2C_CMD_WRITE; // write next bit	                  shift    <= #1 1'b1;	              end	        ST_READ:	          if (core_ack)	            begin	                if (cnt_done)	                  begin	                      c_state  <= #1 ST_ACK;	                      core_cmd <= #1 `I2C_CMD_WRITE;	                  end	                else	                  begin	                      c_state  <= #1 ST_READ;       // stay in same state	                      core_cmd <= #1 `I2C_CMD_READ; // read next bit	                  end	                shift    <= #1 1'b1;	                core_txd <= #1 ack_in;	            end	        ST_ACK:	          if (core_ack)	            begin	               if (stop)	                 begin	                     c_state  <= #1 ST_STOP;	                     core_cmd <= #1 `I2C_CMD_STOP;	                 end	               else	                 begin	                     c_state  <= #1 ST_IDLE;	                     core_cmd <= #1 `I2C_CMD_NOP;	                 end	                 // assign ack_out output to bit_controller_rxd (contains last received bit)	                 ack_out <= #1 core_rxd;	                 // generate command acknowledge signal	                 cmd_ack  <= #1 1'b1;	                 core_txd <= #1 1'b1;	             end	           else	             core_txd <= #1 ack_in;	        ST_STOP:	          if (core_ack)	            begin	                c_state  <= #1 ST_IDLE;	                core_cmd <= #1 `I2C_CMD_NOP;	            end	      endcase	  endendmodule

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品国产福利| 成人深夜福利app| 一区二区三国产精华液| 欧美电影免费观看高清完整版在 | 国产欧美精品一区二区色综合朱莉 | 天天色 色综合| 亚洲欧美日韩电影| 亚洲国产成人一区二区三区| 91精品国产手机| 欧美三级电影一区| 欧洲色大大久久| 色噜噜久久综合| 99久久777色| 亚洲女人的天堂| 国产精品久久影院| 亚洲精品在线三区| 99视频在线精品| 国产成人综合在线观看| 国产一区二区三区免费播放| 首页亚洲欧美制服丝腿| 亚洲v日本v欧美v久久精品| 国产精品久久久久久久久晋中 | 欧美日韩一区二区电影| 99精品久久免费看蜜臀剧情介绍| 久久狠狠亚洲综合| 蜜芽一区二区三区| 亚洲午夜精品17c| 亚洲影视在线观看| 亚洲风情在线资源站| 亚洲综合小说图片| 精品久久久久一区| 久久影视一区二区| 国产精品一区二区黑丝| 国产盗摄女厕一区二区三区 | 一本在线高清不卡dvd| 色综合天天综合网天天狠天天| 99久久亚洲一区二区三区青草 | 欧美日韩精品一区二区| 制服丝袜亚洲色图| 久久蜜桃av一区精品变态类天堂| 国产午夜精品在线观看| 国产精品色呦呦| 亚洲欧美日韩电影| 日韩高清一区在线| 国产成人精品网址| 色综合久久九月婷婷色综合| 555夜色666亚洲国产免| 久久精品亚洲国产奇米99| 亚洲欧洲性图库| a级高清视频欧美日韩| 亚洲乱码中文字幕| 亚洲欧美一区二区三区国产精品| 日韩精品福利网| 亚洲午夜精品网| 精品一区二区三区久久| 欧美日本韩国一区| 亚洲一区自拍偷拍| 99久久精品国产一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 亚洲国产aⅴ成人精品无吗| 欧美aaaaa成人免费观看视频| 激情文学综合丁香| 69av一区二区三区| 国产精品免费视频网站| 天天综合日日夜夜精品| 高清不卡一二三区| 91精品国产综合久久国产大片| 9i看片成人免费高清| 7777精品伊人久久久大香线蕉超级流畅| 久久精品夜色噜噜亚洲aⅴ| 久久青草欧美一区二区三区| 精品国产一区二区亚洲人成毛片| 一区二区国产盗摄色噜噜| 国产在线精品一区二区| 精品婷婷伊人一区三区三| 国产精品久久久久久久第一福利 | 日韩黄色免费网站| 欧美一二三四在线| 日韩不卡一区二区三区| 6080日韩午夜伦伦午夜伦| 亚洲一二三区在线观看| 91福利国产精品| 日本一区二区不卡视频| 久久99国产精品久久99果冻传媒| 91精品国产日韩91久久久久久| 亚洲一区二区三区国产| 色婷婷综合久久久中文字幕| 精品国产凹凸成av人网站| 香蕉成人伊视频在线观看| 欧美美女直播网站| 亚洲综合小说图片| 欧美一区二区视频免费观看| 麻豆成人免费电影| 国产女人18毛片水真多成人如厕| 国产不卡视频一区二区三区| 亚洲欧洲色图综合| 91精品国产全国免费观看| 亚洲伦在线观看| 欧美日韩高清在线播放| 日韩av中文字幕一区二区| 欧美日韩一级二级| 亚洲你懂的在线视频| 7777女厕盗摄久久久| 国产精品综合一区二区三区| 最好看的中文字幕久久| 777午夜精品视频在线播放| 天天色天天爱天天射综合| 国产午夜精品久久| 欧美三级一区二区| 黄页视频在线91| 日韩精品一卡二卡三卡四卡无卡| 亚洲色图制服诱惑| 欧美激情在线一区二区三区| 欧美日韩国产首页| 欧洲精品视频在线观看| 国产乱对白刺激视频不卡| 日韩福利视频导航| 最新国产精品久久精品| 精品国产sm最大网站免费看| 91精品在线观看入口| 在线免费不卡视频| av在线播放成人| 国产麻豆午夜三级精品| 午夜精品视频在线观看| 亚洲欧洲三级电影| 国产精品免费人成网站| 欧美xxxx老人做受| 91精品国产手机| 色欧美片视频在线观看| 国产99久久久国产精品潘金| 日韩av不卡一区二区| 一区二区三区在线免费视频| 国产日韩欧美一区二区三区综合 | 欧美一区二区视频免费观看| 91污片在线观看| 成人黄色软件下载| 国产一区欧美一区| 国产美女视频一区| 久久国产婷婷国产香蕉| 午夜婷婷国产麻豆精品| 亚洲人成影院在线观看| 欧美videossexotv100| 日韩欧美高清dvd碟片| 日韩一区二区在线看| 日韩一区二区三区视频在线观看 | 国产精品入口麻豆九色| 精品国产91亚洲一区二区三区婷婷 | 懂色中文一区二区在线播放| 日韩美女久久久| 自拍偷拍欧美激情| 一区二区三区中文在线观看| 一区二区三区在线免费播放| 亚洲综合小说图片| 日韩成人dvd| 久久国产麻豆精品| 国产成人av电影在线观看| 国产高清不卡二三区| 国产 欧美在线| 成人黄页毛片网站| 色94色欧美sute亚洲线路一ni| 日本福利一区二区| 欧美久久免费观看| 久久亚洲一区二区三区明星换脸| 国产欧美精品在线观看| 亚洲综合成人网| 亚洲激情自拍视频| 麻豆精品新av中文字幕| 成人永久免费视频| 欧美日韩精品欧美日韩精品 | 国产精品久久三| 日本亚洲三级在线| 97超碰欧美中文字幕| 久久综合狠狠综合| 日韩欧美www| 香蕉加勒比综合久久| voyeur盗摄精品| 久久综合色一综合色88| 天堂一区二区在线免费观看| hitomi一区二区三区精品| 精品久久99ma| 日韩电影在线免费看| 色偷偷久久人人79超碰人人澡| 久久精品夜夜夜夜久久| 国产精品免费视频网站| 日韩电影在线一区二区三区| 亚洲视频一区二区在线观看| 亚洲裸体xxx| 国产成人av电影在线| 欧美日韩国产片| 国产精品传媒视频| 欧美a一区二区| www.欧美色图| 精品日韩欧美在线| 亚洲自拍偷拍综合| 国产盗摄女厕一区二区三区| 99国产精品久久久久久久久久 | 国产高清精品久久久久| 欧美精品久久久久久久多人混战| 中文字幕国产一区| 日本不卡视频在线观看|