フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
webadm | 投稿日時: 2008-9-24 3:36 |
Webmaster 登録日: 2004-11-7 居住地: 投稿: 3088 |
動作シミュレーション しかしまったりと設計してきたPoorman's MSM5524もオリジナルの主要機能をカバーするものを一ヶ月ほどで設計できてしまった。ハードウェア記述言語と論理合成及びPlace & Routeツールのおかげである。
30年前にオリジナルのMSM5524を設計した人達はコンピューターも無かったから紙の上でほとんどの設計検討を行うしかない。論理合成ツールなのないのでひたすらカルノーマップを描いて自分で組み合わせ論理を合成していったのだろう。検証段階ではシミュレーターなど無いので標準ロジックICやトランジスタ回路を使って等価なプロトタイプハードウェアを製作し、実際に動かして観測することで確認していたと思われる。プロトタイプハードウェアで動作確認きたらそのネットリストにに基づいてトランジスタ回路に置き換え配置配線しマスクを描くという具合。当然最初のマスクで一発完動というのは少ないだろうから修正を重ねてようやく量産マスクが出来ると。今のソフトウェア開発がやっている人海戦術を昔のロジックLSI設計ではやっていたのだ。今日でもうそんなことをやっていたら会社は存続しないだろうけど、ソフトウェア開発会社は未だにそれをやらないと存続できないという哀れ。 余談に走ってしまった。 とりあえず最初に周波数カウンタモードに入力を設定し、クロックを入力し初回に全体リセットを入れてフリーランしたら出力信号がどうなるかシミュレーションしてみた。 予想では周波数カウントのゲートタイムは100分の8秒なので80msecこれを2回分程度見るとしてシミュレーション時間は200msecに設定。クロックを3.2768MHzで与えてみたつもり。シミュレーションには30分近く要した。 見るとセグメント出力と桁イネーブル信号は変化している。しかしduty比がDIMMERをディスエーブルにしているのに1/4になってしまっている。それに桁イネーブル信号とSEGGにヒゲが出ている。それとSW周波数カウントの時にはAM/PM表示はどちらもOFFにしないといけない気がする。 それと内部のC1HZとC10HZの周期がおかしい。よく考えたら3.2768MHzのクロック入力を生成する際に間違って10倍早い周期を与えていた。C1HZとC10HZの周期関係は期待した通り1:10になっている。まあコンパイルレポートを見ると動作クロックは数十MHzまで大丈夫くさいので10倍早いクロックでも動くということがわかった。 それと周波数カウンタ動作はどうもうまくいっていないらしい。 これから原因を探ることになるが、目的別に小さいテストベンチをいろいろ組んだ方がよさそうだ。 P.S よく見たら入力信号のSの値がall Hで時計モードになっていた..orz 確かに表示がリセット時の初期値 AM 01:00だ。ちゃんと動いているじゃないか(´∀` ) 少なくても表示が変化するのを見るには1分間以上シミュレートしないといけない、200msecで30分かかるから1秒間シミュレートするのに150分、1分間だとその60倍の9000分。150時間かかるという計算に、無理すぎ(;´Д`) 分替わり直前の状態から分替わりの前後をシミュレーションしないとやってられない。 もう一度周波数カウンタモードでやり直してみるか。 |
フラット表示 | 前のトピック | 次のトピック |
投稿するにはまず登録を | |