systemverilog 的静态转换

static casting for systemverilog

我尝试在 systemverilog 代码中使用静态转换。 我有逻辑类型的变量:

logic [127:0] data[];

我想获取bit类型的变量。为此,我写了以下代码:

bit [127:0] bit_data [];
bit [127:0] b_data; 

typedef bit [127:0] bit_127_t;
bit_data = bit_127_t' (data);
b_data = bit_data[0];

此代码无效..而且我没有发现错误。 提前致谢

当您说某些事情不起作用时,它总是有助于显示它不起作用的地方。比如您是否得到了与预期不同的结果,或者编译器错误?

我认为您的 typedef 不正确。应该是

typedef bit [127:0] bit_127_t[];

在 bit_data 的声明中使用相同的 typedef 也会有所帮助。