본문 바로가기
HW Design/2. Verilog Practice

[Verilog Practice] reg 회로 분석

by 한PU 2023. 9. 28.
728x90
반응형

[그림 1] reg 회로의 schematic

reg 란?

'reg'는 Verilog HDL(하드웨어 기술 언어)에서 사용되는 데이터 형식입니다. 'reg'는 "register"의 약자로, 이 데이터 타입은 연속적인 대입문(continuous assignment)이 아닌, 항상 블록(always block) 또는 초기 블록(initial block) 내에서 대입되어야 합니다.

'reg' 타입은 0과 1, 그리고 'x'(알 수 없음), 'z'(고립 상태)의 4가지 값을 가질 수 있습니다. 이는 디지털 로직 디자인에서 상태를 표현하는 데 사용됩니다.

// 알 수 없음 = Don't care , 고립 상태 = High Impedance

 

예를 들어, 아래는 'reg' 타입의 변수를 사용한 Verilog 코드의 예입니다:

 

module reg_example;
  reg a;  // 1비트 레지스터 변수 선언
  initial begin
    a = 0;  // 초기 상태 설정
    #5 a = 1;  // 5 시간 단위 후에 a를 1로 설정
  end
endmodule



이 예에서 'a'는 'reg' 타입의 변수이며, 초기 블록 내에서 값이 대입되고 있습니다. '#5'는 5 시간 단위의 지연을 나타내며, 이 지연 후에 'a'의 값이 1로 변경됩니다. 

// #5의 시간 단위는 'timescale 1ns / 1ps 등으로 선언한다.

'reg'는 내부 상태를 저장하는 register를 모델링할 때 주로 사용되며, 시퀀셜 로직(순차 논리)을 기술하는 데 사용됩니다. 그러나, 'reg'가 반드시 물리적인 register를 의미하는 것은 아닙니다. 실제 하드웨어 구현에서는 항상 블록의 내용과 대입의 종류에 따라 물리적인 register의 사용이 결정됩니다.

 

reg = wire + time

D F/F으로 구성되는 신호 형식이다. 비교할 수 있는 신호 형식에는 wire 가 있다.

reg = wire + time으로 이해하고 있는데, D F/F의 존재가 신호를 delay 시켜주는 역할을 한다.

 

 

728x90
반응형