問題タブ [vlsi]

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.

0 投票する
1 に答える
375 参照

computer-science - BCD 加算器と 10 進数出力

( ) を持つ の計算についてDecimal Output次 のうち正しいものはどれですか?125 * A - 100 * (A Mod 4) + 2one BCD digit

1) 少なくとも 2 つの小数加算器が必要です。

2) 少なくとも 2 つの 4 ビット バイナリ加算器が必要です。

3) 少なくとも 1 つの 10 進乗数と 1 つの 10 進加算器が必要です。

4) 上記のいずれでもない。

インストラクター(4)がソリューションとして選択し、選択しなかったのはなぜ(3)ですか? アイデアやヒントはありますか?

ありがとうございます。

0 投票する
1 に答える
614 参照

computer-science - CPU とサイクルのデータパス

Datapath次の図のように、1 つの CPU から構成されています。次の命令アドレスが にある場合PC Register

次の命令をいくつフェッチして実行clock cycleする必要がありますか?word add

メモリは 10 ビットで、各命令は少なくとも 2 ワードです。すべてのレジスタは 10 ビットで、INC (increment), CLR (clear), LD(load)命令があります。Addrダイレクトアドレッシングを意味します。命令は 10 ビット ワードで機能します。

ここに画像の説明を入力

私のインストラクターは、それが15クロックサイクルであることを解決します。ヒントやアイデア、これはどのように計算されますか?

編集:

私の試行 * よくわかりません。私の試行は True または False です。

ここに画像の説明を入力

0 投票する
1 に答える
229 参照

verilog - 合成の結果は?

私は次のようにゲートに実装しようとしています。しかし、どのように合成してゲートするのかわかりませんか?

ケース1

ケース 2

また。

ケース 3

ケース4

ゲートに合成する方法を知っている人はいますか? これを説明していただけますか?

0 投票する
1 に答える
4723 参照

verilog - 固定小数を整数に適用するにはどうすればよいですか

次のように、修正された分数で整数に乗算したいと思います

(負の項を持つべき級数和による乗算)

分数をCSD形式に変換する方法を見つけるために何をしましたか。しかし、整数に乗算する方法を知りたいです。

たとえば、これを手に入れました

0.46194 = 2^-1 - 2^-5 - 2^-7 + 2^-10.

次に、Verilog rtl 式として次のように取得できます。

y= (x>>1) - (x>>5) - (x>>7) + (x>>10);

しかし、問題は、入力値が 3 の場合、上記のコードをどのように計算できるかということです。

y= (3>>1) - (3>>5) - (3>>7) + (3>>10);

しかし、私が知っているように、計算は不可能です。3>>1 は 1、(3>>5) は 0、(3>>7) は 0、(3>>10) は 0 なので、

そのため、通常の結果を得ることができません。また、変更された分数式を見つける理由もなくなりました。次に、この投稿の質問ポイントは、「変更された分数を整数に適用するにはどうすればよいですか」です。

更新:これは次のようになります。y= ((3<<1024)>>1) - ((3<<1024)>>5) - ((3<<1024)>>7) + ((3<<1024)>>10);

0 投票する
2 に答える
139 参照

verilog - 15を掛ける改善方法は何ですか?

私は次のように15倍するように実装しようとしています。

しかし、a を 15 倍するための改善方法はありますか?

このように2通りあると思います

1.result = a<<4 -1;

2.result = {a,3'b1111_1111};

回答 2が一番いい方法だと思いますが、合成の面もよくわかりません。

アップデート:

{a,3'b1111_1111} で 0 を乗算するとどうなりますか? これは 0 ではなく 255 です。

誰かが最善の方法を知っていますか?

更新 この方法はどうですか?

ケース1

結果 = {a,8'b0}+ {a,7'b0}+ {a,6'b0}+ {a,5'b0}+ {a,4'b0}+ {a,7'b0}+ {a,3'b0}+ {a,2'b0}+ {a,1'b0}+ a; しかし、8加算器が使用されているようです。

ケース2

結果 = <<8 -1

他に何が最善の方法なのかわかりません。

0 投票する
2 に答える
2059 参照

verilog - 2x2 乗数のみを使用して 4x4 乗数を作成できますか?

2x2 ビット乗算器のみを使用して 4x4 ビット乗算器に実装したいと考えています。

例: a=1110 b=1011 2x2 の結果は 10011010 になります。

このように分割できると思います。

2x2 乗数を使用して 2 の結果を得ることができます。しかし、どうすれば 2x2 乗数のみを使用して 4x4 乗数にすることができますか?

しかし、私は何のヒントにも近づくことができません。では、どうすれば 4x4 乗数を作成できますか。誰もこれを行う方法を知っていますか? 助けてください。

簡単に言えば、8x8 乗算を実行するために必要な 4x4 乗算器の数です。4x4 乗数のみを使用して 8x8 乗数を作成するにはどうすればよいですか?

アップデート :

これは稼働していますか? http://blog.pioneermathematics.com/2011/04/26/vedic-trick-on-multiplication/どうやって?