산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> verilog

Verilog $timeformat 마스터하기: 정밀도 및 표시 제어

Verilog timescale 지시자는 시뮬레이션의 시간 단위와 정밀도를 지정합니다.

Verilog $timeformat 시스템 함수는 $display와 $strobe 같은 디스플레이 문장에서 %t 포맷 지정자의 보고 스타일을 지정합니다.

문법

$timeformat(<unit_number>, <precision>, <suffix_string>, <minimum field width>);
단위 번호 시간 단위
-3 1ms
-6 1us
-9 1ns
-12 1ps
-15 1fs

예제 #1: 1ns/1ps

$timeformat이 시간 단위 표시 형식에 어떻게 영향을 미치는지 보여주는 예제입니다.

`timescale 1ns/1ps
module tb;
  bit a;
  initial begin
    // 정밀도가 메인 스케일(1ns)의 1/1000이므로
    // 이 지연은 3번째 위치에서 잘림
    #10.512351;
    // 기본 timeformat 파라미터로 현재 시간 표시
    $display("[T=%0t] a=%0b", $realtime, a);
    // timeformat 파라미터 변경 후 다시 표시
    $timeformat(-9, 2, " ns");
    $display("[T=%0t] a=%0b", $realtime, a);
    // 접미사 공백 제거, 소수 자릿수 5로 확장
    $timeformat(-9, 5, "ns");
    $display("[T=%0t] a=%0b", $realtime, a);
    // 접미사가 잘못됨, "ps"(-12)로 설정했으므로 "ns"면 안 됨
    $timeformat(-12, 3, " ns");
    $display("[T=%0t] a=%0b", $realtime, a);
    // 접미사를 ps로 수정
    $timeformat(-12, 2, " ps");
    $display("[T=%0t] a=%0b", $realtime, a);
  end
endmodule

시뮬레이션 로그

xcelium> run
[T=10512] a=0
[T=10.51 ns] a=0
[T=10.51200ns] a=0
[T=10512.000 ns] a=0
[T=10512.00 ps] a=0
xmsim: *W,RNQUIE: Simulation is complete.

예제 #2: 1ns/100ps

위 예제와 같은 코드지만 다른 timescale을 사용했습니다.

`timescale 1ns/100ps

시뮬레이션 로그

xcelium> run
[T=105] a=0
[T=10.50 ns] a=0
[T=10.50000ns] a=0
[T=10500.000 ns] a=0
[T=10500.00 ps] a=0
xmsim: *W,RNQUIE: Simulation is complete.

예제 #3: 100ns/1ns

`timescale 100ns/1ns

#1은 100ns를 나타내므로 #10은 1000ns가 됩니다.

시뮬레이션 로그

xcelium> run
[T=1051] a=0
[T=1051.00 ns] a=0
[T=1051.00000ns] a=0
[T=1051000.000 ns] a=0
[T=1051000.00 ps] a=0
xmsim: *W,RNQUIE: Simulation is complete.

verilog

  1. 버릴로그(Verilog) 입문: 디지털 회로 설계를 위한 하드웨어 기술 언어
  2. Verilog 결합(Concatenation) & 복제(Replication) 연산자 실전 가이드
  3. Verilog 할당문 이해: 유형, 문법, 모범 사례
  4. Verilog 차단 vs 비차단 할당: 핵심 차이점 완벽 이해
  5. Verilog 함수 마스터하기: 효율적인 RTL 설계를 위한 활용법
  6. Verilog 태스크 이해: 함수와의 차이점, 문법, 활용법
  7. 실전 Verilog 게이트 레벨 설계: AND, OR, NOT 게이트와 2x1 멀티플렉서
  8. Verilog 클럭 생성기: 설계 및 구현 가이드
  9. Verilog 수학 함수 마스터하기: 효율적인 하드웨어 설계를 위한 활용
  10. 모든 범위에서 Verilog Timescale 이해 및 출력하기