第9回分
フリップフロップ
フリップフロップにロマンを感じました
すばらしいセンスだと思います。
D-FFは、その他のFFの代わりに使えるということでしょうか?
D-FFの本質は、「CKの立ち上がりの瞬間の、入力Dの値の記憶」といえます。
他のFFも、現状態の記憶、が本質的な動作ですので、
作り替えはできますね。
なぜD-FFなのでしょうか?
上記のように、FFの動作の最も本質的なところだけを
備えたもの、であるから、といえるかと思います。
D-FFを使って何を作ることができるのでしょう?
順序回路全般、ですね。
D-FFばかり、というのは、この授業の範囲で、ということでしょうか?それとも他でも?
いえ、論理回路の世界、特にHDLなどのトップダウン設計では、
ほとんど同じと考えてよいと思います。
順序回路とレジスタとの違いは何でしょう?
レジスタは、複数のD-FF、つまり値の記憶という機能を持つ回路、
順序回路は、その記憶している値を「状態」と考えて、
その状態が、ある規則に従って変化していく回路、といえます。
レジスタ
同期/非同期リセットつきレジスタは、それぞれどのようなときに使うのでしょう?
リセットは非同期の方が便利そうだが、同期リセットの利点は?
特にHDLでは、すべての回路はクロックに同期して動作させるように
考えて設計をします。
そのため、リセットという動作もクロックに同期する方が、動作を考えやすい、といえます。
しかし、電源を入れた直後の初期状態だけは、リセット信号を与えて
初期化するのが一般的ですので、そこだけは、クロックに同期していない
リセットの方が使いやすい、ともいえます。
言い方を変えると、リセット信号を初期化にだけ使うのであれば、
同期リセットを使う必然性はあまりないような気が、個人的にはします。
レジスタのリセットは、何のためにあるものなのでしょう?
上記のように、基本的には初期化のためですね。
rstは内部で変化しているクロックのようなものでしょうか?
いえ、上記のように、初期化して、すべての値をゼロにするための信号です。
レジスタは、clkとrstでqが変化する、ということですよね。ではdは何?
clkの立ち上がり時点でのdの値がqの値になる、ということです。
レジスタの動作例のタイミングチャートの、00や22などの数値は何を表しているのでしょう?
例として与えたdの値や、それに対する出力qの値、を表しています。
一般的には、特に断り書きがない場合は16進数で表記することが多く、
この場合の22というのは、16進数での22、つまり2進数では00100010、ということに
なります。
これが、例えばd(7)〜d(0)のそれぞれの値、ということになります。
変化をあらわす'eventは、例えばa'eventのようにclk以外の変数でも使えるのでしょうか?
もちろんそうです。
信号名のあとにつけて使います。
カウンタ
カウンタで、ある数まできたら自動的にリセットするためにはどうすればよいでしょう?
if文で、カウント値と目標値を比較して、一致していれば0に戻す、
というのでよいですね。
具体的には次回の演習で扱います。
カウンタを簡略化せずにつくるとどうなるでしょう?
教科書の例を参照してください。
レジスタファイル
type宣言で、integer以外の変数の型はあるのでしょうか?
授業では触れていませんでしたが、VHDLで扱える変数の型、というものが
あります。
教科書のVHDLの文法のページを参照してください。
vectorはビットをまとめてarrayは変数をまとめる、という理解でいいでしょうか?
そのような理解でよいと思います。
レジスタファイルがよくわらなかった
レジスタファイルとはどういうときに使うのでしょう?
読み出しと書き込みが別々にできるメモリ、と考えるとよいかと思います。
レジスタファイルのnがいつ変わるのかわかりませんでした
nは、読み出しや書き込みする場所(番地)を指定するために与える
入力信号、ですね。
レジスタファイルの最後でqが、nがセンシティビティリストに入っているprocess文に入っていなかったが大丈夫でしょうか?
最後のqは、process文の外で、組み合わせ論理回路のように、regf(n)を
ただ接続しているだけですので、センシティビティ・リストは不要です。
regf(0)〜regf(7)の1つをnによってセレクタで選択したものをqにつなげている
組み合わせ論理回路として考えるとわかりやすいかと思います。
レジスタファイルの最後のqは、regf(n)のn番目とは、何のn番目?
regf(0)〜regf(7)のそれぞれが8ビットの変数で、それのn番目、ということです。
レジスタファイルのサイズをもっと大きくすればメモリのようになるんでしょうか?
基本的にはそういうことです。
ただしレジスタファイルは、その構成上、読み出しと書き込みが別々の入出力で行われます。
また1ビットの記憶は1つのD-FFで構成されるので、SRAMやDRAMなどのメモリ(RAM)と
比べると、あまり大規模化には向いていませんので、
小規模なメモリ、と考えるとよいと思います。
ファイルと配列とは同じものなのでしょうか?あるいは違いはどこ?
まあ同じもの、という理解でよいのではないかと思います。
VHDLなど全般
VHDLの文法は、C言語によく似ていると思えてきた。ここまで似ているなら同じにしてしまえばいいのに。
基本的にHDLは、回路を記述する言語、ですので、プログラミング言語には
なりえません。
ある程度文法が似ているのは、C言語になれている人が使いやすいように、という
配慮だと思います。
ちなみにC言語で書いたプログラムから、同じ動作をする回路を合成する
手法、いわゆるSystem-Cという設計手法も、最近はかなり実用的になっているようです。
C言語と少し表記が違うのでよくわからなかった
たしかに逆に違う部分も多いので、慣れるまでは、ややこしいですね。
各回路のタイミングチャートをもう少し詳しく説明してほしかったです
なるべく詳しくやっているつもりだったのですが、
もう少し補足した方がいいですかね。
順序回路の演習をやってみたい
ぜひ。
状態遷移回路あたりの復習は、次々回あたりに触れる予定です。
クロックを書くとき、エッジが斜めになっている図がありますが、斜めになっていない図との違いはなんでしょう?
流儀、みたいなものではないでしょうか。
ただし変化のタイミングの前後関係を厳密に示すときは、
斜めになっている図を用いる方がよいようです。
授業・レポート
レポートの点数は、成績に大きく反映されますか?
いろいろと考えるところがあり、第1回に限っては、反映させる割合を
小さくしようと考えています。
主な理由は、(1)レポートの採点基準を事前に示していなかった、
(2)演習の手順の説明が不足しており、人により進度に出た差が大きすぎた、
の2点です。
これらを解決した上で、第2回以降は、シラバスの基準通り
20%の比率で成績に反映させます。
最終的な成績のつけかたはどのようになるのでしょう?
基本的にはシラバスの通りです。
板書をもう少しきれいに書いてほしい
汚い字でも、なるべく判別はしやすいように、とは心がけているのですが、
まだ足りないようですね。
ヒビマイシンします。
板書が左右行ったり来たりで、どこのことについて書かれているのかがわかりにくいです
これは、自分でも気になっていました。
整理するように、ヒビマイシンします。
板書のVHDL記述がところどころ違っていました
これは失礼しました。
中間試験
中間試験にも出てきたhogeとは何を意味する言葉なんでしょう?
ここに、
解説ページへのリンクがあったはずなので、参考にしてみてください。
基本的には、名前をつけるのに困ったときに、とりあえずつけておく名前、です。
中間テストの前に演習をしてほしかったです
基本的には、この授業の演習は、VHDLで回路を設計できることを目標に
行っています。
試験対策の演習、は、ご勘弁ください。
+(加算)や×(乗算)をそのまま書けるのがHDLの利点のはずだが、テストではなぜ間違いになるのでしょう?
CLAのところのことでしょうか。
桁上げ先見加算器、と指示いてあるので、その構成(アルゴリズム)に従って
回路を設計しなければなりません。
それが問題です。
もちろんそのような指示がなければ+や×でよい(それがHDLの利点)のですが、
実装したい回路の構成/アルゴリズムがある場合は、
それを使った回路ができるように、HDL記述に注意することが大切です。
中間テストの穴埋め問題で、空欄の位置がわかりにくかった
HDL記述を順番に追って、おかしなところ(抜けているところ)を
見つけるのに慣れる、という意味も込めて、あのような問題の形態にしました。
中間テストで、中間点がほしかった
部分点は十分与えていると思いますが・・・
中間テストの3.(1)でxを4ビットとしてしまったが、例えばx<="1011"のようにすれば正解だったんでしょうか?
出力は必要最小のビット数で、という指示がありますので、
3ビットでなければいけません。
中間試験の模範解答をもう少しきれいな字で書いてください
試験時間中に書いていたので、少し汚い字ですが、ご容赦ください。
判別不能であれば、ご連絡ください。
質問票は提出物の点数には含まれるのでしょうか?
比率は未定ですが、ほんの少しは、レポートの一部として
反映させるかもしれません。
中間テストがむずかしかったです
中間テストの採点が厳しかったです
でも平均点が約80点ですからねえ・・・・・
中間試験を受けられなかった場合の追試レポートの点数は100点満点で換算されるのでしょうか?
もちろんそうします。
戻る