とあるモノを作ろうと思っていて、そのお試しに
久々にVHDLを書いてみました。相変わらず上手く
いきませんねぇ。(TへT)
ちょっと書き足してはコンパイル、ちょっと書き
足してはコンパイル…ってやっているんだけど、
エラーが出ると理由が良くわからない…
process文を一つ一つ切り割りしてコンパイルする
とちゃんと通って、シミュレーションもそれなりの
結果が出てくるんだけどな…。
Can't resolve multiple constant driversって
いうのは、一つのsignalに対して複数のprocess文
から代入を行う処理になってるからダメよって
言われているのか???
イメージ的には、D-FFやJK-FFでリセット入力付きの
カウンタを書きたいだけなんだけどなぁ。
カウンタ値を設定するprocess文って、カウントアップ
、カウンタリセットに関わらず一つのprocess文内に
まとめて書かないといけないのかなぁ?
別々の処理にしたいんだけどなぁ。
そんなこともまだ良く解ってないんだよなぁ…。
そういえば、ステートマシンを書く時って、
ステートの更新を行うのは別々のprocess文で
やってたと思うんだけどな…。
と思って、前に書いたVHDLを開いて見る…
おぉ、やっぱ一つのprocess文内で纏まってるなぁ。
するとやっぱり原因はアレか?複数の
process文に分かれているのが原因か?
でも、一つのprocess文の中に更新条件を記述する
っていうのは、オイラの頭ではなかなか難しいなぁ。
しかもマクロセルの消費を抑えるために、カウントする
条件がちょっと複雑だったり、カウントアップの
条件にカウンタ値が含まれていたり…と、やっぱり
オイラの頭では難しいなぁ。
多分、「同時処理」っていうことの根本が理解できて
居ないんだろうなぁ。
ソフトウェアの頭から進歩してないってことなん
だろうなぁ。
Z80とかAVRとかのCPUコアのIPを作って公開
してる人たちって…もう、凄いね。
頭の中、どうなってるんだろう?
|