Verilog 문제

J

johnchau123

Guest
나는 프로그램을 작성 Verilog 오전 일부 문제가 발생했습니다.난 그냥 쓸 일이 다른 작은 시도 프로그램과 같은 오류가.그 이유를 알고 싶습니다.

여기에 프로그램의 내.

ABC는 모듈 (입력 CLK, 입력 시작, 중간 입력, 출력 [3시] endkj);

nextstate, 레지 [이 1시] 상태;
endk] reg [이 3시;

매개 변수 S0 = 2'b00, S1 = 2'b01, S2 = 2'b10;

항상 @ (주 또는 시작하거나 중간)
시작
케이스 (주)
S0는 : 시작
) 만약 (시작 == 0
endk = endk 1;
다른 사람
endk = endk - 1;
nextstate <= S1;

S1가 : 시작
면 (중간)
endk = endk 3;
다른 사람
endk = endk;
)하는 경우 (endk> 2
S0을 nextstate <=;
다른 사람
S2를 nextstate <=;

S2는 : 시작
S0을 nextstate <=;

endcase


항상 @ (posedge CLK)
시작
주 <= nextstate;

endmodule프로그램의 컴파일에서, 그것은 endk하는 말이 거기에 대한 래치 유추.나는이 문제를 해결하는 것이 같은 방법 알잖아.

감사합니다.
남자

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="미소" border="0" />
 
Inferring이 문제를 래치 반드시 있어야하지만 경우에이, 표현과 endk 산술 가장 가능성있는 행동을 의도하지 원인.

당신은 항상 블록 출력과 내부 asynchronouos 신호를 할당할 수 있지만 여기에 다운되거나 수 없습니다 exepect까지 올바른 결과를 계산.사실, 난 endk를 세지 위해 조건없는 의도한대로 정확하게 뭐가 이해합니다.

know it?

그것은 알고 있죠 당신은?어쨌든 카운트 조치 카운터 synchronouos을 @해야 될 수행 미만 (추론에 조건을 posedge CLK).

 

Welcome to EDABoard.com

Sponsor

Back
Top