H2 カウンタの特性

  • 同期式順序回路により各種カウンタ(バイナリカウンタ,グレイコードカウンタ,ジョンソンカウンタ,ワンホットステートカウンタ)を作成する。クロックと各フリップフロップの周波数に関する関係を理解する。
    • 今回の実験は周波数を測定する実験である。時間を測定する実験ではない。周波数とは何か根本に立ち返って理解してほしい。
    • 実験にはすべて意味がある。なぜcounter500ms(またはcounter1sec)を使ってカウントを測定しているのだろうか。その出力は何を意味しているのだろうか?
    • 自分たちの周波数測定の実験結果とcounter500ms(またはcounter1sec)の出力との比較・考察をすること。
  • 今回の実験も十分な最適化をすること。ゲート数,配線数を少なくしないと回路記述中にミスが多くなります。
    • グレイコードカウンタは20ゲート程度(2入力のゲート換算,Q_NのためのNOTゲートも含む)で実現できるはず。
    • 10進カウンタは2入力ゲート3つとNOTゲートで構成可能。
    • ジョンソンカウンタは多分NOTゲート3つ,ワンホットステートカウンタはNOTゲート1つでできると思います。

追加補足説明

  • 使用するフリップフロップはJK-FFとする。
  • リセットボタンにより非同期に0クリアする。リセットボタンの信号をFFのCLR(クリア)信号に接続する(一部除く)。またPR(プリセット)信号(1にセットする信号)は0または1の適切な方に接続しておく。
  • バイナリカウンタ,グレイコードカウンタは、5本の信号線(CLK,Q3,Q2,Q1,Q0)を観測することになる。
  • クロック波形とフリップフロップの出力はシミュレーション結果を用いて考察すること。
  • counter500msは \\fs.inf.in.shizuoka.ac.jp\share\class\情報科学実験III\src\counter500msフォルダがある。またはTeamsの「一般」のファイルにもフォルダが用意されている。
    • フォルダーごとコピーした後、Quartusの Assignments→settings…→Libraries→下のProject library name:にcounter500msを指定し、Addボタンを押しライブラリとして追加すること。
    • 追加後は、パーツの選択にProjectの下にcounter500msが現れる。
    • clockはオリジナルクロックのclock_50を入力する。
    • pluse_inは計測したい波形を接続する。
    • counter500msのreset信号には、常に”0”を入力する。
    • 1秒辺りのカウント数をcount[15..0]に出力する。
  • counter1secも作っておきました。counter500msと同様の使い方です。
    • clockはオリジナルクロックclock_50を使用,pluse_inは周波数を計測したい波形を入力,resetは1が入力された時、カウント値をゼロリセットするものである。
    • 1秒間のカウント数をcount[15..0]に出力する。
  • オリジナルクロック(clock_50)は50MHzのクロックであり、少し周波数を落とす必要がある。
    • gen1khz,gen10khzのモジュールは50MHzのクロックを分周して1KHz,10KHzのパルスを生成する回路である。
    • counter500msと同様 \\fs.inf.in.shizuoka.ac.jp\share\class\情報学部実験III\src のフォルダまたはTeams内にあるのでフォルダごとコピーしてQuartusで使用できるよう設定する。
    • ライブラリに登録するとモジュールが使用できる。
    • clock信号にはオリジナルクロックclock_50を接続する。
    • Q出力から1KHzまたは10KHzのパルスが出力される。この出力をFFのクロックとして使用して実験を行う。
  • Counter500msの出力を7セグメントに出力した結果をイメージではなく表示されている数値で示すように。どう見えたかが重要ではなく、いくつだったかが重要である。7セグメントの表示イメージを示されてそれが10進数でいくつだったかすぐに読み取れるだろうか?
  • f = 1 / T はつねに同じ周波数(周期),振幅の波が続いているところで成り立つものであり、その前提が成り立たないものに適用するには議論を要する。例えば、図2のような波がある時の周波数はいくつとすれば良いだろうか。

図2. 周波数が一定でない波

