1.入出力構成要素
入出力構成要素は、モジュールにデータや信号を入出力する端子のことを指します。
入出力構成要素は表7の要素で構成しています。
転送方向 | 定義コマンド | 説明 |
---|---|---|
入力 出力 入出力 入力 出力 |
input output inout func_in func_out |
データ入力端子 データ出力端子 データ入出力端子 制御入力端子 制御出力端子 |
本章では、データの入出力に使うデータ端子について解説します。
制御入力端子、制御出力端子に関しては、第4章をご参照下さい。
データ端子は”データ入力端子”,”データ出力端子”,”データ入出力端子”を指します。
モジュールに対して、データの入力を行う端子はデータ入力端子と呼びます。
また、データの出力を行う端子はデータ出力端子と呼びます。
そして、データの入出力を行う端子はデータ入出力端子と呼びます。
モジュール内で、入出力構成要素を使うには、declare部分で入出力構成要素の宣言を行う必要があります。
また、データ端子を宣言する場合は、データの大きさを表すビット幅を記入することができます。
データ入力端子の宣言方法を見てみましょう。
input データ入力端子名 [ビット幅]
次にデータ出力端子の宣言方法を見てみましょう。
output データ出力端子名 [ビット幅]
最後にデータ入出力端子を見てみましょう。
inout データ入出力端子名 [ビット幅]
以上の宣言方法で、入出力構成要素を使用することが可能です。
このとき、ビット幅を自然数で記述すると、任意ビットの入力・出力信号を宣言可能です。
複数ビットの信号の使い方は第3章3節で詳細を解説しています。
また、ビット幅は省略することも可能です。
ビット幅を省略した場合は、データ端子は1ビットに決定します。
入出力構成要素の使用例として、以下の例題1を見てみましょう。
declare ex01 { //入出力構成要素の宣言 input a ; output b ; } module ex01 { //共通アクション記述 b = a ; //式1 } |
例題1は、データ入力・出力端子の例です。
declare部分で、データ入力端子aとデータ出力端子bを宣言しています。
また、共通アクション記述部分の式1にて、bにaのデータを転送しています。
共通アクション記述の詳細は第3章で解説しています。
この例題1のシミュレーション結果は以下になります。
次に、データ入出力端子について、解説します。
ハードウェアの設計において、メモリのアドレスバスなど、双方向のデータのやりとりが必要になる場合があります。
データ入出力端子は双方向のデータ転送が可能な端子です。
データ入出力端子使用例として、以下の例題2を見てみましょう。
declare ex02 { //入出力構成要素の宣言 inout a ; output b ; } module ex02 { //共通アクション記述 b = a ; //式1 } |
>>入出力データ端子の解説