lcytms
发表于 2017-8-14 00:07:04
1346
这就写完了外置计数器。
然后呢,我们写两段的2s1的部分。
2s1是闭节点,有时钟。
就像我们记下来的那张图,2s1得到的是cs。
lcytms
发表于 2017-8-14 00:07:57
1347
然后写2s2,开节点。
信号敏感表里面最简单有效就是填*号,简单就是一个*号,有效,它不会出错,如果自己写还可能打错字符,或遗漏信号。
这个时候我们可以按照状态转移图来做对应的叙述。
当然要考虑复位,负逻辑。
lcytms
发表于 2017-8-14 00:08:52
1348
这个时候用阻塞还是非阻塞?
对,它是电平了,用阻塞。
写case语句。
lcytms
发表于 2017-8-14 00:10:00
1349
Cs。
写s0。
在状态转移图上有EBD,EBD是讨论转移,NBD是讨论输出。
既有NBD,又有EBD。
先写哪个,后写哪个,都可以,这个在电路上它就形成并联的结构,物理上是同时执行的。
我选择先写NBD。
lcytms
发表于 2017-8-14 00:11:55
1350
Cnt_en,NBD就一行。
然后再写EBD。
减二的道理是显而易见,因为我们之前减一嘛,只有一个状态,现在多出来两个状态。
以后我们会讨论更精确的这种控制。
lcytms
发表于 2017-8-14 00:13:04
1351
是哪个state呢?
next_state。
然后写s1。
通过这个例子看得到,状态机的设计完全是一个有序的过程。
循序渐进的,非常严谨的一个过程。
lcytms
发表于 2017-8-14 00:13:42
1352
S1只有NBD,NBD两行,然后转移一行。
lcytms
发表于 2017-8-14 00:14:43
1353
然后写s2。
S2也是如此,既有NBD,也有EBD。
lcytms
发表于 2017-8-14 00:16:27
1354
然后写s3。
S2也是如此,分母两行,转移一行。
好,全部写完。
并且我们已经把它设为顶层了。
因为如果不把它设为顶层,层次化这个树上绝对找不到它。
lcytms
发表于 2017-8-14 00:17:26
1355
Ctrl+S、Ctrl+K。
clk_in、state打错了。
然后呢,我们写它的验证。