0929
这个你要等done。
你这个已经发出了清除命令。
是这个条件有问题。
0930
你是这样写的。
Start为假,或者clear为假。
有一个是真就在这。
现在你必须要两者同时为真,怎么可能呢?
所以这个条件上你有问题。
我稍微给你修改一下。
S1上有3个转移,有start的转移,有清除的转移,没有start没有清除。
0931
这样写就可以嘛。
优先start嘛。
最后else。
优先权的问题。
0932
这样你才能进来嘛。
进了清除,转到s14。
否则它永远不会转,永远在s1上,当然就没有。
一直在s1上。
条件做错了。
Tb也要改,这个没有done。
我先把它关掉,看能不能进清除。
0933
Library标签页下重新编译这两个文件。
编译通过。
重新运行仿真。
等到上电结束。
这就进来了,这就在清了。
这就对了。
我再回到testbench。
再给你搬一下。
搬应该等done。
0934
条件做错了嘛。
上升沿之后,等到done,#600就可以了。
做它的搬运。
0935
Library标签页下重新编译这个tb文件。
编译通过。
重新运行仿真。
先看local_init_done,等上电结束。
现在还是一条平线。
好,结束了。
这个过程是数据清的过程。
后面是做搬。
0936
因为它有数据在里面。
Dq,是16进制,abcd。
那么,这个时候,dqs跟它的关系是?
你现在写的是aaaa,bbbb。
如果你分开来写,你写abcd,你可以看得更清楚中心对齐的关系。
现在是同样的字,你看不见了。
这是写中心。
块清除都是写嘛。
然后这边是搬运。
现在我们看到的这张图,就是非常经典的现代的这种架构,现代的CPU、或者是手机里面的存储器,如果用示波器来看,应该看到的就是这样一个波形。
0937
然后搬。
搬的时候是先读边沿。
Dqs跟dq是边沿对齐。
我们是读突发四个字,然后再写突发四个字。
读边沿,写中心。
来看一下最后的done的过程。
这个里面好像还有点问题。
Done了以后,为什么这边还有动作?
done了以后就应该停下来了。
0938
我的停机的地方稍微长一点。
#2000吧。
Library标签页下重新编译这个tb文件。
编译通过。
重新运行仿真。
