vcs DPI機制調用c函數


方案1:

1.

准備c文件, cprog.c:

#include<stdio.h>
void echo(char* str){
  printf("chaogang test\n");
  printf("test str %s\n",str);      
}

2.

通過vcs去編譯該c文件:

 

 3.

在sv中想要使用cprog.c中定義的echo函數的地方,通過DPI機制導入,然后可以直接調用:

 

方案2:

將寫好的c文件編譯成共享庫,在執行simv的時候通過 -sv_root -sv_lib 參數告知simv 共享庫的路徑

生成共享庫方法如下:

 

 

gcc -fPIC -Wall -c cprog.c

gcc -fPIC -shared -o cprog.so cprog.o

這種情況在vcs編譯階段不需要編譯c代碼:

 

 在執行simv的時候通過-sv_lib 參數傳遞共享庫。共享庫文件名為cprog.so,但傳遞-sv_lib參數時不帶.so后綴。 -sv_root參數可以指定共享庫的路徑,在共享庫與simv不在同一目錄時需要-sv_root指定共享庫所在路徑。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM