Digital Design Studio의 첫 RTL 시뮬레이션
Windows용 Digital Design Studio의 첫 RTL 시뮬레이션. 카운터 예제를 열고 PC에서 테스트벤치를 실행한 뒤 파형을 읽습니다.
Windows용 Digital Design Studio: 이 튜토리얼은 OSS CAD Suite 시뮬레이터로 PC에서 테스트벤치를 실행합니다. 시뮬레이터는 요청할 때만 앱이 내려받아 설치합니다. 공개된 패키지는 다운로드에서 확인하세요.
개요
Digital Design Studio에는 작은 예제 프로젝트가 들어 있습니다. 4비트 카운터(rtl/counter.sv)와 그 테스트벤치(tb/counter_tb.sv)입니다. 이 튜토리얼에서는 예제를 열고, 시뮬레이터를 한 번 설치한 뒤, 실행을 눌러 파형을 읽습니다. 시뮬레이션은 PC에서 실행되며 Cloud 작업을 시작하지 않습니다.
준비할 것:
Windows x64에 설치한 Digital Design Studio Windows 앱
Altifigence 계정은 선택 사항입니다. 로그인하지 않아도 시뮬레이터를 실행할 수 있으며, Windows 앱에는 기기 라이선스가 필요 없습니다.
GitHub에서 약 574 MiB를 한 번 내려받을 인터넷 연결. 설치 뒤 PC에는 약 226 MiB가 남습니다.
설치와 로그인
다운로드에서 Windows 앱을 받아 Windows 설치 안내대로 설치합니다.
Digital Design Studio를 시작합니다. Digital Design Studio에 로그인 화면에서 Altifigence로 계속하기를 선택하고 브라우저에서 로그인을 마칩니다.
대신 로그인 없이 계속하기를 선택해도 예제를 열고 편집하고 실행할 수 있습니다. Cloud나 AI 같은 계정 서비스가 필요할 때 나중에 로그인하면 됩니다.
카운터 예제 열기
새 사용자가 PC에서 앱을 처음 시작하면 로그인하거나 로그인 없이 계속한 뒤 카운터 예제가 자동으로 열립니다. 앱은 테스트벤치 tb/counter_tb.sv와 RTL simulation 탭을 엽니다.
이 PC에서 Digital Design Studio를 쓴 기록이 있거나(저장된 로그인, 최근·Academy 프로젝트, 저장된 창 등), 특정 프로젝트를 열도록 앱을 시작했거나, 로그인한 조직에 이미 Cloud 프로젝트가 있으면 예제가 자동으로 열리지 않습니다. 이때는 직접 엽니다.
탐색 패널 맨 위의 작업 환경 메뉴를 열고 내 PC를 선택합니다.
내 PC의 프로젝트에서 예제 열기를 선택합니다. 내 PC 프로젝트가 이미 열려 있으면 프로젝트 목록 아래의 내 PC를 선택해 이 화면으로 돌아옵니다.
먼저 편집 내용을 저장하고 실행 중인 작업이 끝나기를 기다리세요. 저장하지 않은 작업이나 실행 중인 작업이 있으면 앱이 프로젝트를 전환하지 않습니다.
예제는 앱 데이터 폴더에 한 번 만들어지는 내 사본입니다. 다시 열어도 수정한 내용이 유지됩니다.
파일 | 내용 |
|---|---|
| 비동기 Low 활성 리셋( |
| 테스트벤치입니다. 카운터를 리셋하고 20클록 동안 켠 뒤, 카운트가 한 바퀴 돌아 4가 되었는지 확인하고 |
| 예제를 짧게 설명합니다. |
| 실행 결과를 보관하는 |
OSS 시뮬레이터 설치(한 번)
Digital Design Studio에는 시뮬레이터가 들어 있지 않습니다. 요청하면 YosysHQ 공식 OSS CAD Suite 2026-10-09 빌드를 내려받아 고정된 SHA-256과 대조한 뒤, Icarus Verilog·Verilator·GTKWave에 필요한 파일만 설치합니다.
RTL simulation 탭에서 테스트벤치를 선택한 상태로 둡니다. 시뮬레이터를 설치하기 전에는 "시뮬레이터 확장이 설치되어 있지 않습니다. 실행하면 먼저 설치합니다."가 표시됩니다.
실행을 누릅니다. OSS CAD Suite 시뮬레이터를 설치할까요? 창에서 내려받아 설치를 선택합니다. 나중에를 누르면 아무것도 설치하지 않고 창을 닫습니다.
창에 다운로드, SHA-256 확인, 설치 진행 상황이 표시됩니다. 취소를 누르면 멈추고, 내려받던 파일은 남겨 두었다가 다음에 이어서 받습니다.
설치가 끝나면 실행이 시작됩니다.
미리 설치할 수도 있습니다. 플러그인을 열고 OSS CAD Suite 시뮬레이터를 선택한 뒤 설치를 누르세요. 이후 이 PC의 실행은 같은 설치본을 사용합니다.
테스트벤치 실행
패널을 확인합니다. 테스트벤치는
counter_tb · tb/counter_tb.sv, 시뮬레이터는 Icarus Verilog, 파형 형식은 VCD입니다. 그 아래에 "소스 파일 2개 · 최상위 counter_tb"가 표시됩니다.실행을 누릅니다. 실행은 먼저 변경된
.v·.sv·.svh·.vh파일을 저장합니다. 그다음 선택한 테스트벤치를 최상위 모듈로 하여 프로젝트의 모든.v·.sv파일을 컴파일합니다..alti/·.altifigence/·.git/·node_modules/아래 파일은 제외합니다.실행이 통과하면 패널에 시뮬레이터 버전과 실행 시간이 붙은 통과가 표시되고 그 아래에 파형이 열립니다.
시뮬레이터 로그를 펼치면 컴파일러와 시뮬레이터의 출력을 볼 수 있습니다. 테스트벤치는
counter_tb: PASS count=4 at 260 ns를 출력합니다.
결과 읽기
클록 주기는 10 ns입니다. 테스트벤치는 클록 하강 에지에서 입력을 바꾸고, 카운터는 상승 에지에서 셉니다. 파형은 다음과 같습니다.
시간 | 신호 |
|---|---|
0–20 ns |
|
20 ns |
|
30 ns |
|
35–225 ns |
|
230 ns |
|
260 ns | 테스트벤치가 |
상태 줄은 실행이 어떻게 끝났는지 알려 줍니다.
상태 | 의미 |
|---|---|
통과 · … | 시뮬레이터가 종료 코드 0으로 끝났고 테스트벤치 로그에 실패가 보고되지 않았습니다. |
실패(종료 코드 N) · … | 시뮬레이터가 0이 아닌 종료 코드로 끝났습니다. 컴파일러나 테스트벤치의 메시지는 시뮬레이터 로그에서 확인합니다. 실행 전에 입력이 거절되면 로그에 경로·설정 이유가 표시됩니다. 시뮬레이터 종료 코드가 없다는 사실을 완료된 실행으로 해석하지 않습니다. |
테스트벤치가 실패를 보고함 · … | 시뮬레이터가 종료 코드 0으로 끝났지만 테스트벤치 로그에 실패가 보고되었습니다. 시뮬레이터 로그에서 실패 메시지를 확인합니다. |
시간 제한으로 중지됨 · … | 실행이 이 패널의 실행 제한인 2분을 넘었습니다. |
취소됨 | 실행 중에 취소를 눌렀습니다. |
실행마다 프로젝트의 .alti/sim/ 아래에 실행별 폴더가 생기고 파형과 receipt.json이 남습니다. receipt.json에는 시뮬레이터 로그와 버전, OSS CAD Suite 릴리스, 모든 소스와 include 파일의 SHA-256이 기록됩니다. 최근 실행 20개를 보관합니다. 실행 중에 소스, include 파일, Verilog 설정이 바뀌면 그 실행은 실패로 표시되므로 다시 실행하세요.
흔한 오류 해결
증상 | 해결 |
|---|---|
예제가 자동으로 열리지 않음 | 자동 열기는 새 사용자에게만 적용됩니다. 내 PC의 프로젝트(내 PC)에서 예제 열기를 선택하세요. |
"예제 프로젝트를 열지 못했습니다. 다시 시도하려면 내 PC에서 예제 열기를 선택하세요." | 내 PC에서 예제 열기를 선택하세요. 예제가 아직 없으면 이후 앱을 시작할 때도 다시 시도하며, 시도는 모두 3번까지입니다. |
테스트벤치 버튼이 없음 | Windows 앱에서 내 PC 프로젝트를 열고 테스트벤치 보기로 테스트벤치를 실행합니다. |
"테스트벤치를 찾지 못했습니다. …" | 테스트벤치는 |
다운로드가 실패하거나 멈춤 | 인터넷 연결, 프록시, 방화벽에서 github.com, release-assets.githubusercontent.com, objects.githubusercontent.com을 확인한 뒤 실행을 다시 누르세요. 다운로드는 멈춘 곳부터 이어서 받습니다. |
백신이 파일을 막았거나 Icarus Verilog가 시작되지 않음 | 보안 프로그램의 정확한 메시지를 보관하고 공식 다운로드와 예상 해시를 확인하세요. 실행을 강제하려고 보호 기능을 끄거나 넓은 예외를 추가하지 말고, 해당 탐지를 지원팀이나 관리자와 확인한 뒤 다시 시도하세요. |
디스크 여유 공간 부족 | 안내에 표시된 만큼 공간을 비운 뒤 다시 시도하세요. |
Verilator를 선택할 수 없음 | Verilator에는 이 PC의 C++ 컴파일러와 |
"이 실행은 파형을 쓰지 않았습니다. …" | 테스트벤치에 |
파형이 32 MiB보다 큼 |
|
include 파일과 매크로
include하는
.svh·.vh헤더는 프로젝트 안에 두세요. RTL 컴파일·Icarus Verilog·Verilator는 프로젝트 루트, 저장된 순서의 Include 경로, 이름순의 발견된 소스 폴더를 차례로 찾습니다. include를 적은 파일 옆의 다른 헤더와 겹치면 Problems와 시뮬레이터 로그에서 두 경로와 실제 사용한 파일을 확인할 수 있습니다.시뮬레이터 로그에 include 파일을 찾지 못했다고 나오면, 그 폴더를 프로젝트 루트 기준 경로로 프로젝트의 Include 경로에 추가한 뒤(Flow Navigator → 프로젝트 관리 → 설정 → 프로젝트 → Include 경로) 실행을 다시 누릅니다. 매크로는 프로젝트 → 매크로 정의에 한 줄에 하나씩
NAME또는NAME=VALUE로 입력합니다.프로젝트 밖의 파일을 include하면 시뮬레이션 전에 실행이 실패하고, 시뮬레이터 로그에 '… is outside the project: copy it into the project and include it from there'가 남습니다.
Include 경로 항목이 프로젝트 밖을 가리키거나
..를 포함하면, 또는 매크로 정의의 이름이 올바르지 않으면 그 항목을 밝힌 메시지와 함께 실행이 멈춥니다. 해당 항목을 고치거나 지우세요. 목록에 있지만 존재하지 않는 폴더는 시뮬레이터 로그에 경고를 남기고 건너뜁니다.바꾼 설정은 다음 실행부터 적용됩니다. 편집기 진단은 프로젝트를 다시 열면 새 설정을 씁니다.
다음 단계
enable을 켜 두는 클록 수와 기대하는 카운트처럼 테스트벤치를 바꾼 뒤 실행을 다시 누릅니다. 실행은 편집 내용을 먼저 저장합니다.C++ 컴파일러와
make를 설치한 뒤 시뮬레이터에서 Verilator를 선택하고 Icarus Verilog의 결과와 비교합니다.내 설계를 실행합니다. 내 PC의 프로젝트에서 프로젝트 폴더 열기 또는 새 프로젝트 만들기를 선택하고,
.v·.sv소스와$dumpfile·$dumpvars로 파형을 쓰는 테스트벤치를 추가합니다. 그다음 Flow Navigator → 시뮬레이션 → 시뮬레이션 실행 → 시뮬레이션 설정 패널 열기로 RTL simulation 탭을 엽니다. 로그인하지 않았다면 시뮬레이션 실행을 누르면 탭이 바로 열립니다.프로젝트 열기와 저장은 워크스페이스, Verilog 파일은 Verilog 지원을 참고하세요.
이 로컬 시뮬레이션과 별개인 플랫폼 차이·회사 AI·저장 공간·계정 조건은 지원 안내를 확인하세요.