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
  • 如有密码请查看说明
  • 解压后即可使用

🎁 积分获取

  • 上传资源获得积分
  • 每日签到免费领取
  • 邀请好友注册奖励
  • 查看详情 →

相关标签

点击标签查看更多相关资源:

相关资源推荐