FPGAの部屋FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。procedureを使うときの注意点SMMのモデルをVHDLで作っているが、ここ数日間、SMMからWriteするprocedureとSMMからReadするprocedureを作っていた。そんなに日にちがかかるものでもないのだが、エラーが解消できなくて困ってしまった。次にまた同じ問題に悩まないようにブログに書いておく。procedureは下のようにpackageに宣言してあった。SMM_noUART_sim_pack;いつも、入力はsignal宣言を書かずに、出力だけsignal宣言を書いてある。VHDL階層構造とサブプログラム”によると、すべての信号をsignal宣言すると並列プロシージャとなって、入力信号が変化すると自動的に出力値が変化するそうだ。これは結局、入力信号をすべてセンシティビティ・リストに入れたprocess文と同じと考えることができると思う。私が使うとしているのは、順次プロシージャなのだが、out信号はsignal宣言をしている。今回も入力のclkはsignal宣言をしていなかった。untilでclkの立ち上がりを待つ記述を使用している。SMM_noUART_sim_pack;これでISimでコンパイルすると、下のようにエラーが出てしまう。clk='1';”の所のeventだということにやっと気がついた。std_logic;にして、やっとエラーが消えた。std_logic;”としてあった。