2025年09月
新着記事
最近のコメント
月別
カテゴリ
2025.09.16 10:19

SystemVerilogとstructとinterfaceと


・SystemVerilogになって構造体が使えるようになったという。
・それならたとえば、SPIバスのようなものを
 typdef struct [
logic sck;
logic cs_n;
logic mosi;
logic miso;
} spi_bus;
のようにしてモジュールポートとして定義できれば美しい・・・と思った直後に入出力方向はどう決めれば良いのだ?ということになった。
・入出力はmoduleのポート宣言でしていするよりないわけで
 module xxxx (
  output spi_bus SPI_PORT
);
 なんてことをすると、SPI_PORTは全部出力になってしまう。
inoutにするというのも美しくない。
System Verilogで構造体メンバに入出力属性をつけられないから仕方ないのか。
・ということで検索したらinterfaceがあるよということを知る。
 interface spi_if (input logic clk);
logic sck;
logic cs_n;
logic mosi;
logic miso;
modport master (
output sck,
output cs_n,
output mosi,
input miso
);
endinterface
 なんて調子でいけるらしい。



この記事へのコメント
コメントを書く
名前

タイトル

ホームページ

コメント

パスワード(削除用)
クッキー