忍者ブログ

[PR]

2025年05月01日
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

package宣言におけるsubprogram

2008年12月18日
今までヘッダーと呼んできましたが、VHDLでは正しくはパッケージと言います。
でも実質ヘッダーです。

subprogramはパッケージに書き出してこそ真価を発揮しますが、
これがちょいめんどくさい。
subuprogramにはsubprogram宣言とsubprogram本体があり、
ソースに直接書き込む場合は、componentやらsignalやらを定義する領域にsubprogram本体を書くことで、アーキテクチャ本文中で呼び出して使えるようになります。

しかし、出来ることならパッケージに書いといていつでもどこでも呼び出したいし、変更があっても簡単に済ませたいですよね?そこでパッケージに書くのですが、パッケージにはpackage宣言の領域と、package_body文の領域があります。コンポーネント、定数、type宣言といった大概の宣言はpackage宣言に書けばいいですが、subprogram本体だけはpackage_boby文の中に書きます。package_body文というのはいわばsubprobram本体専用の領域なのです。

でもそれだけでは実行できません。関数の機能を記述する前には関数の名前と入出力を宣言をしないといけないのは世の常ですね。そこでsubprogram宣言の出番です。subprogram本体の入出力だけを切り出しただけです。こいつをpackage宣言に記述してやります(本体ではないですよ)。

こうして初めてサブプログラム呼び出しの恩恵を受けることが出来ます。
PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字