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 { |