旅する情報系大学院生

旅と留学とプログラミング

DラッチとRSラッチでDflip-flopを作る時のnotの位置

先週のハードウェア実験で得た知見です。アナログ回路の話です。

最初はこのような回路を作りました。これだとクロックの立ち上がりでデータが捕獲されないのですが、何故かわかりますか?
f:id:yamaguchi_1024:20170430125632p:plain

波形図はこのようになります。
f:id:yamaguchi_1024:20170430125638p:plain
D flip flopはnotゲートの遅延によってクロックの立ち上がりのみでデータを出力に通すわけですが、上の回路だと データがDラッチを通過する速度 < clockがnotゲートを通過する速度になってしまったようで、波形図の①でデータがDラッチを通過しQに出て、RSラッチのsetに入るときにはRSのclockは0になっていました。

以下のようにnotの位置を変えるだけでクロックの立ち下がりでデータが捕獲されるようになり、治りました。
f:id:yamaguchi_1024:20170430125635p:plain

波形です。
f:id:yamaguchi_1024:20170430125641p:plain


これで一時間くらい溶かしたのですが他にも、
入力がグラウンドにショートしているのに気づかず一時間溶かす
回路には全く触れていないのにwaveformsをいじったら綺麗な波形が出るようになった
などがあり超楽しかったです。