問題タブ [synthesis]
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 でのメモリの初期化
Synopsis DC ツールを使用してプロセッサ コードを合成した後
.mem ファイルを使用して、このデザインの 2 つのコンポーネントに含まれる 2 つの RAM を初期化します。
私が持っているネットリスト ファイル (合成の出力) を使用してそれを達成する方法
.memファイルをそれらのRAMにロードしてテストするだけで、合成する前に簡単でした。
どんな助けでも
vhdl - modelsim でのポスト ゲート レベル シミュレーション
パイプライン プロセッサのポスト ゲート レベル シミュレーションを作成しようとしています。vhdl 形式のネット リストがあり、もう一度シミュレーションして、機能が合成直後であることを確認する必要があります。問題は、1 つは命令用、もう 1 つはデータ用の 2 つの RAM を持っていることです。ポスト ゲート レベルのシミュレーションでは、メモリ リスト ビューを表示して、命令とデータを 2 つの RAM にロードすることができません。フリップフロップやマルチプレクサに変換されたデータを RAM に挿入するにはどうすればよいですか?
前もって感謝します。
vhdl - 合成後のシミュレーションで間違った結果が得られる
私は VHDL で行列転置のコードを書いています。入力を行優先で取り、クロック サイクルごとに行列の 1 つの要素を取り、データを列優先形式で保存します。その後、クロックごとに要素ごとに列優先形式でデータを送信します。出力への循環。コードは以下のとおりで、適切にシミュレートされていますが、合成後の結果は正しくありません。正しい結果を得るためにコードを合成する方法を教えてください。
感謝と敬意
テジャ
vhdl - 警告: デザインにはファンアウトの大きいネットが 1 つ含まれています。これらのネットを含む遅延計算には、ファンアウト数 1000 が使用されます。(TIM-134)
syn 中にこの警告が表示されます。synopsys デザイン コンパイラを使用した vhdl コード。この警告を消すにはどうすればよいですか?
warnings - Verilog でレジスタの 2 次元配列のバイトに値を代入する際のエラー .Error
こんにちは、このコードを書くとき:
コードを合成できないようにする次の警告が表示されます
警告:Xst:1780 - シグナルmem<2>は使用も割り当てもされません。この接続されていない信号は、最適化プロセス中にトリミングされます。警告:Xst:653 - シグナルmem<1>が使用されていますが、割り当てられていません。このソースレス信号は自動的に値 1000 に接続されます。警告:Xst:1780 - 信号 >は使用または割り当てられません。この接続されていない信号は、最適化プロセス中にトリミングされます。
これらの警告が表示されるのはなぜですか? mem[0] 、mem[1] 、および mem[2] の値を割り当てていませんか!?? ご協力いただきありがとうございます!
verilog - 原因が言及されていない非常に紛らわしいエラー
このエラーが発生する理由を教えてください。私はまだ Verilog に非常に慣れていないので、明らかな欠陥があればご容赦ください。ありがとう!
:ERROR:Xst:917 - 宣言されていないシグナル <>。FATAL_ERROR:Xst:Portability/export/Port_Main.h:127:1.13 - このアプリケーションは、回復できない例外的な状態を検出しました。プロセスは終了します。
御時間ありがとうございます!
initialization - vhdl での変数の初期化
vhdl シミュレーションに Xilinx Isim を使用しています。のような変数を初期化しました(signal q: std_logic_vector(15 downto 0):="0000000000000000";)
。しかし、シミュレーションに関しては、その特定の値は初期化されていません。その表示undefined('U')
。その値をフィードバックで使用する必要があります。したがって、それに依存する値もundefined('U')
. もう1つ、信号を初期化すると合成されますか? FPGA にダンプするとどうなりますか? 解決策を教えてください
verilog - 2 つの変数を含む if ステートメントで Verilog 合成が失敗する
合成で問題が発生しました。if ステートメントに 2 つの変数があると、合成が失敗します (非常に誤解を招きやすく、役に立たないエラー メッセージが表示されます)。
以下のコードスニペットを考えると
合成中にザイリンクス ISEでエラーが発生します。
エラーは、next_state が正しくないと主張していますが、静的な値を取り出しpayload_length
て割り当てると、完全に正常に動作します。packet_size と payload_length はどちらも整数型であるため、同じサイズであり、それは問題ではありません。したがって、定義された終了を持つ静的ループでない限り、for ループがハードウェアに実装できないのと同様の問題だと思います。ただし、If ステートメントは、2 つのバイナリ値の間の単なるコンパレータであるため、機能するはずです。
ここで私がしようとしていたのは、モジュールがバイトを受信すると、ペイロード全体のサイズ (以前のパケット データから取得したもの) に達するまで RAM に追加され、その後別の状態に変更されることです。チェックサムを処理します。データは一度に 1 バイトしか入らないので、カウンターが限界に達するまでこの状態を何度も呼び出してから、次の状態を別の状態に設定します。
私の質問は、エラーが表示されずにカウンターがペイロードの長さに達するまで、状態を呼び出して同じ結果を得るにはどうすればよいですか?
編集: コメントで要求されているように、packet_sizeとpayload_lengthがどのように宣言されているかのスニペット
rx_byte_buffer
私のモジュールが8ビット幅として受け取る入力データのレジスタであり、上記packet_size
の状態より前のマシンの他のさまざまな状態でインクリメントされます。
if ステートメントの条件を切り替えることでエラーを回避しましたが、それでも何かが変わる理由を理解したいと思っています。
vhdl - これらの実績の関数が見つかりません
私のコンパイラは私にこれらのエラーを与えています:
# エラー: COMP96_0305: SUBONE_MODULE_VHDL.vhd : (93, 23): これらの実際の関数 "TO_INTEGER" が見つかりません。
# エラー: COMP96_0138: SUBONE_MODULE_VHDL.vhd : (93, 23): 配列オブジェクトへの参照のインデックス タイプは、その範囲タイプと互換性がありません。**