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

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

?? eeprom.v

?? 夏宇聞老師優秀的verilog教程課件
?? V
字號:
/****************************************************************************
模塊名稱:EEPROM  文件名:eeprom.v
模塊功能:用于模擬真實的EEPROM(AT24C02/4/8/16) 的隨機讀寫的功能。對于符合
          AT24C02/4/8/16 要求的scl和sda 隨機讀/寫信號能根據I2C協議,分析
          其含義并進行相應的讀/寫操作。
模塊說明:本模塊為行為模塊,不可綜合為門級網表。而且本模塊為教學目的做了許
          多簡化,功能不完整,不能用做商業目的。
****************************************************************************/

`timescale 1ns/1ns
`define timeslice 100
module EEPROM(scl, sda);	 	
input  scl;    //串行時鐘線
inout  sda;    //串行數據線
reg out_flag;  //SDA數據輸出的控制信號
reg[7:0]  memory[2047:0];
reg[10:0] address; 
reg[7:0]  memory_buf;
reg[7:0]  sda_buf;   //SDA 數據輸出寄存器
reg[7:0]  shift;     //SDA 數據輸入寄存器
reg[7:0]  addr_byte; //EEPROM 存儲單元地址寄存器
reg[7:0]  ctrl_byte; //控制字寄存器
reg[1:0]  State;     //狀態寄存器
integer i;

//--------------------------------------------------------------
parameter 	  r7= 8'b10101111,w7= 8'b10101110,         //main7
      		  r6= 8'b10101101,w6= 8'b10101100,         //main6
 		      r5= 8'b10101011,w5= 8'b10101010,         //main5
		      r4= 8'b10101001,w4= 8'b10101000,         //main4
 		      r3= 8'b10100111,w3= 8'b10100110,         //main3
 		      r2= 8'b10100101,w2= 8'b10100100,         //main2
 		      r1= 8'b10100011,w1= 8'b10100010,         //main1
 		      r0= 8'b10100001,w0= 8'b10100000;         //main0
//--------------------------------------------------------------
assign sda = (out_flag == 1) ? sda_buf[7] : 1'bz; 

//----------寄存器和存儲器初始化---------
initial
  begin
    addr_byte     = 0;
    ctrl_byte     = 0; 
    out_flag      = 0;
    sda_buf       = 0;
    State         = 2'b00;
    memory_buf    = 0;
    address       = 0;
    shift         = 0;
    for(i=0;i<=2047;i=i+1)
      memory[i]=0;
  end
