VHDLでデジタル時計を作成する方法

このQ&Aのポイント
  • VHDLを使用してデジタル時計を作成していますが、逆戻りするプログラムを追加する際に問題が発生しています。
  • 既存のプログラムに追加した68、162~175行目に問題があり、時計の数字が停止してしまいます。
  • VHDLの理解が不十分であり、問題の解決方法がわかりません。ご指導いただけると幸いです。
回答を見る
  • ベストアンサー

VHDLのデジタル時計

VHDLでデジタル時計を作っているのですが、現段階で完成しているのがSW1を押して早送り、SW2を押してさらに早送りができる機能を備えています。 それで自分がこれからしたいことはDIP_SWを1をオンにして、SW1を押すと、時間が逆戻りするプログラムです。下のURLにプログラム全体を載せています。 http://torupa21.gozaru.jp/vhdl.htm 自分で68、162~175行目を追加して、若干変更してみたのですが、SW1を押しても数字が止まってしまうだけでした。 VHDLをあまり理解していない自分にとって、何が駄目なのかも分からない状況です。 宜しかったらご指南お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • JYUZA
  • ベストアンサー率29% (54/184)
回答No.1

他人のソースと言うのは見難く、ちょっと見ただけですので何とも言えませんがDIPSW(1)の論理が逆とかありませんか?SW1とSW2は押すと0になってるがDIPSW(1)は正論理になっています。回路にもよりますが私はDIPSWはonで0にしますので。 でもその場合はSW1を押す押さないに関わらずDIPSWを変化させた時点で動きませんね。ちなみに動かないと言うのは表示はどうなっているのでしょう?

fto7500
質問者

お礼

申し訳ありませんが、自分で解決してしまいました。

