UVM & RTL/Verilog HDL

[Verilog HDL] CH6 연산자

Return 2022. 6. 14. 14:37

연산자(Operator)

산술(Arithmetic) 연산자 

 - 나누기와 나머지 연산자에서 두 번째 피연산자가 0인 경우, 결과값은 x가 된다. 

 - 나머지 연산자의 결과 값은 첫번재 피연산자의 부호를 따른다. 

산술연산의 예

논리 연산자 

논리 연산의 예

관계 연산자 

 - 두 피연산자의 비트 수가 다른 경우네는, 비트 수가 작은 피연산자의 MSB쪽에 이 채워져 비트 수가 큰 피연산자에 맞추어진 후, 관계를 판단함.

관계 연산자의 예

등가 연산자 

 - 두 피연산자의 비트 수가 다른 경우에는, 비트 수가 작은 피연산자의 MSB쪽에 0이 채워져 비트 수가 큰 피연산자에 맞추어진 후, 등가를 판단한다.

 등가 연산자의 예

조건 예

비트 논리 연산자 

비트 논리 연산의 예

축약 연산자

 - 단항(unary) 연산자 

 - 피연산자의 단위 비트들에 적용되어 단일 비트의 결과값을 생성

축약연산의 예

시프트 연산 

 - 논리 시프트 연산자 (<<, >>)

    - << : 좌측으로 시프트 후, 비어 있는 비트에 0을 채움 

    - >> : 우측으로 시프트 후, 비어 있는 비트에 0을 채움 

 - 산술 시프트 연산자(>>> , <<<)

    - <<< : 좌측으로 시프트 후, 비어 있는 비트에 0을 채움 

    - >>> : 우측으로 시프트 후, 비어 있는 비트에 피연산자의 MSB를 채운다. 

결합 연산의 예

 - 중괄호 { }에 의해 두 개 이상의 값들을 결합합니다. 

결합 연산자의 회로적 의미 

반복 연산자

 - {a{b}}의 형태로 표현 : b를 a회 반복 

조건 연산자 

 - expr1이 참으로 평가되면 expr2의 값이 좌변의 변수에 할당 

 - expr1이 거짓으로 평가되면 expr3의 값이 좌변의 변수에 할당 

조건 연산자의 예

게이트 수준 모델링 

 - 게이트 수준 모델링은 쉽게 알아보기 어렵고 수정하기 어렵습니다. 

 - 합성 후 생성된 게이트 수준 netlist를 볼 수 있는 정도면 됩니다. 

 - 실제 모델링에는 RTL수준을 사용합니다.