IIC总线 Verilog FGPA模块实现 注释详尽 初学必备,实现了IIC读写EEPROM,已封装成模块,实例中为了testbench测试,将写入的数据变成了固定值,注释详尽,初学者也能明白,本人初学时编写,完整测试通过 /*** * clk50M : 50M输入时钟 * resetKey : 复位信号 * IIC_SDA : IIC数据接口 * IIC_SCL : IIC控制时钟接口 * RWSignal : 读写信号,读1,写0 * startSignal : 开始执行读命令信号,上升沿触发开始 * readLen : 需要读取的字节个数 * beginAddr : 开始读取的地址位置 * getNum : 当前对应地址获取到的字节值 * sendNum : 要写入的数据 * dpDataOkClk : 成功读处理完一个字节信息,读或写,将产生一个上升沿 */ //`MINCLK_DELAY产生一次计数,产生12次计数可以产生一次IIC_SCL信号的跳变 //50M/2/2/MINCLK_DELAY/12 = IIC_CLK `define MINCLK_DELAY 4'd5 `define EEPROM_ADDR 7'b1010000 `define SDA_SENDDATA 1'b1 `define SDA_GETDATA 1'b0 `define READE_DATASG 1'b1 `define WRITE_DATASG 1'b0 module IICTest0(clk50M, resetKey, IIC_SDA, RWSignal, startSignal, beginAddr, IIC_SCL, sendNum, getNum, dpDataOkClk);
1