-1
2つの常時ブロックを使用して10要素の配列の最小値と最大値を検出するMOORE FSMを実装したいと考えていますが、どちらも同じ状態を使用しますが、両方の常時ブロックで同じステート名を使用していますが、実装が異なると(それぞれ異なるレジスタに影響します)、動作しますか?Mooreマシン、Verilog
2つの常時ブロックを使用して10要素の配列の最小値と最大値を検出するMOORE FSMを実装したいと考えていますが、どちらも同じ状態を使用しますが、両方の常時ブロックで同じステート名を使用していますが、実装が異なると(それぞれ異なるレジスタに影響します)、動作しますか?Mooreマシン、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
ただ1つの常にブロックで各レジスタが変更されていることを確認してください。
わからない! –