//------------ 啟動信號 -----------------------------
always @ (negedge sda)  
  if(scl == 1 )
    begin
      State = State + 1;
      if(State == 2'b11)
         disable write_to_eeprm;
    end

//------------ 主狀態機 --------------------------
always @(posedge sda)            
  if (scl == 1 )      //停止操作         
    stop_W_R;
  else 
    begin
     casex(State)
         2'b01:
   	         begin  
   	           read_in;
                   if(ctrl_byte==w7||ctrl_byte==w6||ctrl_byte==w5
                      ||ctrl_byte==w4||ctrl_byte==w3||ctrl_byte==w2
                      ||ctrl_byte==w1||ctrl_byte==w0)
	              begin
	                State = 2'b10;
	                write_to_eeprm;  //寫操作 
	               end
	           else
	             State = 2'b00;
	         end
	
         2'b11:    
               read_from_eeprm;      //讀操作            

     default:  
               State=2'b00;  
		   
   endcase
  end  //主狀態機結束

//------------- 操作停止------------------------------
task stop_W_R;
  begin
    State =2'b00;  //狀態返回為初始狀態
    addr_byte  = 0;
    ctrl_byte  = 0;
    out_flag  = 0;
    sda_buf   = 0;
  end
endtask

//------------- 讀進控制字和存儲單元地址 ------------------------
task  read_in;
  begin
    shift_in(ctrl_byte);
    shift_in(addr_byte);   
  end
endtask

//------------EEPROM 的寫操作---------------------------------------
task write_to_eeprm;
  begin
    shift_in(memory_buf);    
    address          = {ctrl_byte[3:1],addr_byte};
    memory[address]  = memory_buf;	
    $display("eeprm----memory[%0h]=%0h",address,memory[address]);   
    State =2'b00;             //回到0狀態
  end
endtask

//-----------EEPROM 的讀操作----------------------------------------
task read_from_eeprm;
  begin 
    shift_in(ctrl_byte);
    if(ctrl_byte==r7||ctrl_byte==r6||ctrl_byte==r5||ctrl_byte==r4
       ||ctrl_byte==r3||ctrl_byte==r2||ctrl_byte==r1||ctrl_byte==r0)
      begin
        address = {ctrl_byte[3:1],addr_byte};		
	     sda_buf = memory[address];
	     shift_out;
	     State= 2'b00;
      end
  end	   
endtask   
 	   
//-----SDA 數據線上的數據存入寄存器,數據在SCL的高電平有效-------------
task shift_in;
 output [7:0] shift; 
  begin
     @ (posedge  scl) shift[7] = sda;  
     @ (posedge  scl) shift[6] = sda;
     @ (posedge  scl) shift[5] = sda;
     @ (posedge  scl) shift[4] = sda;
     @ (posedge  scl) shift[3] = sda; 
     @ (posedge  scl) shift[2] = sda;
     @ (posedge  scl) shift[1] = sda;
     @ (posedge  scl) shift[0] = sda;
     @ (negedge scl)      
       begin 	
         #`timeslice ;
      	 out_flag = 1;     //應答信號輸出
          sda_buf  = 0;  
       end
     @(negedge scl)
        #`timeslice out_flag  = 0;  
  end
endtask

//----EEPROM 存儲器中的數據通過SDA 數據線輸出,數據在SCL 低電平時變化
task shift_out;
  begin
    out_flag = 1;
    for(i=6;i>=0;i=i-1)
      begin 
@ (negedge scl);
#`timeslice;
sda_buf = sda_buf<<1;
         end
    @(negedge scl)  #`timeslice sda_buf[7] = 1;  //非應答信號輸出
    @(negedge scl)  #`timeslice out_flag  = 0;  
  end
endtask	    
  endmodule
  //-------------------------------eeprom.v 文件結束----------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品免费一区二区三区| 日韩av成人高清| 成人综合日日夜夜| 久久久久久99久久久精品网站| 日韩精品一级中文字幕精品视频免费观看 | 美女久久久精品| 色香色香欲天天天影视综合网| 欧美国产日韩在线观看| 盗摄精品av一区二区三区| 亚洲精品一区二区三区在线观看| 日韩精品色哟哟| 欧美剧情片在线观看| 午夜精品福利一区二区三区av | 久久九九全国免费| 成人免费视频网站在线观看| 国产欧美日韩视频在线观看| 国产成人精品在线看| 日本一区二区三区电影| 成人免费视频网站在线观看| 国产精品对白交换视频| 波多野结衣在线一区| 国产欧美一区二区精品性| 国产风韵犹存在线视精品| 欧美国产激情二区三区| 成人app在线| 亚洲精品成人精品456| 欧美日韩国产小视频在线观看| 欧美96一区二区免费视频| 欧美群妇大交群中文字幕| 精品久久久久一区二区国产| 激情综合五月婷婷| 国产农村妇女精品| 91在线视频免费观看| 亚洲精选视频在线| 欧美一区二区三区在线视频| 国产在线播精品第三| 久久亚洲欧美国产精品乐播| 成人h版在线观看| 五月婷婷激情综合| 久久精品水蜜桃av综合天堂| 国产成人午夜视频| 国产欧美日韩不卡免费| 欧美色电影在线| 国产乱码精品一区二区三区av| 中文字幕一区二区三区不卡在线 | 五月天激情小说综合| 久久综合色8888| 欧美性三三影院| 粉嫩久久99精品久久久久久夜| 日本色综合中文字幕| 久久亚洲免费视频| 日本韩国欧美国产| 国产福利一区在线| 日产国产欧美视频一区精品| 国产精品福利一区| 精品少妇一区二区| 国产日韩欧美a| 色婷婷综合五月| 蜜臀av一级做a爰片久久| 中文字幕一区二区三区四区不卡| 欧美一区二区成人6969| 91麻豆免费视频| 国产麻豆视频一区二区| 天堂蜜桃一区二区三区| 最新高清无码专区| 精品国产三级a在线观看| 97se亚洲国产综合自在线不卡| 久久97超碰国产精品超碰| 亚洲精品免费视频| 中文字幕一区二区不卡| 久久久99精品久久| 欧美不卡激情三级在线观看| 成人欧美一区二区三区黑人麻豆| 538在线一区二区精品国产| 国v精品久久久网| 精东粉嫩av免费一区二区三区| 天天操天天综合网| 亚洲欧美激情小说另类| 国产欧美一区二区三区网站| 欧美日韩国产高清一区二区三区| 色综合天天狠狠| 波多野结衣中文字幕一区 | 国产成人在线网站| 麻豆精品一区二区三区| 日韩av不卡一区二区| 婷婷夜色潮精品综合在线| 一区二区三区在线视频免费| 国产精品久久久久久久久久久免费看| 日韩欧美一区在线| 91麻豆精品国产自产在线| 欧美影院一区二区| 欧美日韩另类国产亚洲欧美一级| 91成人免费网站| 久久久久久久久久久99999| 色94色欧美sute亚洲线路二| av成人免费在线观看| 成人99免费视频| a亚洲天堂av| 色嗨嗨av一区二区三区| 国产精品一区久久久久| 国产福利一区二区三区| 成人h精品动漫一区二区三区| 国产成人在线视频播放| 成人永久看片免费视频天堂| 成人福利视频在线看| av电影一区二区| 成人美女在线观看| 99久久99久久精品免费看蜜桃| 波多野结衣亚洲| 91黄色免费观看| 欧美日韩大陆一区二区| 欧美日韩另类国产亚洲欧美一级| 欧美精品久久一区二区三区 | 午夜免费欧美电影| 91在线免费看| 欧洲精品一区二区| 日韩欧美精品在线| 五月天视频一区| 日韩专区欧美专区| 青青草成人在线观看| 午夜精品久久一牛影视| 丝袜美腿亚洲一区二区图片| 美脚の诱脚舐め脚责91| 国产成人免费视| 在线观看国产精品网站| 91麻豆精品国产自产在线 | 亚洲精品写真福利| 午夜精品久久久| 国产麻豆视频精品| 日本韩国视频一区二区| 欧美一区中文字幕| 国产精品久久久久久久浪潮网站 | 国产精品1区2区3区| 丁香网亚洲国际| 日韩欧美国产一区二区三区| 国产精品久久久久久久久晋中| 久久se这里有精品| 欧美放荡的少妇| 亚洲欧美二区三区| 成人午夜激情在线| 久久女同精品一区二区| 青青草一区二区三区| 欧美日韩激情在线| 一区二区三区四区在线免费观看| 国产成人h网站| 日韩视频永久免费| 日韩高清不卡一区二区三区| 91国产福利在线| 亚洲欧美日韩系列| 91婷婷韩国欧美一区二区| 国产欧美一区二区精品婷婷| 国产永久精品大片wwwapp | 国产精品乱人伦中文| 蜜臀精品久久久久久蜜臀| 欧美日韩视频在线观看一区二区三区 | 91精品国产色综合久久ai换脸| 中文字幕精品一区二区精品绿巨人| 激情综合网天天干| 精品国产一区二区三区不卡| 看电视剧不卡顿的网站| 欧美岛国在线观看| 极品瑜伽女神91| 2020国产精品自拍| 国产一区二区成人久久免费影院| 26uuu亚洲综合色欧美| 精品无人区卡一卡二卡三乱码免费卡 | 从欧美一区二区三区| 欧美韩国日本综合| 成人性色生活片| 国产精品情趣视频| 91一区二区三区在线观看| 玉米视频成人免费看| 欧美日韩在线播放三区四区| 天天爽夜夜爽夜夜爽精品视频| 欧美精品久久99| 麻豆成人综合网| 久久精品夜色噜噜亚洲a∨| 国产不卡视频在线观看| 亚洲欧美在线视频| 91官网在线观看| 视频在线观看91| 欧美成人女星排名| 国产精品亚洲а∨天堂免在线| 国产精品美女久久久久aⅴ| 99精品国产热久久91蜜凸| 亚洲v中文字幕| 2019国产精品| 99久久精品国产导航| 亚洲成a人片在线观看中文| 欧美成人精品3d动漫h| 成人一区二区三区视频在线观看| 亚洲欧美另类在线| 欧美一级在线免费| gogo大胆日本视频一区| 五月婷婷综合激情| 国产色综合一区| 欧美日韩五月天| 国产精品一区二区在线观看不卡| 亚洲欧美日韩一区二区| 欧美一级久久久久久久大片|