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 也会有所帮助。
我尝试在 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 也会有所帮助。