|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
不论是Moore Machine还是Mealy Machine,都是有两个寄存器的,一个是当前状态(state),另一个是下一状态(nextstate)。
那么写Verilog代码的时候,可不可以直接用一个state呢?比如如下代码,这么写仿真能跑通,但是有什么问题吗?(这么写挺方便的啊)
- always @(posedge Clk)
- begin
- if(Rst)
- begin
- state <= 0;
- end
- else
- case(state)
- 3'b000: // To initialize Vmem, Calcium, EP, EN, IP, IN and counters
- begin
- do something
- state <= 3'b001;
- end
- 3'b001: // Inherent leakages of Vmem, EP, EN, IP, IN, C of this particular neuron
- begin
- state <= 3'b010;
- do something
- end
- 3'b010: // iterate 135 times to accumulate EP, EN and IP and IN
- begin
- if(cnt==135)
- begin
- cnt <= 1;
- state <= 3'b011;
- end
- else
- cnt <= cnt + 1;
- cnt_lsm <= 1;
- do something
- end
- 3'b011: // Finalize the membrane potential Vmem
- begin
- state <= 3'b100;
- do something
- end
- ......
- endcase
- end
复制代码 |
|