問題タブ [digital-design]
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.
theory - 特別に細工されたCPUを使用して多数の素因数を見つける
私の理解では、最近の多くの公開鍵暗号化アルゴリズムは、鍵を構成するために大きな素数に依存しており、2つの素数の積を因数分解するのが難しいため、暗号化が破られにくくなっています。また、このような大きな数値を因数分解することが非常に難しい理由の1つは、使用される数値のサイズが非常に大きいため、32ビットと64ビットの非常に小さいCPUが一致しないため、CPUが数値を効率的に操作できないことを意味することも理解しています。 1024、2048、さらには4096ビット数の場合。これらの数値を処理するには、特殊なBig Integer数学ライブラリを使用する必要があります。また、CPUは一度に小さなチャンク(32ビットや64ビットなど)しか保持(および処理)できないため、これらのライブラリは本質的に低速です。
それで...
8ビットから16ビット、32ビットから64ビットのCPUにスケーリングしたのと同じように、2048ビットレジスタと巨大な算術回路を備えた高度に特殊化されたカスタムチップを構築できないのはなぜですか。このチップは、従来のCPUのほとんどの回路を必要とせず、結局のところ、仮想メモリ、マルチスレッド、I/Oなどを処理する必要はありません。保存された命令をサポートする汎用プロセッサである必要はありません。膨大な数に対して必要な算術計算を実行するための最低限のことです。
ICの設計についてはよくわかりませんが、論理ゲートのしくみ、半加算器、全加算器の作成方法、および多数の加算器をリンクしてマルチビット演算を行う方法について学んだことを覚えています。スケールアップするだけです。多くの。
さて、上記が機能しないという非常に正当な理由(または17)があることはかなり確信しています(そうでなければ、私よりも賢い多くの人々の1人がすでにそれを行っているため)が、その理由を知りたいと思っていますそれは動作しません。
(注:質問が理にかなっているかどうかはまだわかりませんので、この質問にはいくつかのやり直しが必要な場合があります)
signal-processing - プログラマブルロジックデバイス
PALデバイスの構造を理解するのに混乱があります。
私の最初の質問は、PALデバイスを購入した場合、ORアレイの各ORゲートによって追加された最小項の数をどのようにして知ることができるかということです。言い換えれば、私が求めているのは、各ORゲートがOR配列に持つ入力の数を知ることができる標準はありますか?
次のことは、プログラム可能なPALデバイスにAND配列があることです。ここで、4つの入力があるとすると、AND配列の各ANDゲートには8つの入力が必要です。適用する変数の数は私たち次第ですが、ANDゲートにすべての変数を適用できる可能性があるため、8つの入力が必要です。私が正しいかどうか教えてください。そうでない場合は説明してください。
counter - 「警告 C0007: アーキテクチャにはバインドされていないインスタンスがあります」問題!
「デジタルデザインの基礎」本に付属の CD から、次のソースコードを持っています。
プログラムを実行しようとすると、次のエラーが表示されました。
この問題を解決するにはどうすればよいですか?
コードは次のとおりです。
hardware - デジタル回路設計の考え方
抽象的な方法でデジタルロジックチップを設計することをどのように考えますか?
私は現在、「コンピューティング システムの要素」の最初の章に取り組んでおり、Nand から始まる次のゲートを実装しました。
いいえ
と
または
ソー
マックス
DMux
16ビット
16ビットと
16ビットまたは
16ビットマルチプレクサ
8ウェイまたは
私は今、16 ビットの 4 ウェイ Mux を実装しようとして立ち往生しています。
真理値表を正規表記に変換しようとしましたが、巨大な混乱に終わります。正規表現の使用は「小さな」チップではうまく機能しましたが、現在では非常に複雑になっています。ランダムなチップを単にマッシュアップするだけでなく、「複雑な」チップを組み立てるにはどうすればよいでしょうか?
編集:
4 ウェイ Mux の 16 ビット部分については、あまり混乱していません。私は、アレイ内の 4 通りの Mux の束を使用するだけで計画しました。4ウェイマルチプレクサは、私がこだわっている部分です。
logic - RTL でワイヤが接続されていない
奇妙な問題が発生しました。一部のワイヤが設計に接続されていません。
簡単なレジスタ ファイルを作成しようとしています (Xilinx ISE を使用しています)。このレジスタ ファイルには 32 個のレジスタが含まれており、それぞれが 32 ビット サイズです。レジスタ ファイルには、読み取り選択用の 2 つの MUX (並列の 2 つの読み取り) と、書き込み選択用のデコーダがあります。各レジスタから 2 つの MUX に信号を接続しようとすると、MUX の 1 つだけに接続された RTL に信号が表示されます。たとえば、 signalreg2out
を の出力としreg2
ます。reg2out
のピンに接続しI1
、 のピンに再度mux1
接続します。次に、RTL は 2 番目のマルチプレクサが正しく接続されていることを示していますが、最初のマルチプレクサには入力もセレクタも出力も接続されていません。次の画像は RTL を示しています。
reg2out
I1
mux2
注記: ISE は合成時に次の警告を生成します。
「WARNING:Xst:1348 - Unit Mux is merged (output interface has tristates)」
わかりません。
メイン モジュール ソース「RegisterFile.vhd」は、ここにあります。新しい信号の追加、レジスタ出力の D-FF への格納、レジスタ出力のプロセス変数への格納など、多数の修正を試みました。そして問題はまだ存在しています。このデザインには、「dec.vhd」および「mux.vhd」という 2 つのファイルが含まれています。これらのモジュールの設計は正しいと思います。
どうすれば問題を解決できますか? むしろISEのバグですか?
verilog - Verilogで同時に2つのクロック(互いに非同期)のポーズエッジを検出する方法は?
異なる周波数の 2 つの非同期クロックの 2 つの立ち上がりエッジの最初の一致を検出するデザインに取り組んでいます。
このようなコードは、シミュレーションで機能する可能性があります。
このコードはシミュレーションで機能する可能性がありますが、合成可能なハードウェア ロジックが必要な場合は、他に何が使用できますか?