小编gno*_*ejh的帖子

如何通过具有DPI导入功能的开放阵列双向地在SV和C++之间传递数据

我的目标是用C++填充一个开放的数组.阶段如下.1. SV:定义一个大小的解压缩数组,并通过导入函数中的开放数组发送它.2. C++:填充打开的数组.3. SV:使用阵列.

对于大小的解压缩阵列,没有问题.但在实际情况下,数组大小经常更改,并且每次都必须重新编译已编译的C++函数.为了避免这种情况,我需要使用一个开放数组,以便C函数检查大小并相应地填充数据.

在下文中,简化了源,仅显示了基本部分.导入函数svcpp在SV调用并在C++中执行.参数是open数组i [],其句柄是C++方面的h.当我编译C++源代码时,会发生错误,"错误LNK1120:未解析的外部".

问题是什么?

SV方面:

module
    import "DPI-C" context function void svcpp (inout byte unsigned i[]);
    byte myarray[2];

    initial
        svcpp(myarray);
endmodule
Run Code Online (Sandbox Code Playgroud)

C++方面:

#include "svdpi.h"
#include "dpiheader.h"// This includes the data structure for the open array

void svcpp(const svOpenArrayHandle h){
    //*(uchar *) x = *(uchar *) svGetArrElemPtr(h,0);
    *(uchar *) svGetArrElemPtr(h,1) = 10; //I really want this operation.
}
Run Code Online (Sandbox Code Playgroud)

c++ system-verilog visual-c++ system-verilog-dpi

5
推荐指数
1
解决办法
950
查看次数

如何设置完整变量常量?

当数字大小可变并因此必须通过参数设置时,如何设置最大数量?在下面,结果必须是"FFFF",但模拟器只返回"F".谁能解决这个问题?

`define SIZE 10
module tb1;
    reg [15:0] a;

    initial begin
        a = `SIZE'hF;
        $display("a=%h",a);
    end
endmodule
Run Code Online (Sandbox Code Playgroud)

verilog system-verilog

2
推荐指数
2
解决办法
3048
查看次数

将Pandas索引从整数更改为日期时间格式

我有一个巨大的DataFrame,它包含整数形式的索引,例如日期时间表示20171001.我要做的是将表单更改为20171001日期时间格式'2017-10-01'.

为简单起见,我生成了这样一个数据帧.

>>> df = pd.DataFrame(np.random.randn(3,2), columns=list('ab'), index=
[20171001,20171002,20171003])
>>> df
             a         b
20171001  2.205108  0.926963
20171002  1.104884 -0.445450
20171003  0.621504 -0.584352
>>> df.index
Int64Index([20171001, 20171002, 20171003], dtype='int64')
Run Code Online (Sandbox Code Playgroud)

如果我们将'to_datetime'应用于df.index,我们会得到奇怪的结果:

>>> pd.to_datetime(df.index)
DatetimeIndex(['1970-01-01 00:00:00.020171001',
           '1970-01-01 00:00:00.020171002',
           '1970-01-01 00:00:00.020171003'],
          dtype='datetime64[ns]', freq=None)
Run Code Online (Sandbox Code Playgroud)

我想要的是DatetimeIndex(['2017-10-01', '2017-10-02', '2017-10--3'], ...) 如何解决这个问题?请注意,该文件已给出.

python datetime pandas

2
推荐指数
1
解决办法
2207
查看次数