verilog實現I2C通信的slave模塊源碼狀態機設位計可做I2C接口的仿真模型 - 免費下載

技術資料資源 文件大小:2 K

?? 資源詳細信息

文件格式
RAR
所屬分類
上傳用戶
上傳時間
文件大小
2 K
所需積分
2 積分
推薦指數
??? (3/5)

?? 溫馨提示:本資源由用戶 zhengtiantong 上傳分享,僅供學習交流使用。如有侵權,請聯系我們刪除。

資源簡介

verilog實現I2C通信的slave模塊源碼狀態機設位計可做I2C接口的仿真模型


//`timescale 1ns/1ps

module I2C_slv (

input [6:0] slv_id,

input       RESET,

input       scl_i,      //I2C clk

input       sda_i,      //I2C data in


input [7:0] I2C_RDDATA,

////////////////////////

output reg       sda_o,     //I2C data out


output reg       reg_w,     //reg write enable pulse (1T of scl_i)


output reg [7:0] I2C_ADDR,

output reg [7:0] I2C_DATA

);


  parameter ST_ADDR    = 4'd0;

  parameter ST_ACK     = 4'd1;


  parameter ST_WDATA1  = 4'd2;

  parameter ST_WACK1   = 4'd3;

  parameter ST_WDATA2  = 4'd4;

  parameter ST_WACK2   = 4'd5;

  parameter ST_WDATA3  = 4'd6;

  parameter ST_WACK3   = 4'd7;


  parameter ST_RDATA1  = 4'd8;

  parameter ST_RACK1   = 4'd9;


  parameter ST_IDLE    = 4'd15;

//---------------------------------------------------------------------------

// Signal Declaration

//---------------------------------------------------------------------------

  reg        i2c_start_n, i2c_stop_n;

  //wire       RESET_scl;

  wire       i2c_stp_n, i2c_RESET;


  reg [3:0]  i2c_cs, i2c_ns;

  reg [3:0]  cnt_bit;

  reg [7:0]  d_vec;

  reg        i2c_rd, i2c_ack;


  reg [7:0]  I2C_RDDATA_latch;


立即下載此資源

提示:下載后請用壓縮軟件解壓,推薦使用 WinRAR 或 7-Zip

資源說明

?? 下載說明

  • 下載需消耗 2積分
  • 24小時內重復下載不扣分
  • 支持斷點續傳
  • 資源永久有效

?? 使用說明

  • 下載后用解壓軟件解壓
  • 推薦 WinRAR 或 7-Zip
  • 如有密碼請查看說明
  • 解壓后即可使用

?? 積分獲取

  • 上傳資源獲得積分
  • 每日簽到免費領取
  • 邀請好友注冊獎勵
  • 查看詳情 →

相關標簽

點擊標簽查看更多相關資源:

相關資源推薦