i2c slave 模块设计

目录

 

简介

结构图

iic_slave.v

 sync.v​

 wr_fsm.v

ram.v

必看


简介

首先就不啰嗦iic协议了,网上有不少资料都是叙述此协议的。

下面将是我本次设计的一些局部设计汇总,如果对读者有借鉴意义那最好,如果没有的话也无所谓,互相交流而已。(这是我早期的版本,注释比较少,代码编写比较混乱,读者自便)

希望读者发现问题可在下方留言,我会及时回答或者修改。

下面将会以图片为主。

  1. 结构图

 

i2c slave 模块设计_第1张图片 结构图
​​​

 

i2c slave 模块设计_第2张图片 master结构图

 

 

i2c slave 模块设计_第3张图片 slave结构图
​​​​​​

 

iic_slave.v

 i2c slave 模块设计_第4张图片

i2c slave 模块设计_第5张图片

i2c slave 模块设计_第6张图片

 sync.vi2c slave 模块设计_第7张图片

i2c slave 模块设计_第8张图片

 wr_fsm.v

i2c slave 模块设计_第9张图片

i2c slave 模块设计_第10张图片

i2c slave 模块设计_第11张图片

i2c slave 模块设计_第12张图片

i2c slave 模块设计_第13张图片

i2c slave 模块设计_第14张图片

i2c slave 模块设计_第15张图片

i2c slave 模块设计_第16张图片

i2c slave 模块设计_第17张图片

ram.v

i2c slave 模块设计_第18张图片

 

波形图

必看

 此设计还存在一些问题,后续有时间我会完善的。

在同步的时候我建议还是使用两个寄存器缓冲,而不是使用一个,使用多个更加的稳妥一些,我这个就是使用了较少的寄存器缓冲,所以波形中有问题。(我把这段字打个红色背景)。(是因为在边沿检测的时候无法确认信号是否同步还是异步所以在设计的时候还是使用双寄存器进行消除亚稳态)。

 

如果对读者你有帮助请点赞,投币(如果有这个窗口的话“滑稽脸”)收藏,一键三连。(此处恶搞)

本次总结结束。详细iic协议资料会随后总结。

https://blog.csdn.net/weixin_46163885/article/details/107170689

你可能感兴趣的:(Verilog,项目练习)