関連するQ&A

  • タイマーをデジタル時計風にするには

    ※数日前にも「教えて!goo」の同じカテゴリーで質問した者です。 ※結局自分が書いたコードを使ってるんですが... <html> <head> <title>test</title> <script type="text/javascript"> <!-- function doCountDown() { setInterval('countDown()', 500); } function countDown() { var now = new Date(); var tomorrow = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1); var diff = Math.floor((tomorrow.getTime() - now.getTime()) / 1000) + 1; var hour = Math.floor(diff / 3600); diff %= 3600; var min = Math.floor(diff / 60); var sec = diff % 60; document.getElementById('cd').innerHTML= "今日の終わりまであと" + hour + "時間" + min + "分" + sec + "秒"; } //--> </script> </head> <body onload="javacript:doCountDown();"> <div id='cd'></div> </body> </htm> ※カウントダウンタイマーをデジタル時計風にするには、どうすればいいのでしょうか? (つい最近、「デジタル時計」をアメリカのサイトのサンプルを模倣しながら作ったことならあります。) デジタル数字のイメージ「0~9」と「:」はもう準備来ました。 ”0”をdg0.gif、”1”をdg1.gif~~~~~”9”をdg9.gifとし、”:”をdga.gifとします。 これらのイメージを入れつつ、上のコードに沿って動かしたいです。 ちなみに、自分が作ったデジタル時計は以下のやつです。

  • Windowsの時計(フリーソフト Dclock)

    ■Dclock var.0983使用 ■Windows XP pro 今さっきDclockという、Windowsの時計表示をカスタマイズできるフリーソフトをダウンロードしました。 でもちょっとイメージと違ってて、アンインストールしようと思うのですが、できません…。 デスクトップ上においてある、Dclockのファイルも削除できません。書き込み禁止になってるかプログラムを閉じてからやれ、と出るのです。しかしながらプログラムの閉じ方が分からないのです。 例えば桜watchならパソコン右下の常駐しているアイコンに『終了』という項目がありますよね?Dclockはどこで終了させれば良いのでしょうか?! 一応、私のこれまでの動き。  vectorから普通にデスクトップ上にダウンロード。  圧縮されてたので、デスクトップ上に解凍。  解凍されたファイル内のDclockをクリック。  デスク右下の時計が勝手に変わる。  ちょっとジャマかも。  閉じようとして時計をクリックしてみるけどできな い。  ファイル内のDclickアイコンをクリックしてみる、  2重起動は出来ないと言われる。  一応プログラムの削除にもいってみるが、ない。  デスクトップ上のファイルを削除しようとする。  削除できない。(上記通り) ネット上で見つけました。↓ ●アンインストール方法  WindowsのSystemフォルダより、  デジタル時計.scr  Dclock.ini  を削除して下さい。 これができないのです!!分かる方いらっしゃいましたら是非ともご指南を ...._| ̄|○ Dclock→http://www.vector.co.jp/soft/win95/personal/se297269.html

  • DIBからAVIファイル作成

    DIBからAVIを作成するプログラムを作っているんですが、作成されたAVIを再生してみると、早送りのような感じになってしまいます。 再生時間も実際の録画時間の5~7分の1くらいです。 CCDカメラで写した画像をDIBとして扱って、AVIファイルに出力するようなロジックです。 デジタル時計をCCDカメラで写して再生してみると、やはり時計が秒をうつ間隔が一定ではないんです。 画像処理プログラムを作るのは今回が初めてなので、インターネットで検索して見つけたコードを真似ただけで、理屈がわかっていません。 そのため、ロジックのどこに問題があるかわかりません。 ご存知の方、教えていただけないでしょうか? 質問が長くなってはいけませんので、プログラムの詳しいことについては、補足で回答したいと思います。

  • 防水タイプのデジタルカメラの選択

    お世話になります。 現在防水タイプのコンパクトデジタルカメラの購入を検討しています。 以下のような使用を想定しています。 ○自分の子ども(保育園年長と年少)の撮影がメイン ○海や山などのアウトドアで使用する。水深は、水面+αくらい。 ※そのため、防水仕様の機種を検討しています。  以下のような機種を検討しています。 ○オリンパスμ725SW ○オリンパスμ770SW ○ペンタックスOptio W30 ○サンヨーDMX-CA65  サンヨーDMX-CA65に関しては、若干性質が違うので、同列で比較するのはどうかと思いますが、動画も写真も撮影できるということで気になっております。  そこで質問です。上記の機種を比較したときの優劣は、以下の項目ではどのようになるのでしょうか。 ○静止画の画質。 (画素数だけではなく、通常感度時、高感度時、晴天時、夜間でのフラッシュ撮影、手ぶれ補正など) ○動画の画質。 ○バッテリーの持ち。 ○AFのスピードや精度。 ○総合的な使い勝手。 ○その他ご使用になって気づかれたことなど。 ○その他お勧めの機種。 ちなみに、現在使用中の機種は以下の通りです。 ○一眼レフデジカメ CANON EOS20D(メインで使用しています。) ○コンパクトデジカメ CANON IXY300(昔の機種です。あまり使っていません。) ○デジタルビデオカメラ CANON IXYDV-M5(現在IXY300のかわりにもなっております。)  よろしくお願い致します。

  • VHDLの書き方について

    教科書で signal a : std_logic_vector (3 downto 0); a <= (others => '0'); -- A というような書き方がありました。 この Aの意味は何なのでしょうか?

  • VHDLについて教えてください

    VHDLついてお教えください。 今、VHDLの勉強しているのですがsignal文とvariable文の違いが良く分かりません。 以下の記述で(1)の結果なぜこのようになるのか分かりません。 ご存知の方、ご教授願います。 例(1) process(A, B, C, D) begin D < = A; X < = B + D; D < = C; Y < = B + D; end process; 結果 X < = B + C; Y < = B + C; 例(2) process(A, B, C) variable D : std_logic_vector( 3 downto 0 ); begin D := A; X < = B + D; D := C; Y < = B + D; end process; 結果 X < = B + A; Y < = B + C;

  • VHDLについて

     卒業研究としてVHDLを用いて除算器を設計することになったのですが、VHDLについては全くの初心者です。  こんな私にとってVHDLの基礎から除算器を設計するにいたるまで、参考になる本やホームページがあれば教えていただけませんか?

  • VHDLでできること

    現在、私はプログラミング言語のVHDLを勉強していますが、この言語でどのようなことができるのかあまりはっきりしません。そこで、VHDLを使用してできることをどんな些細なことでもいいので教えていただけないでしょうか。あとVHDLの将来性のようなこともご存じの方がいらっしゃいましたら教えてください。よろしくお願いします。

  • VHDL

    VHDL言語を使ったテストベンチの作成で困っています。 テストベンチのサンプルや見本など探しています。 特にチップベンダーに依存せずに編集可能なツール もしくはテストベンチを自動生成してくれるツールが ありましたら教えてください。

  • VHDLに関して

    複数ビットの信号を宣言する際に std_logic_vector を用いますが、その後のdowntoやtoの意味がよく分かりません。 下の画像だとdowntoですが、toでは何故ダメなのでしょうか? また、selはstd_logicでいいと思うのですが何故複数ビットの扱いなのでしょうか? すみませんが、初心者なのでできるだけ分かりやすく説明していただけると幸いです。 宜しくお願いします。

専門家に質問してみよう