What is this operator called as “+:” in Verilog
Verilog coding을 하다보면 “+:” 또는 “-:” 연산자를 자주 볼 수 있다. 이는 좌항의 값을 기준으로 우항의 값을 더하거나 뺀 값을 index value로 사용한다는 의미다. 예제는 아래와 같다.
logic [31: 0] a_vect; logic [0 :31] b_vect; logic [63: 0] dword; integer sel; a_vect[ 0 +: 8] // == a_vect[ 7 : 0] a_vect[15 -: 8] // == a_vect[15 : 8] b_vect[ 0 +: 8] // == b_vect[0 : 7] b_vect[15 -: 8] // == b_vect[8 :15] dword[8*sel +: 8] // variable part-select with fixed width