CPU


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

半加算器、全加算器、セレクター、ALUの設計が出来たので動作チェックをしました。

半加算器、全加算器、セレクターの動作チェックは順調に行ったが、ALUの動作チェックは上手くいきませんでした。

足し算をしたところ、繰り上げの値が表示されませんでした。理由を探ったら、繰り上げは出来ていたけど次の位のところが先に計算されていたので繰り上げの値が計算されていなっかたようです。

対応策としては計算を遅らせて順番に計算するようにすることだと思い、バッファをセレクターの前につけてみました。そしたら繰り上げの値もちゃんと表示され上手くいきました。減算とビットごとのANDの計算も出来ました。

しかし、ORの計算が上手くいきませんでした。対応策は次回考えます。



11月5日
メモリ動作回路作成を始め、回路を正しく作成したつもりだが結果も出なければ信号も一切でない。先生指導の下原因を探ったところ。①回路が正しく構成されていないのではないか。②電源、グランドのピンがなく動作していないのではないか。③入力される電力が足りていないのではないか。との原因が考えられた。①の回路の構成については、正しく構成されている可能性が高いことが確認できた。③の電力について、今までは5Vの電圧をかけそれをスイッチの切り替えで送っていたころから、これが原因の可能性だと考え、スイッチとメモリの間にアナログスイッチの回路を挿入した。これにより、アナログスイッチがスイッチから送られた信号を受けた場合その信号を受け取り、アナログスイッチ自身が持つVDDの電圧を送るので電圧低下が軽減されたが一切メモリに反応がなかった。
 11月6日はメモリ回路の電源、グランドについてどういう使用になっているのか検討していきたいと考えている。



11月6日
 メモリ動作回路の作成を引き続き行った。機能原因だと思われた。電源、グランドについて原因を探ったところ。multisimの仕様で、素子を使用するときは電源とグランドを接続しないまま配置することにより素子を動作させるという基本的な部分を忘れていたことが原因だとわかり。電源、グランドを配置することにより正常なメモリ動作を確認することができた。



11月11日

岩波の計算システム入門に載っている、ワイヤードロジックによるタイミングチャートを作成した。次回、制御動作からワイヤードロジックについて学んでいく予定。



11月12日

先日に引き続き、計算システム入門に乗っている、ワイヤードロジックによるタイミングチャートを作成し、作成したタイミングチャートを計算システム入門に乗っている、制御シーケンス(加算動作)との動きがあっているか確認したが、始めの命令フェッチ時のR/Wの動きがおかしい事がわかり、原因を探ったところ、計算システム入門に載っているワイヤードロジックの図のR/Wの信号を作る部分の取り込まれる信号が原因だと考えた。φ3、φ0、D-FF①から取り込みNANDしている部分をφ1、φ0、D-FF①から取り込みNANDにさせることで、原因を解消させることができた。また、値をREADさせる部分でも同様の原因を発見し、φ0、φ1、D-FF④の部分をφ2、φ1、D-FF④にすることで原因を解消させることができた。そして、M32の加算動作が一通りは理解できた。



11月13日

前回の計算システム入門の1語調の制御シーケンス(加算動作)を参考にして2語調の制御シーケンスを作成することがきた。11月14日以降はその制御シーケンスどおりの結果を出せるよう回路を構成していく予定である。



11月14日

前回の求められた2語調の制御シーケンス(加算動作)から、今日はワイヤードロジックを求めた。回路動作の確認が取れたため、実際の回路を組んでいく予定である。



11月18日

制御シーケンスから加算動作のワイヤーロジックによる回路の設計をして、求めたい出力を出すことが出来た。次はCPU全体の回路設計していく予定である。


11月19日

CPU全体の回路作成に取り掛かる。加算動作ワイヤーロジックとメモリをつなげたところまできた。ワイヤードロジックから出る信号についてまだ知識が足りないところがあるようなので、製作しつつ学んで生きたい。
また、ALU、メモリ、ワイヤードロジックと階層化されたデータが増えるにつれ、データを安定的に維持するためにも適度に保存していきたいのだが、multisimからの処理すべきデータが増え、特に、データを保存する際に30分程度の時間がかかる。進み具合もよいわけではないので非常に困る。


11月20日

前日記述した、階層化されたデータが増えるにつれmultisimの動作に時間がかかるようになってしまったため。階層化して使ってきた回路をもともと、multisim内に出来上がっている回路があるため、それを使用し組みなおしていたのだが、clock回路の動作がおかしいことに気づく。いろいろ調べてみた結果、初期値が安定していないための波形のズレだと判明したため。はじめにDフリップフロップの初期値をリセットさせるために、リセットスイッチの回路を作成し、その信号をDフリップフロップのリセットに入れて動作させれば波形が安定することが確認が取れているので、次回、リセット回路を作成し、clock回路の完成に勤めたい。

11月21日

リセット回路を作成するが、全く動作しない、参考書道理作成してみてもうまく動作せず。抵抗、コンデンサの値を変更させて、動作できることがわかった。


11月25日

卒業研究中間発表②を行った。
その後、11月20日に書いた。階層化することでmultisimの処理に時間がかかる件について、自ら作ったデータの場合各素子の読み出し保存について時間がかかっているようなので、もともとmultisimに保存されている出来合いのICを使うことで処理にかかる時間を減らすことが出来るので、自ら作成し動作が確認が取れているものについて、出来合いのICに置換することにした。

11月26日

前日の通り、置換を行い、自ら作成し動作が確認が取れているものについては置換が完了したので、回路全体の作成に取り掛かっています。

12月2日

プログラムカウンタを作成しました。動作チェックも出来ました。

12月3日

レジスタとゲートを組み合わせた回路の動作チェックをしました。レジスタの初期値はFFFFが入ることが分かりました。

12月4日

メモリを除いたCPUの動作チェックをしました。信号は手動でやりました。

12月5日

レジスタとゲートをつなげた物を階層化しました。メモリーも16BITに拡張しました。

12月9日

CPU全体の回路作成をしました。保存するのにとても時間がかかりました。そのため動作チェックになかなか移れませんでした。

12月10日

CPU作成終了

12月22日

論文作成中

研究目的を上手くまとめるのに苦労している

12月25日

配線論理の出力に不具合が見つかりました。
勘違いをしていて、いままでは、スタートとデコーダからの入力をHIGH信号を入れっぱなしにして動作させたために、全部のタイミングで信号が出っぱなしとなってしまいました。スタートとデコーダのはじめの入力タイミングについて直す必要性があると考えています。

1月~

論文作成中

1月14日

一回論文をチェックしてもらい、修正する部分が多く見つかった。

1月21日

だいぶ論文が出来てきた気がする。
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。