lcytms
发表于 2017-11-27 22:34:11
1341
(同学分享)。
2.4 状态转移表。
复位做什么?
这是一个线性序列机。
1S,cnt停在0上。
lcytms
发表于 2017-11-29 20:28:41
1342
(同学分享)。
2.4 状态转移表。
1S,Cnt就是状态。
cnt停在0上。
然后,有哪些信号呢?
有周期线号和非周期信号。
看一下TP图。
有读请求,这肯定是周期信号了。
复位的时候,写在deassert那一列。
Tf_rdreq肯定是假的。
lcytms
发表于 2017-11-29 20:30:11
1343
(同学分享)。
2.4 状态转移表。
Tf_rdreq=0。
后面还有ex_en,ex_en是周期信号,也应该是假的。
还有ep_en,ep_en是假的。
还有ser_en。
然后呢,mec_en不是。
你到上面看一下TP图。
mec_en是一直开着的。
写到非周期,mec_en=0。
lcytms
发表于 2017-11-29 20:45:43
1344
(同学分享)。
2.4 状态转移表。
复位以后肯定会回到0。
节拍就是0。
看看TP图的第0拍。
等什么信号?
等empty信号,tf_empty。
要握手,tf_empty。
所以说,要加上一个条件,这就是线性序列机它的触发条件。
带终止符运行的。
就是一个empty,只要非空就运行。
条件不要写if,用圆括弧。
lcytms
发表于 2017-12-7 10:17:47
1345
(同学分享)。
2.4 状态转移表。
非空就cnt=1。
然后在第0拍,要发什么信号?
是读请求。
读请求,它显然是握手嘛。
fpga_feixiang
发表于 2017-12-7 14:45:34
李老师很厉害~~~~~~~~~~~
lcytms
发表于 2017-12-8 09:48:56
1346
(同学分享)。
2.4 状态转移表。
非空就发出读请求。
周期信号。
下一拍,读请求tf_rdreq=0。
接着看,第一拍有什么动作?看红色的信号。
有ex_en。
lcytms
发表于 2017-12-8 09:50:25
1347
(同学分享)。
2.4 状态转移表。
写在assert。
Ex_en=1。
立即写它的deassert,下一拍。
状态机一样地写,线性序列机要清楚得多,要简洁得多。
然后呢,第二拍。
第二拍,有什么动作?
ep_en=1。
立即写它的deassert。
lcytms
发表于 2017-12-8 09:54:06
1348
(同学分享)。
2.4 状态转移表。
第三拍有什么动作?
有ser_en。
ser_en相当于是load。
也是周期信号,立即写它的deassert。
然后第四拍,cnt=5了。
lcytms
发表于 2017-12-8 09:56:07
1349
(同学分享)。
2.4 状态转移表。
第四拍,就有mec_en是开着的。
非周期,uncycle。mec_en=1。
它不需要做deassert,它一直开着。
然后呢,不需要写第五拍。
直接看TP图。
到第五拍,mec_en一直开着,状态机上没有别的动作。
mec_en一直开着,一直开到第77拍。