首页 > 技术文章 > sv 易混淆语法

littleMa 2020-04-02 14:49 原文

1. 数组上下界随变量变化的语法;

//for(i=0; i<=11;i++) begin
//       file_data_re0[((i+1)*12)-1 +: i*12] = data_re0;
//       file_data_im0[((i+1)*12)-1 +: i*12] = data_im0;
//end
for(i=0; i<=11;i++) begin
       file_data_re0[i*12 +: 12] = data_re0;
       file_data_im0[i*12 +: 12] = data_im0;
end
file_data_re0 = {12{data_re0}};
file_data_im0 = {12{data_im0}};

 2. $bits() 使用;

logic [7:0] fa[10];
typedef struct {
    logic valid;
    bit [7:0] data;
} MyType;
logic [$bits(MyType)-1 : 0] mytype_bitstream;
logic [$bits(fa)-1 : 0] fa_bitstream;

initial begin
    $display("Bitstream size of MyType: %0d", $bits(MyType));
    $display("Bitstream size of Fixed Array: %0d", $size(fa_bitstream));
end

 3.unpacked/packed array(合并数组/非合并数组)

 

 

 

 

推荐阅读