インテルのみ表示可能 — GUID: mwh1409959608930
Ixiasoft
インテルのみ表示可能 — GUID: mwh1409959608930
Ixiasoft
1.6.3.1. アダプティブ・ロジック・モジュールでの6入力LUTを備えるアーキテクチャー
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