IIC总线介绍及FPGA编程(六):inout类型双向信号实现

文摘   科技   2024-03-09 16:14   天津  


欢迎点击关注我




今天是一章扩展内容,非常重要。

为“IIC总线介绍及FPGA编程”的第六章“inout类型双向信号实现"讲解。


视频中文字内容:

这个S_sda_0i1o_s和S_sda_s是干啥的呢?这里就要先明确一件事情,就是模块的port中,不能出现inout型的信号。所有类似于SDA这样的双向信号都要在模块的port中拆开,拆成一个in、一个out、外加一个方向控制端。也就是这样的:

这个是为啥呢?我们看quartus中的双向信号实现的示例程序:

看下这样写出来的RTL是什么:


引用:https://zhuanlan.zhihu.com/p/393887105 下面再看下字节写,字节写里包含了ack的判断:


那么,这个S_sda_s和S_sda_w、S_sda_0i1o_s和S_sda_0i1o_w都是在自己状态机里控制的,这个怎么传到最终总的流程控制上呢?

结合下面的程序,就能实现把每个子状态机的控制传到上层模块了。

看下RTL:





欢迎点击“点赞、收藏、在看”,分享给更多人看到


往期文章

交流群:

联系我可以加我微信ykdwdd,或者扫描下方二维码。

乌拉大喵喵
建立了飞腾爱好者技术交流群,公众号文章扫码进群,或私信加vx进群。
 最新文章