状态机编码仿真出问题?
时间:10-02
整理:3721RD
点击:
在用verilog写状态机的时候,为了程序的可读性,一般使用parameter来定义状态。例如,parameter Initial=3'b000, Detecting=3'b0001;我在用modelsim仿真时发现,状态总是不读,状态变化没有规律。后来发现不使用parameter来编码状态(直接写一堆数字表示状态),状态就正确了。想请问一下有经验的前辈,这是什么原因?是modelsim软件的原因还是程序的原因?
呃,不知道!不过为什么你要用Initial关键字做参数名呢,参数之类的我都喜欢用大写,还有后面的3'b0001真不爽,去掉一个零。
要不要試試system verilog的enum
我是这样定义的:parameter Initial=4‘b0000, Detecting=4'b0001; 是应该避免用Initial这个关键字,没注意。直接用数字表示状态是没错的,不管了,就用数字表示吧。
不会system verilog额,好高级。
