問題タブ [hdl]
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.
verilog - Verilog で「生成」を使用すると問題が発生し、常にブロックされる
Verilog の case ステートメントでいくつかの条件を生成しようとしています。
MANT_WIDTH というパラメーターがあり、case ステートメントの条件の数は MANT_WIDTH の値によって異なります。
たとえば、私は持っています
このコードには意味をなさない条件 (ビット幅が正しくないなど) があるかもしれませんが、私がやろうとしていることの要点はここにあります。
私が抱えている問題は、ncverilog を使用してこのコードをシミュレートしようとすると、次のエラーが発生することです。
ncvlog: *E, ILLPRI (fpmodule.v,278|6): 不正な式プライマリ [4.2(IEEE)]
また、不正な左辺値構文を取得します [9.2[IEEE)]
先行ゼロを数える必要があります。実際のコードは貼り付けませんでした。先頭のゼロを数える方法が必要なだけですが、for ループの外に配置する必要がある特殊なケースがいくつかあります。
どうもありがとうございます!
vhdl - Synopsys tetramax でのクロックの処理
一部のテストベンチのフォールト カバレッジを測定するために tetramax を使用しています。テストベンチを実行し、テストしたいコアの VCD ファイルの入力と出力をダンプしています。
クロックとリセットは、外部テストベンチによって既に管理されています。したがって、Tetramax スクリプトにクロックとリセットを追加する必要はないと思います。
ただし、クロックの指定に副作用があるかどうかはわかりません....たとえば、入力と出力の間の内部遅延計算などです。
テトラマックス スクリプトにクロックとリセットを追加した場合の影響について、詳しい情報を持っている人はいますか?
乾杯、
verilog - VPI PLI - Verilog VCS を使用して 2 つの Verilog モジュールが接続されているかどうかを確認する方法
ここでは、基本的に出力ポート A:A_inst:A_OPORT_1 が B:B_inst:B_IPORT_1 に接続されています。
Verilog PLI を使用してその情報を取得するにはどうすればよいですか? 例を高く評価しました。
ポートを取得して highconn を取得し、wire/net A_to_B を取得できるコードがいくつかあります。
ただし、vpiPortInst を使用して A_To_B に接続されているポートを見つけることができません。null のイテレータを取得します。
O/P:
vhdl - generateステートメント内のシグナルまたは変数カウンター
generateステートメントに問題があります。パイプラインアーキテクチャを生成しています。基本的な問題は、forインデックス以外に別のカウンターまたは変数が必要なことです。
最初の構造の生成では、signVectorに別のインデックスを使用する必要があり、カウンターとして使用するシグナルを作成しました(port map(signVector(signCounter)、lx(((i + 2)* dataSize-1)downto )ただし、インデックスとして使用することはできません。エラーは次のとおりです。「正式な「sub」の実際の(インデックス名)は静的なシグナル名ではありません。」
助けていただければ幸いです:)、ty
vhdl - VHDL IEEE 標準ライブラリとコンポーネント
ザイリンクス FPGA の VHDL プロジェクトに取り組んでいて、岐路に立たされました。
たとえば、2 つの信号 (C=A+B) を追加する必要がありますが、ザイリンクスには、そのジョブを実行するコンポーネントを生成できるツールがあることがわかりました。
しかし、これは標準の VHDL で実装することもできます: C <= A + B
標準の VHDL を使用する場合、コードは移植可能ですが、スループットは低下しますか?
つまり、特別なコンポーネントは FPGA などの内部で DSP 機能を使用して高速化するのでしょうか、それともシンセサイザーは通常これを処理できますか?
vhdl - VHDL コード合成エラー
PWM コントローラーの機能を実装する VHDL コードを作成しました。正常にシミュレートしましたが、結果は期待どおりです。合成の構文もチェックしましたが、エラーは表示されませんでした。XILINX ISE 12.4 を使用して合成しようとすると、合成されず、エラーが表示されます。
「エラー: Xst:827 - 67 行目: 信号 tmp_PC を合成できません。同期記述が正しくありません。同期要素 (レジスタ、メモリなど) を記述するために使用している記述スタイルは、現在のソフトウェア リリースではサポートされていません。」
エラーメッセージを調べてみましたが、異なる答えが得られました。考えられる理由は次のとおりです。1: 合成テンプレートに従っていない不適切な "IF" ネスティング。2: 通常の「(clk'event and clk='1')」の代わりに「risisng_edge(clk)」を使用。
正確な問題が何であるかはまだ完全にはわかりません。私が見落としている可能性のあるエラーを誰かが提案してくれると本当に助かります。
vhdl - ブロックRAMを使用して読み書きする方法は?
スパルタン3でブロックRAMを使用して読み書きする方法は?
私はsim.pdfで、各書き込みには1クロックサイクルが必要であり、BRAMは同期しているため、各読み取りも行うというxilinixのマニュアルを読みました。有限状態マシンをRAMの書き込み操作と読み取り操作のそれぞれから解放することになっていますか?
verilog - Verilog 関数でノンブロッキング代入が許可されないのはなぜですか?
Verilog 関数ではノンブロッキング代入の使用が許可されていないことを読みました。誰もこれについてもっともらしい説明を提案できますか?
verilog - Verilog有限ステートマシン
verilogで有限ステートマシンを作成しようとしています。システムには、4つの入力1-bit
、、、 rst
および1つの出力、があります。clk
A
B
Z
次のいずれかの場合、Zは1に等しくなります。Aの最後の2つのクロックエッジで同じ値があった。
または、最後のルールが真であったため、すべてのクロックエッジでBがハイ(1)になっています。
それ以外の場合z=0
;
私の試みのATMをシミュレートするためのツールがありません。だから私はこれが正しい方法であるかどうか、そして私が正しい軌道に乗っているかどうか疑問に思っていますか?
vhdl - ModelSim でシミュレーションの検証手順を記述できますか?
CPU アーキテクチャの設計とシミュレーションにModelSimを使用しています。私のようにこれを知っている人は、目の前のすべての信号を処理しようとすると、シミュレーション データを検証するのが非常に難しいこともおそらく認識しているでしょう。
取得したデータが正しいかどうかを確認するために、シミュレーションを自動的に実行して検証手順を実行する方法はありますか?
たとえば、次のクロックで信号によって刺激されると、否定された信号を返す特定のコンポーネントがあります。これを検証したい。どのように?(もちろん、画面上の信号を手動でチェックする必要はありません)。
ありがとうございました