タグ付けされた質問 「synthesis」

3
VHDL:合成用の整数?
合成信号やポートなどにVHDLで整数を使用する必要があるかどうかについて少し混乱しています。 トップレベルのポートでstd_logicを使用していますが、内部的には至る所で範囲付き整数を使用していました。ただし、合成ターゲットコードには符号付き/符号なしのみを使用する必要があると言っている人々への参照に出くわしました。 私は現在のプロジェクトに行って、署名なしを使用するように作り直しました...そして、それは明らかにいです。 整数を使用するのは悪い習慣ですか?どうしたの?ツールが整数をマップする幅に不確実性はありますか?
17 vhdl  synthesis 


2
VHDLで「ドントケア」信号を指定するにはどうすればよいですか。
ロジックデザインコースでは、たとえば、カルノーマップまたはQuine–McCluskeyアルゴリズムを使用することにより、ロジック関数を最小化することが可能であることを学びました。また、それを学んだ「Do n't Care」値が最小化の可能性を高める。 たとえば、レジ​​スタファイルを取得します。するときの信号は本当に重要ではありません信号です。したがって、「Do n't Care」値を割り当てて、次のようなロジックでより最適化できるようにする必要があります。write_addresswrite_datawrite_enable'0'これらの信号を駆動(レジスタファイル自体ではない)でます。 合成ツールで可能な最適化の余地を増やすために、VHDLでこのような「Do n't Care」値を指定する正しい方法は何ですか? これまでのところ、次のような適切なものを見つけました。しかし、私はそれぞれのアプローチの長所と短所が何であるか本当にわかりません: 単に信号を割り当てない。これはうまくいくようです。ただしrecord、レコード定数を完全に指定する必要があるため(少なくともModelsimでそう指示されているため)、何らかのタイプの「何もしない定数」を定義する場合は機能しないことがわかりました。 std_logic_1164パッケージには、値定義'-' -- Don't careのためにstd_ulogic。これは、明示的な「ドントケア」に対する意味的に正しい選択のように見えますが、どこでも使用されたことはありません(無関係なVHDL-2008 case?コンストラクトを除く)。 Modelsimはこの値'X'を使用して未定義の信号を表示します。しかし、合成ツールが明示的なものを理解しているかどうかはわかりません'X'割り当てを「ドントケア」としてません。 わかりやすくするために過度に簡略化したコードスニペットを示します。ここでは、ドントケア信号を初期化しました。 '-'ます。 ご覧のとおり、信号にcontrol.reg_write_addressは3つの異なる値を設定できます:"----"、instruction(11 downto 8);およびinstruction(3 downto 0);。これ'-'は、「ドントケア」と解釈される場合、2入力マルチプレクサに合成されると予想されます。の(others => '0')代わりにを使用して信号を初期化した'-'場合、ツールは代わりに3入力マルチプレクサーを生成する必要があります。 library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; package mytypes is type control_signals_t is record write_enable : std_logic; write_address : std_ulogic_vector(3 downto 0); read_address : std_ulogic_vector(3 …

3
一般的な無料のVerilog合成ツール?
Verilog RTLを一般的なゲートネットリストに変換できる無料またはオープンソースの合成ツールはありますか?(一般的なNAND、NOR、XOR、Dフロップ/レジスタなどで構成されています。最適化は不要です。)完全な言語ではない場合、RTLの「有用な」サブセット(Verilogゲートレベルのネットリストを超えたもの)はどうでしょうか。

2
合成ツールでVHDL変数を合成する方法
VHDL変数が合成ツールによって合成される2つの方法を知っています。 組み合わせロジックとして合成された変数 意図せずにラッチとして合成された変数(初期化されていない変数が信号または別の変数に割り当てられている場合) VHDL変数を合成できる他の方法は何ですか?(例:FFとして解釈できますか?)
9 vhdl  synthesis  rtl 

4
実際のハードウェアで確実に機能するFPGAデザインを取得する方法
FPGAでデジタルロジックデザインの学習を始めたばかりで、多くのプロジェクトを構築しています。ほとんどの場合(私は初心者のため)、完全にシミュレーション(動作シミュレーション)するが、適切に合成しないデザインがあります。 したがって、私の質問は、「ワークフローに組み込むことができる設計ステップは何ですか。これにより、FPGAで正しく機能する設計が確実に行われます。」 私は助言を期待する2つの主要な領域を持っていますが、これは完全に初心者としての私の非常に狭い視点に基づいており、さらに大歓迎です: すべてのステップ(RTL回路図の表示、合成後のシミュレーションの表示など)でベストプラクティスの学習を開始するにはどうすればよいですか。 予期しない結果を回避するためにロジック(FSMやシーケンシャル回路など)を設計する際に注意すべきことは何ですか。 ザイリンクスSpartan 6 FPGAとザイリンクスISEデザインスイートを使用しています。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.