連絡事項

  • 実験結果の画像を拡縮する必要が有る場合には、縦横等倍で拡縮すること。縦横比を変えてはいけない。
    • シミュレーション結果の画像(スクリーンショット画像)がこれに該当する。縦横の比を変えないようにレポートに記載すること。
    • Windowsキー + shiftキー + sキーの同時押しでスクリーンショット,ウィンドウショット,指定領域の画像を取得できる。

 

レポート(報告書)のチェックシート(H2用)

チェックリストのフォーム(H2用)へ

文章の内容に関する項目

長谷川泉編著,国語表現ハンドブック新訂版,明治書院 より。

+ 内容がしっかりしているか?

□ 論理的に混乱はないか?(道筋の乱れ)

□ 材料・データに矛盾はないか?(部分の乱れ)

□ 文章の展開に飛躍はないか?

+ 表現意図が伝わるか?

□ 読み手に明確に伝わるか?

□ 相手に応じた述べ方をしているか?(後輩の学生を想定してみよ)

□ 自然で素直な文章になっているか?

□ 正確な表現になっているか?

□ 曖昧な表現はないか?

□ わかりやすい長さの文になっているか?

+ 素直で正確な文章になっているか?

□ 視点は統一されているか?

□ 文の構造は正しく整っているか?

+ 文中に混乱や不統一な点はないか?

□ 文中の言葉はきちんと呼応しているか?

□ 語順に不適切な箇所はないか?

□ 文法的な形式が整っているか?

□ 重複した表現はないか?反復は別。

□ 必要な語が脱落していないか?

□ 語形や用法に乱れはないか?

+ 表記は適切か?

□ 誤字脱字、仮名遣いや送り仮名に誤りはないか?また、表記は統一されているか?

□ 句読点の打ち方は適切か?

共通項目

□ 章や節の構成を意識して、文章を構成する。

□ 段落を意識して文章を構成すること。1文が1段落のような文章は良くない。

□ 段落のはじめは1文字字下げする (Wordでは空白を入れなくてもスタイルで調整することができる)。

□ コピーを使用していないこと。回路図を書く練習を目的にしているので、 指導書等の図のイメージを取り込んで張り付けるのもダメ。

□ 実験結果を一目で理解できるように観測データを整理し実験した証として提示保存する。

□ 観測データを見やすいように、表やグラフとして提示する。

□ 図表には全体の通し番号と説明文(キャプション)を付ける(図2 xxxx,表1 ~~~ のように)。

□ キャプション(図のタイトル・説明文)は、図の場合は図の下側、表の場合は表の上側に付ける。

□ 図表は必ず本文から参照し、本文では簡単な説明を書く。「~の実験結果を図●に示す。図●は~」のように本文から参照すること。

□ 一つの図表はページをまたがらないように配置する。

□ 論理回路図の書き方に従い、定められた記号を用いて正しい回路図を記載する。

□ 論理式も標準的な書き方/記法に従い正しい論理式を記載する。

□ レポート用紙の周囲1インチ(2.5cm)程度、余白を設ける。

レポートの上部を3箇所程度(左上、上、右上)、上にめくりやすいようにホチキスで止めること。

□ 作成した回路の回路図にはピン番号やIC番号が正確に記されているか?

□ 使用した論理素子や測定機器等の実験装置は正確に記載されているか?

□ 実験データは入力・出力が正しく分かりやすく示されていること。

個別項目

□ 今回の実験は動作結果よりも設計の過程が重要。 間違いなく、論理的に設計の過程が記述されているか?

□ 手動入力での実験の記録はクロックのどこ(立ち上がり/立ち下がり)で出力の値が変化するかが正しく書かれているか?

□ 見やすい位置に表やグラフが配置されているか?

□ 測定したデータがそのまま記載されているか?

□ 表のデータに誤りはないか?

□ 観測方法に誤りはないか?LEDを使用して観測した入出力か?

□ 7セグメントLEDを使って読んだcounter500ms(など)の出力は10進数でいくつになったのか示されているか?

□ シミュレーション結果は適切な大きさで張り込まれているか?(細かすぎたり1周分まで表示されていなかったりしてないか?)