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打错了。
        然后呢,我们写它的验证。
页: 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23
查看完整版本: 跟李凡老师学FPGA之D04:有限状态机设计(20160426课堂笔记)