2017-10-27 1 views
-1

私のVHDLのエンティティは、これらの2つの単方向の記録ポートがあります。次のようにパッケージで定義されているSystemVerilogの同等

user2regs  : in user2regs_t; 
regs2user  : out regs2user_t 

type user2regs_t is record 
    status_value : std_logic_vector(31 downto 0); 
end record; 

type regs2user_t is record 
    control_led : std_logic_vector(3 downto 0); 
end record; 

私は同じポートを実装するにはどうすればよいの/合成可能なSystemVerilogモジュールのインターフェース?

答えて

3

これらはSystemVerilogの構造体です。

typedef struct { 
    logic [31:0] status_value; 
    } user2regs_t 

typedef struct { 
    logic [3:0] control_led; 
} regs2user_t; 

module mod (input user2regs_t user2regs, 
      output regs2user_t regs2user); 
+0

こんにちは@ dave_59、あなたの答えに感謝します。実際のRTLコードでそれを実装する方法、あるいは代わりにSystemVerilogインターフェイスを使用する方法はありますか? – geschema

+0

それは直接の翻訳でした。 SVで構造を使用すると、より強力な型を得ることができます([私の論文](http://go.mentor.com/4gub7)を参照してください)インターフェイスを使用するかどうかは、別の質問です。インターフェイスが使用可能である必要があります。 –