【发布时间】:2019-10-11 21:01:32
【问题描述】:
我正在编写一个 DPI 检查器(.cpp 文件),在此,检查器读取每一行的 128 位值,我想用 128 位掩码对其进行屏蔽并将其与 RTL 值进行比较,但问题是我我看到的是我从中创建掩码的数据类型仅包含 32 位值,我需要对原始数据进行按位与运算。谁能给点建议?
typedef struct {
BitVector<128> data
} read_line;
svBitVecVal mask;
mask = 0xffffffffffffffffffffffffffffffff;
BitVector<128> data_masked;
data_masked = read_line->data & mask;
这里svBitVecVal最多只能保存32bit的值。如果掩码超过 32 位,data_masked 将不会显示正确的值。
【问题讨论】:
标签: verilog system-verilog monitor bitvector system-verilog-dpi