?? 資源詳細信息
?? 溫馨提示:本資源由用戶 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;
立即下載此資源
資源說明
下載說明
- 下載需消耗 2積分
- 24小時內重復下載不扣分
- 支持斷點續傳
- 資源永久有效
使用說明
- 下載后用解壓軟件解壓
- 推薦 WinRAR 或 7-Zip
- 如有密碼請查看說明
- 解壓后即可使用
積分獲取
- 上傳資源獲得積分
- 每日簽到免費領取
- 邀請好友注冊獎勵
- 查看詳情 →