2014-12-12 5 views
3

나는 단지의 Verilog를 배우기 시작하고 난 다른 소스에서이 세 줄을 보았다. 나는 3 가지의 차이에 대해 혼란 스럽다.할당 값 : 할당의 차이, <= 및 =

  1. c < = a & b;
  2. assign c = ~ a;
  3. c = 1'b0;

이 줄은 c에 값을 할당하는 것처럼 보이지만 그 차이점은 무엇입니까? 감사. 비 차단하고

답변

4

1) <=은 클럭마다 양의 에지에 대해 수행된다. 이들은 병렬로 평가되므로 순서를 보장하지 않습니다. 예를 들어 레지스터가 있습니다.

2) assign = 항상 외부 문의 유선으로 지정. RHS 값이 변경되면 LHS 값이 업데이트됩니다.

3) = 블로킹 할당 내에서 always 문은 순차적 순서를 적용합니다.

+1

는 I은 또한'또는'initial' always' 블록 내에서 사용되어야한다 ('=') 비 차단 ('<=') 및 차단 주목할 생각한다. – Morgan