2016-12-02 4 views
-1

Ich möchte eine MOORE FSM implementieren, die die Min und Max eines Arrays von 10 Elementen findet, indem sie 2 immer Blöcke verwendet, beide verwenden die gleichen Zustände, aber auf verschiedenen Hälften des Arrays. Funktioniert es, wenn ich die gleichen Zustandsnamen in beiden immer Blöcken verwende, aber mit verschiedenen Implementierungen (jede von ihnen betrifft unterschiedliche Register)?Moore Maschine, Verilog

+0

Nicht verstanden !! –

Antwort

0

Ja, es ist möglich. Wenn Sie es auf diese Weise tun, ist der Code vielleicht verständlicher, da Sie die Implementierung jedes Registers verstehen.

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 

nur sicherstellen, dass jedes Register nur an einem immer Block geändert wird.