問題タブ [digital-logic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - ArduinoデジタルピンのHIGH LOW出力が逆になっているようです
昨年、当時はうまく機能していたコードを書きました。ただし、今回同じコードをロードすると、逆の出力が得られます。つまり、デジタル ピンが HIGH に設定されると、LOW に戻り、逆もまた同様です。
BLINK EXAMPLE を試してみましたが、その場合も出力が逆になっているようです。
コードは次のとおりです。
コードによると、私の LED は 1 秒間オンにしてから 5 秒間オフにしてから、再びオンにする必要があります。ただし、取得している OUTPUT は完全に逆です。つまり、LED は 5 秒間オンになり、1 秒間オフになります。これを修正する方法を教えてください。
私のメイン コードは、arduino と android のインターフェイスに基づいています。私は昨年達成したBluetooth経由のandroid-arduino接続のためにこれを修正するために取り組んできましたが、現在この問題が発生しています。これを3つの異なるarduino unoボードで試し、異なるセンサーで試しましたが、HIGH-LOWが逆になっているようです。
cpu - CPU からの 16 ビット データ ラインは、RAM からの 8 ビット データ ラインからのデータにどのようにアクセスできますか?
次のケースがあります。16 ビット (d0-d15) のデータ ラインを備えた CPU を、読み取りと書き込みのために RAM の 8 ビット (d0-d7) のデータ ラインに接続したい場合です。最初の d0 ~ d7 を相互に接続できますが、CPU にはまだ別の d8 ~ d15 が残っています。この余分なデータ ラインを利用して、RAM から一度に 8 ビットよりも多くの情報を読み取ることができると確信しています。しかし、接続がどのようになるかはわかりません。
ダイアグラムは次のとおりです。
追加の d8-d15 ラインを RAM に接続すると、RAM がどのように見えるかわかりません。どの 8 ビット ラインからデータをいつ選択するかを決定するために、マルチプレクサを使用して接続しますか?
verilog - Verilog を使用した Quartus RTL ビューアの奇妙なコンポーネント
私は Verilog を学んでいますが、Verilog コードを見ただけでは回路がどのように機能するかがわからない場合は、RTL ビューアーにアクセスしてデジタル ロジックを確認します。しかし、このコードには奇妙なコンポーネントが表示され、このコンポーネントが何なのかわかりません。フリップフロップ、マルチプレクサ、またはロジック ポートですか? 以下はコードと画像です。画像では、コンポーネントは赤い三角形です。
コード :
binary - 2 進数で 2 つの 1 の組み合わせを見つける
2 進数があり、指定された数値から 2 つの 1 の組み合わせを生成する必要があります。このような 2 つの 1 の組み合わせが与えられた場合、次の組み合わせを生成できるはずです。
例:-
編集: 2 番目の 1 が指定された 2 進数の最後の 1 に達すると、1 番目の 1 がインクリメントされます (2 進数の次の '1' に設定され、2 番目の '1' は最初の ' の後に来る '1' になります)。 1'(例: 4))
これはハードウェアで実行されるため、計算が複雑になることはありません。このモジュールを VHDL で設計するにはどうすればよいでしょうか。
java - 真理値表の生成
テーブル全体を作成せずに、真理値表の行を生成することを考えている人は誰でもいます。たとえば、ユーザーが行番号を入力すると、その真理値表の行が生成されます。また、これは、その行番号に到達するまでテーブルを作成せずに行う必要があります。基本的に、入力として真理値表の行のみに基づいて真理値行の値を計算する効率的な方法があるかどうかを知りたいです。
例: 3 つの変数 printTruthTableRow(3) が 010 を生成すると仮定します。
実際、input-1 をバイナリ値に変換して、その真理値表の行を取得できますか?
編集:もう少し背景を教えてください。Java で基本的な DPLL SAT ソルバーを作成しました。私の目標は、多数のスレッドでソルバーを実行して n-Queen 問題を解決することです。現在、私のアルゴリズムは、一度に 1 つずつ真理値表の行を生成し、それを解決するためにスレッドにフィードします。問題は、私の真理値表の生成がスレッドによって同時に実行できないことです。スレッドが真理値表の行を取得する場合、メソッドをロックし、行を生成してから、ロックを解除する必要があります。真理値表の行を生成するときの作業が減れば、速度を向上させることができます。アトミックカウント値をバイナリに変換して、スレッドでテストするだけです。回答ありがとうございます。
java - Javaの右シフト
私はそれを正しく理解していないというこの小さな論理に固執しています
int
は 32 ビットなので、20 をバイナリで取ると次のようになるとします。
..今、右シフト操作を実行すると、4と言います
..だから結果は1
ここで、再び 20 を取り、5 つの右シフト演算を行うとします。
..だから結果は0
ここで 32 右シフトを行うと、割り当てた番号と同じ番号が返されるのはなぜですか??
だから私が期待していたのは、5シフト後です..任意の数のシフトで結果が0になるはずですが、32シフトで割り当てられた値が返されるのはなぜですか?
time - リアルタイム シミュレーション Quartus II でのエラー
Quartus II で時間シミュレーションを使用して回路の実際の遅延を確認する方法を学んでいますが、エラーが発生しました。このエラーは、フリップフロップのホールド タイムを考慮していないことを示しています。論理シミュレーションでは、回路は機能します。下にコードが表示されます。
そしてエラー:
Quartus II Web でモデル sim シミュレータを使用しています。
assembly - 補数系のオーバーフローを検出するには?
1 の補数システムでは、負の 2 進数を表示するために、各ビットを単純に補数します。例: +3= 0011、-3= 1100
2 の補数系では桁上げビットでオーバーフローを検出しますが、1 の補数ではどうでしょうか。
embedded - I2C マスターからマスターへの通信は可能ですか?
I2C マスター デバイスが別の I2C マスター デバイスと通信することは可能ですか?
ありがとう