SystemVerilog|【struct】構造体について考える

Systemverilog
田中太郎
田中太郎

構造体についてまとめます

使い方

構造体は様々な型を組み合わせて新たな型を作成します

以下のように定義します

struct {
    <型> <変数名>;
} <構造体名>;

または、typedefを使用して以下のように定義します

typedef struct {
    <型> <変数名>;
} <型名>;
<型名> <構造体名>;

構造体の要素には以下のようにアクセスします

<構造体名>.<変数名>

サンプルコード

sample1.sv
module tb;
    struct {
        string name;
        int age;
    } a;
    initial begin
        a.name = "hoge";
        a.age = 10;
        $display("%s", a.name);
        $display("%d", a.age);
        $finish;
    end
endmodule
// 出力
// hoge
// 10
sample2.sv
module tb;
    typedef struct {
        string name;
        int age;
    } a_t;
    initial begin
        a_t a;
        a.name = "hoge";
        a.age = 10;
        $display("%s", a.name);
        $display("%d", a.age);
        $finish;
    end
endmodule
// 出力
// hoge
// 10

まとめ

構造体の使い方についてまとめました

コメント

タイトルとURLをコピーしました