022天津同城交友网

标题: System Verilog通过DPI使用C memory塊 [打印本页]

作者: 彩虹网    时间: 2020-4-7 18:46
标题: System Verilog通过DPI使用C memory塊
    文章简介:通过DPI接口,SV中能够获得Cside分配的一个内存块(由malloc



通过DPI接口,SV中能够获得C side分配的一个内存块(由malloc分配)的handle,但是如何在SV side访问这个内存块的内容呢?我尝试了两种方法,都不行,请了解的人指导下~多谢
方式一:
chandle memory;
import "DPI" function chandle golden();
memory = golden();
$display(memory[0]);  //编译报错,说不能这么操作chandle变量  

方式二:
int memory;
import "DPI" function int golden();
memory = golden();
$display(memory[0]);   //C side指针类型也是int型,这里虽然可以打印數据,但打印出的数据完全不对


作者: 彩虹网    时间: 2020-4-7 18:46
在C端的memory是值这个memory需要在SV 与C都可读可写吗?
应该在SV端做一个memory1数组,输入到golden中,golden输出一个memory2  复制到memory1就好了
SV数组与C端交换是需要转换的
SystemVerilog        C(输入)                                        C(输出)
open arry[]        const svOpenArrayHandle        svOpenArrayHandle





欢迎光临 022天津同城交友网 (http://www.btlz.cn/) Powered by Discuz! X3