Verilog 논리값
0: 논리 0(거짓), 0V
1: 논리 1(참), 1V
z: high impedance 상태
x: 알 수 없는 값
Data Type(자료형)
Default 자료형은 1 bit wire이다.
✅ Net 자료형
: 소자 간의 물리적인 연결을 추상화
hardware적 특성(순서가 상관없음)을 갖는다.
default 초기값은 z이다.
ex) wire, tri, wand, wor..
※ wired net: 여러 신호가 연결될 수 있는 Net 타입
- wand(wired AND)
- wor(wired OR)
✅ Variable 자료형
: 절차형 할당문( Behavioral medeling)에서 값의 임시 저장
변수 역할을 하며, software적 특성(순서가 중요)을 갖는다.
reg, time, integer의 default 초기값은 x이다.
ex) reg, time, integer, real, realtime..
✅ 벡터
: [MSB : LSB]를 갖는 다중 비트의 net 또는 reg 자료형
default는 unsigned로, signed를 선언할 수 있다.
✅ 배열
: 여러 개의 벡터 또는 단일 비트의 그룹
- 배열 선언:
reg [7:0] memory [0:15]; // 단순 1차원 배열(8비트 memory가 16열(개) 있음)
reg memory [7:0] [0:15]; // 2차원 배열(1비트 memory가 8행 16열 있음)
- 배열 초기화:
memory [2][3] = 1'b1; // 2번째 행, 3번째 열에 1 저장
✅ parameter
: 변하지 않는 상수를 정의
#, defparam 문을 사용하여 값을 변경할 수 있다.
Operators(연산자)
결합 연산자: 여러 개의 비트 또는 신호를 하나의 벡터로 결합
ex) {A, B, C} // A, B, C를 하나의 벡터로 결합
반복 연산자: 특정 패턴을 반복하여 비트열 생성
ex) {N {A}} // A를 N번 반복
비트 연산자: 2항 연산자(a ^ b)
축약 연산자: 1항 연산자(^ a)
조건 연산자: 3항 연산자(a? b : c)
※ 특징
- 피연산자 비트 수가 같지 않으면, 비트가 작은 피연산자의 MSB에 0을 채워 비트 수를 맞춘 후 계산
- 논리 시프트 연산자(<<, >>): 우측 피연산자 값만큼 좌측(우측) 피연산자를 왼쪽(오른쪽)으로 시프트 후, 비어있는 비트에 0을 채움
- 산술 시프트 연산자(<<<): 우측 피연산자 값만큼 좌측 피연산자 값을 왼쪽으로 시프트 후, 비어있는 비트에 0을 채움
- 산술 시프트 연산자(>>>): 우측 피연산자 값만큼 좌측 피연산자 값을 오른쪽으로 시프트 후, 비어있는 비트에 좌측 피연산자의 MSB를 채움
'디지털회로 2모저모' 카테고리의 다른 글
Verilog module & 어휘 규칙 (0) | 2025.02.13 |
---|---|
Verilog HDL 개요 (0) | 2025.02.12 |