値を保持して一度切り替えるとゼロに戻らないようにする必要があります。Verilogの片方向スイッチ
私はFPGAボード用のハングマンゲームを作ろうとしています。これを行うには、表示する正しい文字である定数onesLetter
があります。ユーザーは手紙を推測する必要があります。 onesLetter
が正しく推測されたら、それを表示して他の推測の間に表示し続けたい(デフォルトの表示に戻さない)。私が実装する必要がある表現である
// onesLetter is a constant we are checking against
// tempBooleanOnes represents if letter is currently being guessed
// tempSeg is input to check against onesLetter
// boolean is an input bit
wire tempBooleanOnes = (boolean && (onesLetter == tempSeg));
// Represent whether letter has been guessed or not
wire booleanOnes;
// Whether letter has been guessed or is being guessed
assign booleanOnes = (booleanOnes) || (tempBooleanOnes);
:私が出ているものをここで
です。しかし、割り当てられたワイヤと式の両方にbooleanOnes
を使用できないというエラーが表示されます。私は実現したregister (output, input, clock, enable, reset)
モジュールを使用しようとしましたが、~booleanOnes
(すでに1のとき、または既に推測されている場合は上書きしないでください)と出力はbooleanOnes
ですが、エラーも発生します。
これは、assign
ステートメントの代わりに試したレジスタモジュールのコードです。
register regOnes(booleanOnes, tempBooleanOnes, clk, ~booleanOnes, 1'b0);
登録時にエラーが表示されます(これは正しい考えです)。 'tempBoleansOnes'やその他のモジュール、' register'モジュールの実装を投稿することができますので、エラーをより正確に突き止めることができますか? – Unn
この式では、フィードバックループbufferを作成しています。この出力は、独自の入力に接続されています。したがって、ハードウェアには意味がありません。必要なものを実行するステートマシンを使用するモデルを作成する必要があります。これは、クロックとフロップを使用することも意味します。 – Serge