Brauchen Sie auf die Kombination zweier Prozesse in VHDL-Hilfe

D

Digit0001

Guest
Hallo Kann mir jemand empfehlen, wie würde ich den folgenden Code in einem Vorgang? Der Code besteht aus einem Zähler und einem State-Maschine, die ich als einen Prozess machen wollen gemacht. Das Problem, das ich im Moment mit der Zählung wird nicht funktionieren, weil es Konflikte, damit ich es in einem Prozess machen wollen.
Code:
 Architektur Verhaltenswissenschaften der pulseDesign ist der Typ StateType ist (LowState, HighState), Signal nextState, Stand: StateType, Signal zählen: std_logic_vector (3 downto 0); beginnen --------------- ------------------------------ - Counter-Prozess (clk, reset, count) beginnen, wenn (rising_edge (clk)) dann Staat
 
Überlegen Sie, was Sie tun. Die Konflikte treten nur weil man versucht, zählen aus 2 verschiedenen Orten zuordnen sind. Sie müssen sich über die Logik zu denken. Man kann nicht zählen in der asynchronen Prozess, weil es nur das ist - asynchrnous. grundsätzlich für einen einzigen Prozess Zustandsmaschine:
Code:
-Prozess (CLK, Reset) - nur Takt-und Reset in fühlend Liste benötigt beginnen, wenn reset = '1 'dann zählen
 
Hallo, immer beginnen @ (posedge clk) begin if (Reset) zählen
 
Sie auf dem Laufenden Verilog in einem Thread über VHDL!
 
Ich habe ein Problem, wenn ich den Code simulieren. Der geänderte Code nicht verändert Staaten und der Zähler zählt nicht. Dies ist der Code habe ich: View attachment 55075 Dies beinhaltet, was ich im Simulator und Umsetzung haben.
 
dont Dimension Staat in der Empfindlichkeit Liste, wenn LowState => temp if (Puls = '1 '), dann zählen zutreffen Signale an den neg. Flanke des Taktes
 
Die Temp wird verwendet, um die letzten Zählung Wert zu speichern. Der Zweck ist, weil ich bin Messung der Periode der Impulsbreite.
 

Welcome to EDABoard.com

Sponsor

Back
Top