SystemVerilog DPI-C는 지금도 C와 C++을 SystemVerilog와 결합하는 강력한 방식입니다. 모델링, 검사, 검증과 사용자 인터페이스 함수를 포함한 다양한 기능도 제공합니다. 이 글에서는 데이터 유형, 스코프, 스레드 된 실행, chandle 및 이외에도 다양한 항목을 다루어 DPI-C를 시작하거나 기존 구현을 확장할 길을 열어줄 예시와 설명을 소개했습니다.
Include 파일
SystemVerilog DPI-C에는 상수, 데이터 유형, 액세스 루틴 및 여타 유용한 정보가 들어 있습니다. 이 정보는 벤더에서 보내주는 include 파일에서 확인할 수 있습니다. 다른 지원되는 include 파일(필요한 경우)과 함께, 이름이 'svdpi.h'인 파일도 있을 것입니다.
액세스 루틴
액세스 루틴에는 종류도 여러 가지가 있고, 하는 일도 여러 가지입니다. 무엇을 사용해도 괜찮지만, 이 글이나 이 글의 예시에서 사용한 것이 가장 이해하기 쉽고 사용하기도 간편합니다. svdpi.h의 길이는 수백 줄 정도입니다. 또한 svdpi.h는 90개가 넘는 상수, 정의와 액세스 루틴을 포함하고 있습니다. 이것들을 사용할 때 가장 좋은 방법은 대상들을 최대한 단순한 형태로 유지하는 것입니다. 액세스 루틴이 존재하는 이유는 전달되고 받기도 하는 복잡한 구조의 레이아웃 해석을 돕기 위한 것도 있습니다. 주고받는 복잡한 구조의 수를 제한하는 것이 가장 좋은 방법일 것입니다.
이 글에서는 통합 작업을 설명하고, 데이터 유형 매핑의 예를 제공하며 성능을 극대화하기 위해 호출을 최적화하는 방법에 관하여 몇 가지 힌트를 소개합니다. 이는 데이터 유형, 스코프, 스레드 된 실행, chandle 및 이외에도 다양한 항목을 다루어 DPI-C를 시작하거나 기존 구현을 확장할 길을 열어줄 예시와 설명을 포함합니다.