1.入出力構成要素

入出力構成要素は、モジュールにデータや信号を入出力する端子のことを指します。
入出力構成要素は表7の要素で構成しています。

【表1-1.入出力構成要素の種類】
転送方向 定義コマンド 説明
入力
出力
入出力
入力
出力
input
output
inout
func_in
func_out
データ入力端子
データ出力端子
データ入出力端子
制御入力端子
制御出力端子

本章では、データの入出力に使うデータ端子について解説します。
制御入力端子、制御出力端子に関しては、第4章をご参照下さい。

データ端子は”データ入力端子”,”データ出力端子”,”データ入出力端子”を指します。

モジュールに対して、データの入力を行う端子はデータ入力端子と呼びます。
また、データの出力を行う端子はデータ出力端子と呼びます。
そして、データの入出力を行う端子はデータ入出力端子と呼びます。

モジュール内で、入出力構成要素を使うには、declare部分で入出力構成要素の宣言を行う必要があります。
また、データ端子を宣言する場合は、データの大きさを表すビット幅を記入することができます。
データ入力端子の宣言方法を見てみましょう。

input データ入力端子名 [ビット幅]

次にデータ出力端子の宣言方法を見てみましょう。

output データ出力端子名 [ビット幅]

最後にデータ入出力端子を見てみましょう。

inout データ入出力端子名 [ビット幅]

以上の宣言方法で、入出力構成要素を使用することが可能です。
このとき、ビット幅を自然数で記述すると、任意ビットの入力・出力信号を宣言可能です。
複数ビットの信号の使い方は第3章3節で詳細を解説しています。
また、ビット幅は省略することも可能です。
ビット幅を省略した場合は、データ端子は1ビットに決定します。

入出力構成要素の使用例として、以下の例題1を見てみましょう。

【例題1.データ入力・出力端子の例】
declare ex01 {
   //入出力構成要素の宣言
   input a ;
   output b ;
}
module ex01 {
   //共通アクション記述
   b = a ; //式1
}

例題1は、データ入力・出力端子の例です。
declare部分で、データ入力端子aとデータ出力端子bを宣言しています。
また、共通アクション記述部分の式1にて、bにaのデータを転送しています。
共通アクション記述の詳細は第3章で解説しています。

この例題1のシミュレーション結果は以下になります。

次に、データ入出力端子について、解説します。
ハードウェアの設計において、メモリのアドレスバスなど、双方向のデータのやりとりが必要になる場合があります。
データ入出力端子は双方向のデータ転送が可能な端子です。

データ入出力端子使用例として、以下の例題2を見てみましょう。

【例題2.データ入出力端子の例】
declare ex02 {
   //入出力構成要素の宣言
    inout a ;
    output b ;
}
module ex02 {
   //共通アクション記述
    b = a ; //式1
}

>>入出力データ端子の解説