본문 바로가기
language/Verilog

[verilog] >>, >>>, <<, <<< 연산자

by 파란하늘코더 2021. 1. 31.
반응형

verilog에서 사용하는 shift 연산자는 크게 >>, << 와 같은 논리 shift 연산자와

 

>>>, <<< 같은 산술 shift 연산자가 있습니다

 

두개가 어떻게 다른지는 아래의 예를 기준으로 설명 합니다

 

a = 5'b10100;
b = a <<< 2; //b == 5'b10000
c = a >>> 2; //c == 5'b11101
d = a << 2;  //d == 5'b10000
e = a >> 2;  //e == 5'b00101

stackoverflow에서 가저온 예시인데

 

간단히 말해서 >>>, <<<는 shift를 할 때 부호를 고려하면서 shift를 한다고 생각하면 되고(<<<는 그냥 0 붙이면서 부호도 밀어버림)

 

<<, >>은 그냥 0을 채우면서 shift한다고 생각을 하면 됩니다.

'language > Verilog' 카테고리의 다른 글

[verilog] system function list  (0) 2021.02.06
[systemverilog] enum 사용법  (0) 2021.02.02
[verilog] generate 사용하기  (0) 2021.01.31
[systemverilog] automatic keyword  (0) 2021.01.31
[systemverilog] task 와 function  (0) 2021.01.31

댓글