欢迎点击关注我
今天是一章扩展内容,非常重要。
为“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,或者扫描下方二维码。