본문 바로가기

Verdi 툴에서 $fsdbAutoSwitchDumpfile 명령을 사용하여 시뮬레이션 중 파일 크기 제한에 따라 자동으로 파일을 전환하는 방법을 설명드리겠습니다. 이 명령은 FSDB(빠른 신호 데이터베이스) 파일이 너무 크게 되는 것을 방지하여 성능과 관리 가능성을 향상시키는 데 도움이 됩니다.

주요 기능:

  1. 자동 파일 전환: FSDB 파일이 지정된 크기나 시간에 도달하면 자동으로 새로운 파일로 전환합니다. 이는 파일 크기가 너무 커져 처리가 어려워지는 것을 방지합니다.
  2. 가상 FSDB 파일 생성: 모든 데이터 덤프가 완료되면, 가상 FSDB 파일(*.vf)이 자동으로 생성됩니다. 이 가상 파일은 생성된 모든 FSDB 파일을 올바른 순서로 나열합니다.
  3. 효율적 데이터 로딩: 시뮬레이션 결과를 보기 위해서는 모든 FSDB 파일을 개별적으로 로드할 필요 없이, 가상 FSDB 파일만 로드하면 됩니다. 이는 데이터 관리 및 접근을 간소화시키는 데 유용합니다.

이 기능은 특히 대규모 시뮬레이션 데이터를 다루는 경우 유용하며, 파일 관리와 데이터 접근성을 크게 개선할 수 있습니다.

  1. 명령어 문법:

    • 디자인 내에서 설정: 디자인 스크립트 내에서 $fsdbAutoSwitchDumpfile(File_Size, "FSDB_Name", Number_of_Files [, "log_filename"]) 형식으로 사용할 수 있습니다.
    • 시뮬레이터 명령어 줄에서 설정: 각 시뮬레이터 특정 명령어를 사용하여 설정할 수 있습니다. 예를 들어, ModelSim에서는 fsdbAutoSwitchDumpfile File_Size FSDB_name Number_of_Files [log_filename] 형태로 입력합니다.
  2. 매개변수 설명:

    • File_Size: 파일 크기 제한을 메가바이트 단위로 지정합니다. 최소 파일 크기는 10MB입니다. 이보다 작게 설정하면 자동으로 10MB로 설정됩니다.
    • FSDB_Name: FSDB 파일의 이름을 지정합니다.
    • Number_of_Files: 생성할 FSDB 파일의 최대 개수를 지정합니다. 0을 입력하면 파일 수에 제한이 없습니다.
    • log_filename: 로그 파일의 이름을 선택적으로 지정할 수 있습니다. 이 파일은 각 파일의 시간 범위를 기록합니다.
  3. 사용 예제:

    • 디자인 스크립트 내에서 사용할 경우:

      process begin
        fsdbAutoSwitchDumpfile(10, "test.fsdb", 20, "my.log");
        fsdbDumpvars(0, “:system”);
        wait;
      end process;

      이 예제에서는 test_000.fsdb로 시작하여 파일 크기가 10MB에 도달하면 test_001.fsdb로 전환하고, 이런 식으로 계속 진행합니다. 20개의 파일이 모두 차면 test_019.fsdb가 10MB에 도달했을 때 test_000.fsdb로 다시 시작합니다.

이 명령어를 통해 대용량 시뮬레이션 데이터를 효과적으로 관리하면서 파일 크기가 커져 발생할 수 있는 성능 저하 문제를 방지할 수 있습니다. 각 시뮬레이터의 특정 명령어 사용법은 해당 시뮬레이터의 사용 설명서를 참조하시기 바랍니다.

B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.