lcytms 发表于 2018-9-12 09:18:59

1141
        并且给出首发的beginbursttransfer。
        但是第二拍的时候,从机右侧逼近,将waitrequest拉高。
        因此在第三拍,主机捕获到了waitrequest为高电平。
        它的第二拍发的B主机的A1地址,可以保持住。
        除了首发的beginbursttransfer,读命令也保持住。
        一直保持到第四拍。
        主机捕获到了waitrequest为低电平,知道从机已经响应了第二拍发的A1地址。
        于是,它可以将读命令撤掉,地址可以撤掉。
        Don’t care。
        不用管了。

fpga_feixiang 发表于 2018-9-12 15:17:27

顶~~~~~~~~~~~~~~~~~~~~~~~~~~

wood帅哥 发表于 2018-9-12 22:02:30

非常有用,感谢持续分享

fpga_feixiang 发表于 2018-9-13 14:46:39

顶~~~~~~~~~~~~~~

lcytms 发表于 2018-9-14 09:16:53

1142
        之后呢,由于我们要求突发读的时候,要有一个车管所业务。
        所以说在第三拍,从机发出了readdatavalid,第一次将readdatavalid拉高,发出第一个数。
        由于主机A要读4个数,第一次捕获在第4拍,第一次捕获到readdata为高电平,知道是A0的地址的4个数里面的第一个数,A0到了。
        在第五拍,第二次捕获到了readdata为高电平,知道是A0的第二个数到了。
        之后,在第五拍以后,这里有一个从机的readdatavalid叫停。
        从机可以选择叫停。
        接着再第三次捕获到了readdata为高电平,是A0+2,是A0的第三个数到了。

lcytms 发表于 2018-9-14 09:17:46

1143
        之后是A0+3,是A0的第四个数到了,第四次捕获到了readdata为高电平。
        再往后面是readdata为高电平,应该是什么?
        前一个突发的4已经结束了,是后面突发的主机B的A1地址的突发的2个数的第一个数,A1到了。
        A1的第一个数到了,接着再下面,是第六次捕获到了readdatavalid为高电平,知道是A1地址的第二个数到了。
        A1+1这个数到了。
        是连续有这么一个过程。
        在突发读这个过程之中,我们也总结一下,进入突发,仍然是用主从,是用读和waitrequest来互相控制。
        主机是用读命令来进入突发的序列,突发的transfer,从机是用waitrequest来叫停主机,这个没有问题。

lcytms 发表于 2018-9-14 09:18:39

1144
        可是一旦进入突发序列了以后,这个时候,主机是没有叫停权力的,而从机可以叫停,从机可以用readdatavalid来叫停。
        主机只能静静地接受。
        主机一旦进入突发序列以后,主机是没有任何权利的,主机只能跟readdatavalid来握手,只能响应从机的叫停权利。
        进入突发读以后,从机说停就停,说走就走,而主机只能静静地接受。
        之所以选择这种规则,这是有有它的根据的,因为做突发读的时候,是连续地读突发数据。
        如果主机选择了做突发读,发出了做突发读的命令的时候,主机就应该有这种能力,它能够接收数据了。
        所以说这个时候,主机是不能走的,它只能等待readdatavalid为高电平,并且一拍一拍地数着。

Sunlife 发表于 2018-9-14 16:43:05

                  回复学习

lcytms 发表于 2018-9-15 09:17:19

1145
        注意,这是它的非常重要的一个区别。
        就是突发写的时候,进入突发读,进入突发写的过程,进入的这个阶段,都一样。
        都需要用waitrequest来握手。
        而进入之后却不一样。突发写的时候,主从都可以互相叫停,而一旦进入突发读以后,主机是不能停的。
        主机是没有叫停权力的,只有从机可以叫停。
        好,现在我们来写一下这个时序。
        写一下这个状态转移图。
        说到底,waitrequest就是从机它有没有响应主机的请求。
        Waitrequest为低电平的时候,说明它响应了你的请求。
        响应了请求,我才能把A1撤掉,或者停下来,或者发下一个数据。

lcytms 发表于 2018-9-15 09:18:22

1146
        全部是同步电路。
        可变潜伏期的流水线读,3和4之间,它有点类似于真实的物理信号,所以说在3的轴线上,主机捕获到的是低。
        这个时候就不要看同步电路的规则了。
页: 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25
查看完整版本: 跟李凡老师学FPGA本地接口设计:LIP基础(20170502课堂笔记)