Assign 문은 순으로 가치를 창출하는 데 사용됩니다. 그리고 그것은 또한에서 사용됩니다 데이터 흐름 모델링 .
와이어 유형 또는 데이터 유형의 신호에는 지속적인 값 할당이 필요합니다. +5V 배터리가 전선의 한쪽 끝에 적용되는 한 전선의 다른 쪽 끝에 연결된 구성 요소는 필요한 전압을 얻습니다.
자바 데이터 구조
이 개념은 모든 연결 또는 기타 유사한 연결(데이터 유형)이 값을 사용하여 지속적으로 구동될 수 있는 할당 문에 의해 실현됩니다. 값은 상수이거나 신호 그룹으로 구성된 표현식일 수 있습니다.
통사론
할당 구문은 할당 키워드로 시작하고 그 뒤에 신호 이름이 옵니다. 신호 이름은 신호이거나 다른 신호망의 조합일 수 있습니다.
자바의 문자열 메소드에
그만큼 추진력 그리고 지연 선택 사항이며 실제 하드웨어로 합성하는 것보다 데이터 흐름 모델링에 주로 사용됩니다.
오른쪽의 신호는 평가되어 왼쪽의 네트 또는 네트의 표현에 할당됩니다.
assign = [drive_strength] [delay]
지연 값은 게이트 지연을 지정하는 데 유용하며 실제 하드웨어에서 타이밍 동작을 모델링하는 데 사용됩니다. 값은 네트에 평가된 값을 할당해야 하는 시기를 나타냅니다.
규칙
할당 문을 사용하는 동안 몇 가지 규칙을 따라야 합니다.
- LHS는 항상 스칼라, 벡터 또는 스칼라와 벡터 네트의 조합이어야 하지만 스칼라나 벡터 레지스터는 아니어야 합니다.
- RHS에는 스칼라 또는 벡터 레지스터와 함수 호출이 포함될 수 있습니다.
- RHS의 피연산자 값이 변경될 때마다 LHS가 새 값으로 업데이트됩니다.
- Assign 문은 연속 할당이라고도 합니다.
reg 변수 할당
우리는 운전하거나 배정할 수 없습니다 등록 reg 변수는 데이터를 저장할 수 있고 지속적으로 구동되지 않기 때문에 할당 문을 사용하여 변수를 입력하세요.
자바 차트
Reg 신호는 항상 및 초기와 같은 절차적 블록에서만 구동될 수 있습니다.
암시적 연속 할당
할당문을 사용하여 주어진 net에 어떤 값을 할당하는 경우 이를 할당문이라고 합니다. 명백한 과제
네트 동안 수행되어야 할 할당이 선언되면 이를 할당이라고 합니다. 절대적인 과제.
wire [1:0] a; assign a = x & y; // Explicit assignment wire [1:0] a = x & y; // Implicit assignment
조합논리설계
조합 게이트로 구성된 다음 디지털 회로와 해당 회로를 고려하십시오. Verilog 암호.
조합 논리에서는 값이 클록 에지에서 캡처되고 저장되는 플립플롭과 같은 순차 요소와 달리 출력을 유지하기 위해 입력이 지속적으로 구동되어야 합니다.
오른쪽 입력이 변경될 때마다 출력 o가 업데이트되므로 할당된 문은 목적을 충족합니다.
execvp
// This module takes four inputs and performs a Boolean // operation and assigns output to o. // logic is realized using assign statement. module combo (input a, b, c, d, output o); assign o = ~((a & b) | c ^ d); endmodule
하드웨어 회로도
설계 정교화 및 합성 후 조합 회로는 할당 문에 의해 모델링된 것과 동일한 방식으로 동작합니다.
RHS의 조합식이 참이 될 때마다 신호 o는 1이 됩니다.
마찬가지로, RHS가 거짓이면 o는 0이 됩니다. 동시에 입력이 X이기 때문에 출력 o는 0ns에서 10ns까지 X입니다.