Intel® Hyperflex™ 体系结构高性能设计手册

ID 683353
日期 7/13/2020
Public

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

文档目录

2.4.2.17. 三元加法器(Ternary Adders)

实现三元加法器可以增加 Intel® Hyperflex™ 体系结构FPGA中的资源利用率。但是,除非您的设计严重依赖于三元加法器结构,否则在顶层设计级别可能不会注意到额外的资源使用情况。但是,对添加三元加法器结构的设计级别进行的检查可能会显示LUT数量增加。另外,资源增加的数量与加法器的大小直接相关。较小宽度加法器(尺寸<16比特)不会造成很大的资源差异。但是,与旧的FPGA技术相比,增加加法器的尺寸会增加资源计数的差异。

三元加法器RTL代码

module ternary_adder (CLK, A, B, C, OUT); parameter WIDTH = 16; input [WIDTH-1:0] A, B, C; input CLK; output [WIDTH-1:0] OUT; wire [WIDTH-1:0] sum1; reg [WIDTH-1:0] sumreg1; // 3-bit additions assign sum1 = A + B + C; assign OUT = sumreg1; // Registers always @ (posedge CLK) begin sumreg1 <= sum1; end endmodule

器件资源使用量的增加是因为 Intel® Hyperflex™ 体系结构ALM没有以前的FPGA技术所具有的共享算术模式。共享算术模式下的ALM可以在ALM中实现三输入加法。相比之下, Intel® Hyperflex™ 体系结构ALM只能在ALM中实现两输入加法。

图 74. 从一个three 8-bit输入加法器加入2个LSB的 Intel® Arria® 10 Intel® Hyperflex™ 体系结构FPGA的RTL视图

在共享算术模式下, Intel® Arria® 10 ALM支持三输入加法器使用三个自适应LUT (ALUT)输入:CINSHAREINCOUTSUMOUTSHAREOUT。缺少共享算术模式会限制ALM仅使用两个ALUT输入:CINCOUTSUMOUT。下图显示了在 Intel® Arria® 10 Intel® Hyperflex™ 体系结构FPGA上的三元加法器的实现结果。

图 75.  Intel® Arria® 10: ALM用于从three 8-bit input adder加2个LSB
图 76.  Intel® Hyperflex™ 体系结构FPGA:ALM用于从一个three 8-bit输入加法器加入2个LSB