lcytms
发表于 2018-8-23 09:32:34
1023
现在我们来看这个,读写时序。
这里有一个读时序,有一个写时序。
读等待的周期是一拍,写的是两拍。
在标线1的位置上,主机发出读命令,发出了读的地址,从机并不需要用waitrequest,因为已经约定了读的等待周期是一拍。
读就是一拍。
但是这一拍是从什么时候算起呢?
这一拍要从单拍潜伏期来算起。
第一拍,主机发出的读命令,到第二拍从机接到这个读命令开始算起,是读的等待周期。
lcytms
发表于 2018-8-23 09:33:15
1024
这是一种分析的方法。
另外一种分析的方法就是,就是从第一拍,主机发出读命令,读等待周期是一拍,一拍以后,到第二拍,主机必须等待。
然后第二拍以后,到第三拍,是一个单拍潜伏期的传输的过程。
从第二拍开始,主机才响应这个过程,那么加上单拍潜伏期,就是传输潜伏期,这里有一个读等待的周期。
readWaitTime是一拍,加上一个传输潜伏期,总共是两拍。
从它的的主机发出读命令,到主机得到数据,有一个两拍的过程。
lcytms
发表于 2018-8-23 09:33:52
1025
那么,等待周期就是在1到2之间。
到第三拍,主机就可以将它的读命令撤销掉,并且捕获数据。
从第一到第三,中间两拍,我们已经说过了,是读等待周期,再加上一拍潜伏期,这是传输潜伏期。
所以说加起来是两拍。
从主机发出读命令,到主机可以撤销读命令,而得到数据,是读等待周期,加上传输潜伏期,两拍。
后面呢,是一个写的过程,是在第四拍的位置上。
第四拍,右侧逼近,主机发出写命令、写地址,写的等待周期是两拍。
lcytms
发表于 2018-8-23 09:34:39
1026
从第四拍开始,两拍以后,这是写等待,再加上一拍的传输潜伏期,总共是三拍。
三拍之后,主机可以把它的写命令撤销掉。
就是说,如果在第四拍的上升沿上,主机发出了写命令,右侧逼近。
两拍等待,一拍传输,加起来三拍。
三拍之后,主机可以把它的写命令撤销掉。
我们就认为这个数已经被写进去了。
从机已经响应了。
lcytms
发表于 2018-8-23 09:35:13
1027
接着主机可以主动地选择,要么再接着做读写,要么主机可以叫停。
我们绘制状态转移图,更有助于理解。
这一段控制时序非常重要,因为马上就要用到SDRAM地IP核,我们就知道IP核该怎么写了。
无论控制多复杂,无论是DDR3、DDR4也好,或者是PCIe也好,控制很复杂的,但是呢,IP核呢,商业化了。
你只要会用它的接口,你只要知道什么时候来捕获数据,什么时候发出你的叫停,即可。
对这个固定周期,我们是在第一拍的位置上,主机发出了地址和读命令。
lcytms
发表于 2018-8-23 09:36:07
1028
这个时候用的是读等待周期,是一拍,再加上传输潜伏期。
大鹏
发表于 2018-8-24 18:02:43
本地接口设计:LIP基础
lcytms
发表于 2018-8-25 09:23:08
1029
记得吗?
我们在同步电路的时候,让大家背的。
现在我们可以用着一张图来做s1。
lcytms
发表于 2018-8-25 09:25:35
1030
这个SA,就是读为1。
SA就是Signal Assert,然后呢,SD就是Signal Deassert。
在这张时序图上,是第一拍将读置为真,第三拍将读置为假。
Count清零。
宽度是两拍,2-1。
EBD。
lcytms
发表于 2018-8-25 09:26:42
1031
Count清零,然后将读清零。
这个是在第三拍发生的事。
然后我们看看从机。
我们绘出状态转移图就知道,主机和从机该如何进行对应的动作。