1147
一定要搞清楚,它是按真实信号来绘制的。
我们现在看突发写。
同样我们是绘制它的局部的。
在第一拍的时候,主机会发出地址1和beginbursttransfer、burstcount。
顶~~~~~~~~~~~~~~~~~~~~~
1148
发出地址1,我写成A1。
然后首发的beginbursttransfer。
1149
Burstcount,为4。
Write,为1。
写的时候当然要有地址。
Burstcount。
还要有writedata。
这是主机的,从机我不绘制了,从机相对简单一点。
第一拍,它就发出了waitrequest为高电平,它就拉高了。
这张图很重要,后面我们做SDRAM,我们做IP核,你就必须把状态转移图绘制出来。
你就知道什么时候要握手,无论是PCIe,还是DDR3,还是DDR4,只要把它掌握,都一样。
1150
所以说我们这个背景知识掌握了,很重要。
走遍天下都不怕,什么IP核我们都能用。
接着做什么?
接着是S1,主机要做什么?
1151
进入突发嘛,要握手。
Waitrequest为真的时候,它就等着。
在1和2之间的标线上,确实waitrequest是高电平。
然后waitrequest为低电平,这个应该是在时标线的第二拍上。
捕获到了从机发的waitrequest为低电平。
主机在这一拍上捕获到了waitrequest为低电平。
接着它会做什么呢?
1152
接着它可以将地址撤销掉,burstcount撤销掉。
但是write它要保留。
这个是突发写,和突发读不同。
突发写的时候呢,它的write信号仍然是有效的。
但是突发读的时候,一旦进入读突发期间,那个read信号是不用管的。
它就不起作用了。
这个write仍然起作用。
写突发的整个期间,write仍然是主机可以停。
用write来停。
所以说这边在时标线为2的位置上,主机做什么事情?
地址和burstcount。
S1,我们写一个NBD。
只要进入s1,这个信号一定撤销掉,beginbursttransfer。
顶~~~~~~~~~~~~~··
1153
一定为0。
我写成它的NBD。
S1,进入这个状态,一定把这个信号撤销掉。
因为我们现在画的1和2的中间,肯定会有这样一个半拍。
一旦waitrequest为假,那么首发的地址、burstcount就不用管了。
但是write还得要。
地址不用管。
Write要,加载第二个数。
1154
这时候主机任性,主机说走就走。
在突发期间,它觉得它可以走就走。
Write为真,加载第二个数。
这是在第二拍。
然后在第三拍,也是这样。
这边,状态转移图上,仍然得握手,waitrequest。
在做写突发期间,每一个写操作,主机都得握手从机,都应响应从机叫停的义务。
从机随时可以叫停。虽然时序图上,第二拍上没有停。
Waitrequest在之后第三拍上仍然是一个低电平。
