インテルのみ表示可能 — GUID: mwh1409959608930
Ixiasoft
1.4.1.1. 同期メモリーブロックの使用
1.4.1.2. サポートされないリセットおよびコントロール条件の回避
1.4.1.3. Read-During-Write動作の確認
1.4.1.4. RAMの推論と実装の制御
1.4.1.5. シングルクロック同期RAM (古いデータでのRead-During-Write動作)
1.4.1.6. シングルクロック同期RAM (新しいデータでのRead-During-Write動作)
1.4.1.7. シンプル・デュアルポート、デュアルクロック同期RAM
1.4.1.8. トゥルー・デュアルポート同期RAM
1.4.1.9. 混合幅デュアルポートRAM
1.4.1.10. バイト・イネーブル信号を備えるRAM
1.4.1.11. 電源投入時の初期のメモリーコンテンツの指定
インテルのみ表示可能 — GUID: mwh1409959608930
Ixiasoft
1.6.3.1. アダプティブ・ロジック・モジュールでの6入力LUTを備えるアーキテクチャー
基本的な論理構造に6入力LUTを備えるインテルFPGAデバイスファミリーの場合、ALMでは同時に3ビットを追加することができます。 コードを再構築してこの機能を活用し、パフォーマンスを向上させます。
4入力LUTアーキテクチャーをターゲットとするコードは6入力LUTデバイスで正常にコンパイルされますが、実装は非効率になる可能性があります。例えば、6入力のALUTを活用するには、4入力LUTアーキテクチャーにデザインされた大規模パイプライン2値加算器ツリーを書き換える必要があります。ツリーを3値ツリーとして再構築することにより、デザインの効率が大幅に向上し、密度の使用率が大幅に改善されます。
Verilog HDLのパイプライン化された3値ツリー
この例では、パイプライン化された加算器を示しています。ただし、加算演算を分割すると、パイプライン化されていない加算器でもより良い結果を得ることができます。デザインがパイプライン化されていない場合、3値ツリーは2値ツリーよりもはるかに優れたパフォーマンスを提供します。例えば、合成ツールによっては、HDLコードの sum = (A + B + C) + (D + E) により、括弧なしのコードよりも、A + B + C の3入力加算器とそれに続く sum1 + D + E の3入力加算器に対する最適な実装が作成される可能性があります。括弧を追加しない場合、合成ツールでは、アーキテクチャーに最適でない方法で加算を分割する場合があります。
module ternary_adder_tree (a, b, c, d, e, clk, out); parameter width = 16; input [width-1:0] a, b, c, d, e; input clk; output [width-1:0] out; wire [width-1:0] sum1, sum2; reg [width-1:0] sumreg1, sumreg2; // registers always @ (posedge clk) begin sumreg1 <= sum1; sumreg2 <= sum2; end // 3-bit additions assign sum1 = a + b + c; assign sum2 = sumreg1 + d + e; assign out = sumreg2; endmodule