Verilog coding basic
수 표현
앞쪽에는 사용할 bits수를 ' 뒤에는 사용할 진수(ex. b,h,d)를 명시하고, 그 뒤에 입력할 값을 작성한다.
cpu는 general purpose를 가지고 있으므로 많은 기능을 위한 많은 공간을 필요로 하기에,
cpu와 같은 HW에서는 공간의 낭비가 없어야하므로 사용하고자 하는 bit 수를 공간 낭비 없이 명확히 해야한다.
수 표현에 있어서 verilog의 엄청난 장점은 음수 사용이 -로 가능하다는 것이다.
ex, -6;d3 //3의 2의 보수로써 음수
위와 같이 편리하게 음수 사용이 가능하다.
Invalid & Unsized
1.bit 수 or 진수 표현이 없을 때
default로 32bits가 할당되고 decimal(십진수)로 인식된다.
2. 선언한 진수와 뒤에 작성한 number의 진수 표현이 일치하지 않을 때
ex) 3'b5 -> 3bit의 binary를 표현하겠다고 했지만 그 뒤에 5라는 decimal number를 작성하여 invalid한 표현이다.
논리값
'수 표현'에서 다루었던 '수'의 개념과 위 '논리값'의 개념의 가장 큰 차이는
논리값은 수가 아닌 '상태(state)'를 나타내는 것이다.
x는 알 수 없는 논리값의 상태로 wire 충돌의 경우의 상태이고,
z는 high impedance or floating 상태로 선 연결이 제대로 안 되었을 때의 상태이다.
** impedance : 회로에서 전압이 가해졌을 때 전류의 흐름을 방해하는 값
Net (wire)
net은 기본적으로 1bit를 사용한다.
Register (레지스터)
: 데이터를 저장해둘 수 있는 변수, 기본적으로 1bit 사용
reg reset; //값을 가질 수 있는 변수 reset 정의
initial
begin
reset = 1'b1; //디지털 회로에서 reset을 1로 초기화 한다.
#100 reset = 1'b0; //100단위 시간이 지난 뒤 reset 값을 binary type 0으로 바꾼다
end
integer i; //32-비트 부호가 있는 값
vector형 wire와 reg
위와 같이 벡터의 일부를 골라서 쓸 수도 있다.
'Quality control (2) > Digital System Design' 카테고리의 다른 글
DSD - Structural Modeling(2) / instantiation / ports / basic example / parity bit (0) | 2023.04.05 |
---|---|
DSD - Structural Modeling(1) / gate primitives (0) | 2023.04.02 |
DSD - Verilog HDL-based design flow(2) / ASIC (0) | 2023.04.02 |
DSD - Verilog HDL-based design flow / FPGA (0) | 2023.04.02 |
Processor / Bandwidth / data bus / cache memory (0) | 2023.03.30 |