これは、私が自分の頭脳を包み込もうとしている単なる実験です。
したがって、2 つのレジスタ r1 r2 と 2 つのワイヤ w1 w2 があります。私が望むのは、両方の r が 1 の場合、両方の w が 1 である必要があることです。一方の r が 1 の場合、対応する w は 1 であり、もう一方は 0 である必要があります。両方の r が 0 の場合、w1 は 1 で、w2 は0.
11=>11
10=>10
01=>01
00=>10
注意点は、w1 の割り当てに r2 を直接含めないようにしたいということです。だから、私は持っています(たとえばVerilogでは、VHDLの答えでもまったく問題ありません)
assign w1 = r1 | !w2;
assign w2 = r2 | !w1;
これは必要ですが、十分ではありません。上記のすべてのケースが当てはまりますが、00=>01 も当てはまります。実際、r1=r2=0 の場合、ドライバーなしでワイヤのサイクルを作成するだけなので、結果は非決定論的だと思います。
w1の割り当てにr2を含めずに、探している結果を取得する方法はありますか、またはその逆ですか? (そして、新しい変数を導入することなく)。基本的に、ワイヤサイクルでw1が高くなり、w2が低くなるようにするためですか?