经过网上的搜索及自己的实验,总结在Modelsim仿真中显示状态机名称的三种方法。下面以一个具体的实例进行讲解。
实例功能:引入状态机实现2分频,这里使用状态机完全只是为了说明如何在仿真中显示状态机名称。
状态转移图:
设计文件代码:
1 module fsm(
2 input clk,
3 input reset_n,
4 output reg clkout
5 );
6
7 parameter ONE = 2'b01,
8 ZERO = 2'b10;
9
10 reg [1:0]state;
11
12 always@(posedge clk or negedge reset_n)
13 if(!reset_n)begin
14 state <= ONE;
15 clkout <= 1'b1;
16 end
17 else begin
18 case(state)
19 ONE:begin
20 state <= ZERO;
21 clkout <= 1'b0;
22 end
23 ZERO:begin
24 state <= ONE;
25 clkout <= 1'b1;
26 end
27 endcase
28 end
29
30 endmodule
testbench文件代码: