본문 바로가기

Language/Verilog & SV22

[Verilog] LHS, RHS LHS는 "Left-hand side" RHS는 "Right-hand side" ​ "왼쪽(오른쪽) 부분" "왼쪽(오른쪽) 부터", "왼쪽(오른쪽) 값", "왼쪽(오른쪽) 에 기술", "우선순위가 같을때 왼쪽(오른쪽) 순으로" 와 같은 설명에 주로 쓰입니다. LHS와 RHS 기본 개념 Verilog에서 LHS는 할당문의 왼쪽에 있는 표현식을 의미합니다. 대부분의 경우, 이는 값을 변경할 대상입니다. 반면에 RHS는 할당문의 오른쪽에 있는 표현식으로, 값을 계산하는 부분입니다. reg a; a = 1'b1; // 'a'가 LHS입니다. reg a; reg b; b = a; // 'a'가 RHS입니다. 2023. 7. 2.
[Verilog] array Array(배열) 배열은 Verilog에서 여러 개의 데이터를 저장하고 접근하는 데 사용되는 중요한 개념입니다. 배열은 동일한 데이터 유형을 가진 요소들의 모음으로 구성되며, 각 요소는 고유한 인덱스를 가지고 있습니다. 선언 Verilog에서 배열은 다음과 같은 구문으로 선언됩니다: [lower_index:upper_index]; : 배열 내 요소들의 데이터 유형을 지정합니다. : 배열의 이름을 지정합니다. lower_index:upper_index: 배열 인덱스의 범위를 지정합니다. 인덱스는 정수로 지정되며, lower_index와 upper_index는 배열 요소의 유효한 범위를 결정합니다. 예시 reg [7:0] mema[0:255]; // 256개의 8비트 레지스터로 구성된 메모리 배열 reg x.. 2023. 7. 1.
[Verilog] 삼항연산자(Ternary operator) 삼항연산자(Ternary Operator) 삼항연산자는 조건문에 기반하여 다른 두 개의 값 중 하나를 선택하는 연산자입니다. Verilog에서 삼항연산자는 다음과 같은 구조로 사용됩니다: conditional_expression ::= expression1 ? { attribute_instance } expression2 : expression3 ? : ; 삼항연산자는 주어진 조건식을 평가한 후, 조건식이 참인 경우에는 을 선택하고, 조건식이 거짓인 경우에는 을 선택합니다. 이는 조건에 따라 다른 동작을 수행하는 데 유용하게 활용될 수 있습니다. out = control ? x : y 예를 들어, Verilog 코드에서 삼항연산자를 사용하여 입력 신호에 따라 출력 신호를 결정할 수 있습니다. 다음은 이를.. 2023. 7. 1.
[Verilog] Reg와 Wire Verilog에는 Wire와 Reg라는 두 개의 변수타입이 존재합니다. 두 변수의 가장 큰 차이는 값을 저장할 수 있는지 없는지 입니다. Wire는 값을 저장 할 수 없고 Reg는 값을 저장할 수 있습니다. Reg Reg는 data를 저장하기 위한 변수로 다음 값이 할당되기 전까지 현재 값을 유지하므로 절차형 할당문(procedural assignment)를 구현할 때 주로 사용됩니다. Initial/always block 구문 내에서 출력으로는 반드시 reg를 사용해야 합니다. 조합논리(Combinational logic)과 순차논리(sequential logic)을 구현할 때 모두 사용 가능합니다. ​ reg [1:0] counter; always @(posedge CLK, negedge RESETn.. 2023. 7. 1.
반응형