問題タブ [icarus]

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 投票する
0 に答える
67 参照

memory - メモリーの内容が見えない

SRAM メモリから取得したデータを処理する回路をシミュレートしようとすると、問題が発生します。まず、SRAM メモリがデータで満たされます。これは、最後のテストベンチを見ればわかりますが、格納されたデータはオートマトンによって処理されます。次に、特定の状況では、出力が別の SRAM メモリに保存されます。したがって、最初の SRAM メモリからの読み取りデータを表す rd_data_instructions が常に未定義であるため、シミュレートすると、回路は奇妙な動作をします。したがって、rd_data_instructions に依存する他のすべての信号も未定義です。コードはここに掲載されています。

PS: モジュール sram_1port_instructions および sram_1port_data は、書き込みイネーブル信号を備えたクロック SRAM として動作する必要があります。これにより、wr_en が High の場合、メモリは受信したデータ (wr_data) を格納し、wr_en が Low の場合、メモリはデータ (rd_data) を出力できます。モジュール ユーザーは、このモジュールがメモリの「書き込みアドレス ポインタ」をインクリメントするメカニズムを提供するため、SRAM 命令メモリへの書き込みでデータが格納されるアドレスを必要としないように、書き込みプロセスを容易にする「インターフェイス」を表します。さらに、このモジュールに対応するテストベンチを確認できます。次に、出力ストレージ用に作成された別のメモリの対応するモジュールと、読み取りプロセスを容易にするように設計されたモジュールを確認できます (つまり、前の状況に似たものですが、書くプロセスを容易にする代わりに、読むことを容易にします)。最後になりましたが、デジタルシステムを作成するために以前のすべてのモジュールを相互接続することになっているウィッシュボーンモジュールを区別することができます. その結果、オートマトンは SRAM 命令メモリからデータを取得し、別のメモリに格納されているデータを出力します。最後に、結果を SRAM データ メモリから読み取ることができます。システムをシミュレートしようとすると問題が発生します。これは、rd_data_instructions など、SRAM 命令メモリから以前に格納された値を表示する必要があるいくつかの信号を読み取ろうとするときに問題が発生するためです。オートマトンなど。ウィッシュボーン モジュール内で、「開始」というラベルの付いた特別な信号を使用しました。これにより、SRAM メモリが読み取りプロセス用に準備されるように、書き込みイネーブルが 0 に設定されます。この特別な信号は、メモリからの入力データをオートマトンに「供給する」ことによって、実際にオートマトンをトリガーします。

0 投票する
0 に答える
29 参照

verilog - IF ステートメント内での Verilog モジュールの呼び出し

入力値を受け取るモジュールがあります。私の入力は符号の大きさの形式であるため、入力が負か正かを確認してから、コーディック モジュールを呼び出します。負の数の場合、cordic モジュールを呼び出す前に x_i と y_i の値を交換する必要があります。

verilog に関する私の限られた知識から、IF ステートメントは常にブロック内にある必要があることはわかっていますが、すべてを常に @ ブロック内に配置すると、エラーが発生します。そのとき、私はいくつかの調査を行い、IF ステートメント内でモジュールを呼び出すことができないことを発見しました。この状況で何ができますか?

PS 私の悪い説明で申し訳ありません。私は Verilog の初心者です。