0. Direct Programming Interface (DPI) 란?Direct Programming Interface (DPI)란 system verilog와 C (혹은 C++)간의 인터페이스로, 상호 간 task 혹은 function을 export/import 하여 사용할 수 있도록 하는 인터페이스이다. 하드웨어 설계 후 검증을 위해 system verilog를 가장 많이 사용할 것이다. C 언어만을 사용하여 하드웨어를 제어하는 데에는 보통 아래와 같은 어려움이 있다. 하드웨어 접근 (access) 자체가 어렵다.Delay를 모델링할 수 없다.이러한 C언어의 제약사항을 DPI를 사용하여 극복할 수 있다. C 코드에서 verilog로 작성된 task를 호출하여 사용하고, 혹은 그 반대, 즉 syst..