2017-05-23 3 views
0

Verilog에서 true 또는 false입니까? 혼합으로 무엇을 의미하는지 이해하지 못합니다. 작동하면 출력을 직접 변경합니까?동일한 블록에 차단 및 비 차단 할당을 혼합하지 마십시오.

+3

[this] (https://stackoverflow.com/questions/4653284/how-to-interpret-blocking-vs-non-blocking-assignments-in-verilog)의 가능한 복제본 질문입니다. –

+0

시뮬레이션에서도 작동하지만 합성 할 수 없습니다. – Laleh

+0

예 저는 그것이 합성이 아닌 합성과 관련이있을 것이라고 생각합니다. –

답변

2

규칙을 명확히해야합니다.

같은 변수을 동일한 블록 내에서 차단 및 비 차단 할당을 모두 할당하지 마십시오. 문제는 대개 비동기식 재설정을 설명 할 때 나타납니다. 즉 분실 그래서이 0으로 설정됩니다 후

always @(posedge clk or negedge rst) 
    if (!reset) 
    q = 0; 
    else 
    q < = d; 
두 이벤트가 동시에 발생하면

하지만 q<= dq=0 전에 처리됩니다, 다음 질문에 보류중인 업데이트가 있습니다. 다른 여러 가지 시나리오가 있습니다.