lcytms 发表于 2017-4-21 17:34:44

1143
        编写代码。Ctrl+S、Ctrl+K。出现错误,将clk改为clk_in。

lcytms 发表于 2017-4-21 17:37:12

1144
        clk_in是唯一一个没有被引用。
        我们只有它,所以说会生成寄存器。
        下面我们写它的验证。
        新建verilog文件,另存为divider_fam1s_mealy_tb.v。

lcytms 发表于 2017-4-21 17:38:30

1145
        编写仿真代码。

lcytms 发表于 2017-4-21 17:40:04

1146
        编写仿真代码。
        #200.1置位,为什么要加小数点?
        以后我们再解释。
        现在只是告诉大家,这个信号是在时钟上升沿的右侧出现的,多少不重要。
        我们告诉它是在右侧。
        Ctrl+S、Ctrl+K。

lcytms 发表于 2017-4-25 09:17:31

1147
        做仿真设置。

lcytms 发表于 2017-7-31 20:01:24

1148
        运行仿真。
        高3低2。
        当然我们也可以现场定制,我们在testbench上重新定制一下。
        高7低5吧。

lcytms 发表于 2017-7-31 20:03:50

1149
        我这边Ctrl+S即可。
        然后呢,我回到modelsim,仿真上,把library里的work打开,再编译tb文件。
        在transcript里检查一下没有错误。
        依次按下restart、run –all两个按钮。
        高7低5。
        这是非常精确的。
        得到了我们的设计。

lcytms 发表于 2017-7-31 20:06:14

1150
        现在我就来举一个例子,两段怎么做。
        现在做的是一段式的编码,用的相同的图。
        我们知道这张图是不支持ON的。
        CN是支持的。
        我们先看看,为什么会变成两段不支持?
        就用这张图来做它的两段。
        我们强制就用这张图来做两段。
        现在我们已经知道,它不能做。
        但是我们仍然用它强制地来做,试试看。
        我把它另存为divider_fsm2s_mealy.v。
        设置为顶层。
        注释掉原来1s的代码。

lcytms 发表于 2017-7-31 20:07:55

1151
        修改代码。
        1/2是CN,闭节点。

lcytms 发表于 2017-7-31 20:09:08

1152
        修改代码。
        当前状态current_state用非阻塞得到next_state。
页: 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22
查看完整版本: 跟李凡老师学FPGA之D04:有限状态机设计(20160426课堂笔记)