-1
我想實現一個冕FSM,通過使用2總是塊,兩者使用相同的狀態,但是,從陣列的不同半部發現10個元件的陣列的最小和最大。如果我在兩個塊中都使用相同的狀態名,但具有不同的實現方式(它們中的每一個影響不同的寄存器),它是否工作?摩爾機,Verilog的
我想實現一個冕FSM,通過使用2總是塊,兩者使用相同的狀態,但是,從陣列的不同半部發現10個元件的陣列的最小和最大。如果我在兩個塊中都使用相同的狀態名,但具有不同的實現方式(它們中的每一個影響不同的寄存器),它是否工作?摩爾機,Verilog的
是的,這是可能的。事實上,如果你這樣做,代碼可能會更容易理解,因爲你會理解每個寄存器的實現。
parameter S_START = 0,
S_DO_SOMETHING = 1,
S_DO_ANOTHER = 2,
S_END = 3
integer current_state = S_START;
always @ (posedge clk)
case (current_state):
// define state transitions
endcase
always @ (posedge clk)
case (current_state):
// modify a register according to state
end
always @ (posedge clk)
case (current_state):
// modify another register according to state
end
只要確保每個寄存器只在一個always塊中被修改。
不明白!! –