問題タブ [alu]
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.
vhdl - VHDL: 8 ビット ALU への演算の追加
私は VHDL に非常に慣れていないため、この ALU を追加の 8 つの操作で変更する必要があります。これ自体は関係ありませんが、GTKwave でのテストから、clk (クロック) とr (結果) が最初の後にシミュレーションを停止することがわかります。 op波形はそれらを認識しますが、8 つの操作のように見えます。ソースとテスト ベンチの両方がエラーなしで正常にコンパイルされるため、波形が正しくないように見えます。 波形/テスト
テスト ベンチ コードに戻り、'<code>exit L1 when i >10;' を変更して、これを修正しようとしました。10 から 20 (またはその他の 10 を超えるもの) にループしてから再コンパイルしましたが、これにより「バインド チェックの失敗」エラーが発生し、困惑しました。私はまた、16ビットにするために変更を変更しようとしましたが、それはコンパイルされませんでした.間違いなく私が想像する解決策ではありません.
混乱した運用コメントは無視してください。
どんな助けでも大歓迎ですが、それは非常に初心者の見落としだと思います。
http://vhdlguru.blogspot.co.uk/2011/06/vhdl-code-for-simple-alu.htmlから派生した初期コード
ソースコード
テストベンチ
assembly - 16ビットバイナリ加算の補助フラグの設定方法
8 ビットの 2 進加算を実行するとき、3 ビット目から 4 ビット目への桁上げがある場合、補助フラグが 1 に設定されることを知っています。しかし、2 つの 16 ビット数の加算はどうでしょうか? 私はウェブ上で明確な答えを見ることができません。
Intel 8086 マイクロプロセッサを勉強しています...
たとえば、0x30a2 と 0xf1ac の 2 つの数字を追加すると、
0011 0000 1010 0010 + 1111 0001 1010 1100
どこで確認すればいいのかわからない
alu - Mips、ALU、クロック サイクル関連のソリューションが理解できない
以前に中間試験を受けたテストを見直していますが、提供された解決策は以下の質問について説明していません...ここに質問があります:
質問 11. MIPS プロセッサの乗算器ハードウェアが、先週説明した乗算器のように設定されていると仮定します。ALU、製品レジスタ、およびその他の必要なすべてのハードウェアを初期化するには、1 クロック サイクルかかります。乗算の各ステージ (シフト、テスト、加算などの 1 つのシーケンスがステージと見なされます) を通過するには、3 クロック サイクルかかります。クロックの周期が 1 ナノ秒 (ns) の場合、2 つの 8 ビット数を乗算して 16 ビット積レジスタにするのにかかる時間は? 被乗数のレジスタは 8 ビット幅です。
a) 50 ns b) 49 ns c) 27 ns d) 25 ns e) 9 ns f) 上記のいずれでもない。
答えは d (25ns) です。答えだけ言ってるけど説明じゃない
その理由を説明していただけますか?
そのような答えを得るために、何を計算または研究する必要があるのか わかりません。
どうもありがとうございました..
compiler-errors - コンパイル時の VHDL エラー
私は VHDL が初めてで、ALU を作成しようとしていますが、コンパイルでいくつかのエラーがあります。コードは次のとおりです。
エラーは次のとおりです。
- エラー (10500): テキスト "case" 付近の askhsh1.vhd(97) での VHDL 構文エラー。"end"、"("、または識別子 ("case" は予約済みのキーワード)、または並行ステートメントを期待しています。
- エラー (10500): テキスト「is」付近の askhsh1.vhd(97) での VHDL 構文エラー。「<=」を期待
- エラー (10500): テキスト「when」付近の askhsh1.vhd(99) での VHDL 構文エラー。"end"、"("、または識別子 ("when" は予約済みキーワード)、または並行ステートメントを期待する
- エラー (10500): テキスト「when」付近の askhsh1.vhd(100) での VHDL 構文エラー。"end"、"("、または識別子 ("when" は予約済みキーワード)、または並行ステートメントを期待する
- エラー (10500): テキスト "elsif" 付近の askhsh1.vhd(103) での VHDL 構文エラー。"end"、"("、または識別子 ("elsif" は予約済みのキーワードです)、または並行ステートメントを期待しています
- エラー (10500): テキスト "elsif" 付近の askhsh1.vhd(105) での VHDL 構文エラー。"end"、"("、または識別子 ("elsif" は予約済みのキーワードです)、または並行ステートメントを期待しています
- エラー (10500): テキスト "if" 付近の askhsh1.vhd(107) での VHDL 構文エラー。";"、または識別子 ("if" は予約済みキーワード)、または "architecture" を期待する
- 情報 (12021): ソース ファイル askhsh1.vhd で、0 個のエンティティを含む 0 個のデザイン ユニットが見つかりました
- 情報 (12021): ソース ファイル basic_func.vhd で、4 つのエンティティを含む 9 つのデザイン ユニットが見つかりました 情報 (12022): デザイン ユニット 1 が見つかりました: basic_func 情報 (12022): デザイン ユニット 2 が見つかりました: myAND-modeland 情報 (12022): 見つかりましたデザイン ユニット 3: myOR-modelor Info (12022): Found デザイン ユニット 4: myXOR-modelxor Info (12022): Found デザイン ユニット 5: fulladder-modelfullla Info (12023): Found entity 1: myAND Info (12023): Found entity 2: myOR 情報 (12023): 見つかったエンティティ 3: myXOR 情報 (12023): 見つかったエンティティ 4: fulladder
- エラー (293001): Quartus II のフル コンパイルに失敗しました。エラー 9 件、警告 1 件
computer-science - ALU で 2 つの制御ビットがタイの場合、どの制御ビット操作が実行されますか?
ALU への 2 つの制御入力ビットがあるとします。
これらの両方のビットが設定されている場合、どの順序でx入力が操作されるか、または最初に操作することによって得られる結果が最初に行わzxれるシナリオとは異なるため、最初にどの制御ビットが優先されnxますか?
performance - 各浮動小数点演算には同じ時間がかかりますか?
オペランドがどれほど大きくても、整数の加算または減算には常に同じ時間がかかると思います。ALU 出力が安定するのに必要な時間は、入力オペランドによって異なる場合がありますが、ALU 出力を利用する CPU コンポーネントは、整数演算が同じサイクルで処理されるように十分長い時間待機します。(ADD、SUB、MUL、DIVで必要なサイクルは異なりますが、ADDは入力オペランドに関係なく同じサイクルになると思います。)
これは浮動小数点演算にも当てはまりますか?
広範な浮動小数点演算を含むプログラムを実装しようとしています。実行時間を短縮するために、扱っている数値をスケーリングすると役立つのではないかと思います。
vhdl - vhdl コードと 4 ビット ALU の流れを理解していますか?
ここで 4 ビット ALU を作成しています。エンティティを宣言しています。
論理ベクトル配列がそこでどのように機能するかを説明してください。つまり、構文を意味します
そしてまた
演算子 =>
2- シーケンシャル デザインとコンビナトリアル デザインと階層デザインの違いは何ですか? ALU CPU はそれらすべてでコード化されていますか?

