ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
Main Menu
Tweet
Facebook
Line
:-?
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
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時間かかるという計算に、無理すぎ(;´Д`)

分替わり直前の状態から分替わりの前後をシミュレーションしないとやってられない。

もう一度周波数カウンタモードでやり直してみるか。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   Poorman's MSM5524 webadm 2008-8-12 11:11
     トップレベル webadm 2008-8-13 5:51
     FREQUENCY COUNTERブロック webadm 2008-8-14 20:05
     CLOCK DIVIDERブロック webadm 2008-9-8 10:54
     CONTROLブロック webadm 2008-9-14 23:10
     CLOCK TIMERブロック webadm 2008-9-16 5:20
     DISPLAYブロック webadm 2008-9-17 10:16
     RTLスケルトン入力 webadm 2008-9-18 13:18
     RTL: FREQUENCY COUNTER webadm 2008-9-18 22:49
     RTL: CLOCK DIVIDER webadm 2008-9-19 5:14
     RTL: CONTROL webadm 2008-9-19 8:56
     RTL: CLOCK TIMER webadm 2008-9-22 10:27
     RTL: DISPLAY webadm 2008-9-23 8:56
   » 動作シミュレーション webadm 2008-9-24 3:36
       Re: 動作シミュレーション webadm 2008-9-24 5:08
         周波数カウンターモードのシミュレーション webadm 2008-9-24 5:41
           QuartusのState Machine Viewer webadm 2008-9-24 6:18
             どうやらバグではないようだ webadm 2008-9-24 7:17
             周波数カウント動作は出来た webadm 2008-9-24 9:10
               時計とタイマー関連 webadm 2008-9-25 20:06
     VFDドライバ回路 webadm 2008-9-26 7:47
       Re: VFDドライバ回路 webadm 2008-10-1 10:08
         Re: VFDドライバ回路 webadm 2008-10-5 23:29
           Re: VFDドライバ回路 webadm 2008-10-6 11:09
             Re: VFDドライバ回路 webadm 2011-2-23 0:50
     XILINX ISEでコンパイルしてみた webadm 2008-9-29 11:07
     CLOCK TIMERモジュール無しでコンパイルしてみた webadm 2008-10-5 11:56
       Re: CLOCK TIMERモジュール無しでコンパイルしてみた webadm 2008-10-5 12:37
     冬休みの課題にしよう webadm 2008-12-16 9:49
       主要部品が届いた webadm 2008-12-24 20:21
         OKI MSM5524RS入手 webadm 2011-1-4 22:55
           Re: OKI MSM5524RS入手 webadm 2011-1-10 5:06

投稿するにはまず登録を
 
ページ変換(Google Translation)
サイト内検索