フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
webadm | 投稿日時: 2006-3-20 21:10 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3094 |
仕上げた結果 HDLでの入力自体は半日もかからなかった。その中でも時間を要したのは各月の最終日がどうだったか調べるのに費やされた。
一年の前半は奇数月が31で偶数が30日だけど後半は偶数が31日で奇数が30日だとはすっかり忘れていた。あと今年が閏年でなく2月の最終日が28日なのを先月のカレンダーで確認。 階層的に記述する仕方を知らないこともあって、一枚岩になってしまったので仕様検討段階で思い描いていたような見通しのよいものとはかけ離れてしまった。やっていることは等価であるが。 いろいろ文法とかいきあたりばったりで書いているのでコンパイルエラーをとるのに少々時間がかかったものの、躓くことはなくコンパイルはすぐ通るようになった。 問題はここからでシミュレーションのためにプリセットのためのテストベクターを与えなければいけないのだがその方法が後になるまでわからなかった。仕方がないのでとりあえず0000年00月00日00分00秒から時計が進むかどうかを確認してみた。この時点で1MHzクロックを分周して1秒を数えるのが気の遠くなる時間だということが判明。急遽クロックを2Hzに落とすように勝手に仕様変更。ふつうは32.768KHzで十分だということに気づく。 それでもさすがに年替わりまで見ることはできないものの、この段階でいくつか記述上の抜けから繰り上がり後に値が保持されないとかの問題を発見。本当はもっとエレガントな記述方法があるのだろうと思うけど、行き当たりばったりで行を追加。 万年時計のAHDLソース 翌日にすっきりした頭でデザインツールのヘルプドキュメントを読み直したらWaveform Editorで任意の波形パターンを入力する方法が判明。さっそくそれを使って仕様検討段階で描いていた代表的なタイミングチャートを試してみる。ちゃんとうごくじゃないか。 代表的なタイミングチャート ついでに最大の関心事だった閏年判定をチェックしてみる。まずは2000年は閏年なのでその2月29日の日替わりをチェックしてみる。ちゃんと3月1日に替わってくれた。 2000年の2月29日の日替わり 追加で今年は閏年ではないので2月28日の日替わりをチェック。これも問題ない。3月1日に替わった。 今年の2月28日の日替わり コンパイラーのレポートを見るとI/Oピンはもうだいぶ残り少ないもののLEは半分近くまだ手つかず。まだまだ機能を追加できる余裕がありそうである。nPRESETの他にnUPとかnDOWNとかを追加して指定桁を進めたり戻したりする微調整機能をつけてもよさそうである。これは読者の課題に。合成されている組み合わせ論理がどうなっているか気になるところだが、それほどの量ではないもののちょっと目ではどうなっているのか時間をかけないと読み取れない。 万年カレンダーのFPGAマップレポート 今回少し規模が大きいので遊んでみた感想はいろいろあるものの書ききれないのでまた後日。 |
フラット表示 | 前のトピック | 次のトピック |
投稿するにはまず登録を | |