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

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

?? eeprom.v

?? Verilog HDL 入門教程
?? 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免费| 国产一区二区三区观看| www.色精品| 2020国产精品| 麻豆精品视频在线| 白白色亚洲国产精品| 日韩欧美综合在线| 亚洲一区二区三区精品在线| 国产一区二区三区蝌蚪| 精品视频资源站| 中文字幕在线不卡国产视频| 日本欧美一区二区三区乱码| 色综合久久天天| 国产精品麻豆99久久久久久| 日本vs亚洲vs韩国一区三区二区| 99精品视频在线观看免费| 国产欧美一区二区在线观看| 免费成人在线播放| 91精品国产综合久久精品麻豆 | 国产精品资源网| 欧美成人猛片aaaaaaa| 一区二区激情视频| 91久久精品一区二区| 亚洲色图欧美激情| 日本韩国一区二区三区视频| 成人免费在线播放视频| 国产精品综合二区| 国产精品热久久久久夜色精品三区| 国产精品18久久久久| 久久精品一级爱片| 成人爽a毛片一区二区免费| 国产精品欧美精品| 大美女一区二区三区| 亚洲男人的天堂网| 欧美人xxxx| 久久国产精品露脸对白| 欧美激情一区二区三区蜜桃视频| 国产福利一区二区三区视频在线 | 欧美精品第1页| 日本成人在线网站| 久久久久九九视频| 欧美电影在哪看比较好| 蜜桃视频在线一区| 久久午夜电影网| 国产成人在线视频网址| 亚洲一区二区三区影院| 国产欧美1区2区3区| 日韩三级中文字幕| 91福利资源站| 高清在线成人网| 乱中年女人伦av一区二区| 亚洲欧美日韩国产另类专区 | 在线观看欧美黄色| 国产福利一区在线观看| 日韩中文字幕不卡| 亚洲欧美日韩电影| 亚洲国产激情av| 精品国产电影一区二区| 欧美中文字幕一二三区视频| jvid福利写真一区二区三区| 国产二区国产一区在线观看| 蜜臂av日日欢夜夜爽一区| 一区二区三区成人| 一区二区中文字幕在线| 国产精品色婷婷久久58| 国产精品久久毛片av大全日韩| 久久久久成人黄色影片| 精品国产污污免费网站入口| 精品视频免费看| 日韩免费观看高清完整版在线观看| 欧美日本视频在线| 91精品国产综合久久香蕉麻豆| 欧美日韩卡一卡二| 欧美日韩在线电影| 欧美日韩亚洲高清一区二区| 91浏览器打开| 6080yy午夜一二三区久久| 欧美日韩精品一区视频| 日韩一区二区三| 精品动漫一区二区三区在线观看| 国产午夜一区二区三区| 懂色av中文一区二区三区| 成人av一区二区三区| 99久久精品国产一区| 色成年激情久久综合| 欧美日韩免费高清一区色橹橹| 6080国产精品一区二区| 精品国产露脸精彩对白| 国产欧美日韩亚州综合 | 日韩理论在线观看| 亚洲第四色夜色| 精油按摩中文字幕久久| 国产精品影视网| 欧美日韩亚洲不卡| 精品国产一区二区在线观看| 亚洲人成伊人成综合网小说| 日本不卡不码高清免费观看| 国产成人av一区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 日本韩国欧美国产| 欧美日本在线一区| 国产精品色呦呦| 青娱乐精品视频在线| 成人国产精品视频| 欧美一级一级性生活免费录像| 国产欧美精品一区二区三区四区| 一区二区三区在线免费| 精品在线观看视频| 欧美美女喷水视频| 亚洲视频在线观看三级| 国产美女av一区二区三区| 欧美日韩另类一区| 亚洲黄色av一区| 91年精品国产| 欧美激情一区在线| 国产一区二区三区在线观看免费视频| 国产精品国产a| 日本欧美一区二区三区乱码| 久久成人免费网站| 日本韩国精品在线| 亚洲一区二区三区中文字幕在线 | 欧美日韩另类一区| 日韩中文字幕不卡| 日韩一级黄色大片| 国产成人综合在线播放| 国产精品久久免费看| 成人性生交大合| 中文字幕中文字幕中文字幕亚洲无线| 韩国av一区二区| 国产三级欧美三级日产三级99| 国产精品亚洲一区二区三区妖精| 久久精品一区二区三区av| 波多野结衣中文一区| 亚洲成人av一区二区| 欧美性受xxxx黑人xyx性爽| 天天操天天干天天综合网| 欧美亚一区二区| 亚洲福利一区二区三区| 欧美三级蜜桃2在线观看| 日韩电影免费在线观看网站| 久久久精品天堂| 在线观看区一区二| 玖玖九九国产精品| 国产精品不卡在线观看| 欧美日韩夫妻久久| 国产精品69久久久久水密桃| 亚洲欧美韩国综合色| 精品福利二区三区| 国产99久久精品| 午夜精品久久久久久不卡8050| 久久日一线二线三线suv| 一本到一区二区三区| 国产一区二区伦理| 亚洲国产精品一区二区久久恐怖片 | 亚洲成人av一区| 国产精品剧情在线亚洲| 91麻豆精品国产| 成人高清视频免费观看| 精品一区二区免费| 国产欧美视频一区二区| 欧美不卡在线视频| 7777精品伊人久久久大香线蕉超级流畅| 精品一区二区成人精品| 亚洲国产欧美在线| 亚洲日本在线a| 国产精品成人网| 中文欧美字幕免费| 欧美精品一区二区三区视频| 欧美性一二三区| 92精品国产成人观看免费| 97久久超碰国产精品| 国产·精品毛片| 国产成人av电影在线观看| 高清不卡在线观看av| 91小视频在线免费看| 色婷婷国产精品综合在线观看| 国产在线看一区| 毛片av中文字幕一区二区| 免费精品99久久国产综合精品| 亚洲国产美女搞黄色| 日韩av一级片| 丝袜亚洲另类丝袜在线| 日韩激情av在线| 久热成人在线视频| 精品无码三级在线观看视频| 激情综合色综合久久| 国产真实乱对白精彩久久| 老司机精品视频导航| 国产精品一级二级三级| 成人h版在线观看| 91视频在线观看免费| 欧美日韩精品二区第二页| 欧美v日韩v国产v| 国产精品网友自拍| 国产精品不卡视频| 亚洲成人av福利| 久久99精品久久久久久国产越南 | 色香蕉久久蜜桃| 日韩一级高清毛片|