Replies: 3 comments
-
この問題は、1クロック中のどの瞬間の出力をその部品の出力とするかに依存する気がする。 |
Beta Was this translation helpful? Give feedback.
0 replies
-
03/a/RAM8.outを見たところ、1クロック後でも読み込めていることが判明した。一方、クロック中のどのタイミングで読み込んでいるかは不明である。 |
Beta Was this translation helpful? Give feedback.
0 replies
-
56ページの「展望」の章によると、どうやらフロッピフロップの値のセットのタイミングはクロックのエッジjの瞬間、つまり、クロックの信号が0から1に変わる瞬間のよう。読み込みのタイミングは以前分からず。 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
プロジェクト3のaの部品RAM8の内部構成を見ると、読み込みはクロックtにアドレスを入力に指定すればクロックtで値を取得できる。一方、書き込みはクロックtでアドレスと値を指定するとクロックt+1でやっと値がレジスタに書き込まれる。
ここで疑問なのが、この書き込んだ値を読み込みたい場合に、書き込みを指示したクロック(つまり書き込む値とアドレスをRAMの入力に指定したクロック)から何クロック後であれば安全に書き込んだ値を読み込めるのかだ。
0クロック後ではまだ値がレジスタに書き込まれていないので、この時に読み込んでも書き込み前の値しか読み込めない。1クロック後はどうだろうか?このクロックで、指定したアドレスのレジスタに値が書き込まれるので、クロックが変ってから十分な時間(と言っても次のクロックまでは達しないほどの時間)が経てば書き込んだ値は安全に出力される。しかし、クロックが変った直後はレジスタはまだ元の値を保っているだろうから、この時に読み込むと書き込む前の値が出力されてしまう。2クロック後はもう値が書き込まれているから安全に読み込める。
果たしてアドレスと値を指定してから1クロック後では、書き込んだ値を安全に読み込めるのだろうか。
Beta Was this translation helpful? Give feedback.
All reactions