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。