仅对英特尔可见 — GUID: dib1504070106841
Ixiasoft
2.4.2.1. 高速时钟域(High-Speed Clock Domains)
2.4.2.2. 重构回路(Restructuring Loops)
2.4.2.3. 控制信号反压(Control Signal Backpressure)
2.4.2.4. 使用FIFO状态信号的流程控制
2.4.2.5. 包含skid缓冲器的流程控制
2.4.2.6. Read-Modify-Write存储器
2.4.2.7. 计数器和累加器
2.4.2.8. 状态机
2.4.2.9. 储存器
2.4.2.10. DSP模块
2.4.2.11. 一般逻辑
2.4.2.12. 求模与除法
2.4.2.13. 复位
2.4.2.14. 硬件重用
2.4.2.15. 算法要求
2.4.2.16. FIFO
2.4.2.17. 三元加法器(Ternary Adders)
三元加法器RTL代码
5.2.1. 不足的寄存器(insufficient Registers)
5.2.2. 短路径/长路径(short path/long path)
5.2.3. 快进限制(Fast Forward Limit)
5.2.4. 回路(loop)
5.2.5. 每个时钟域一个关键链
5.2.6. 相关时钟组中的关键链
5.2.7. 复杂的关键链
5.2.8. 延伸到可定位的节点
5.2.9. 域边界入口和域边界出口(Domain Boundary Entry and Domain Boundary Exit)
5.2.10. 包括双时钟存储器的关键链
5.2.11. 关键链比特和总线
5.2.12. 延迟线
仅对英特尔可见 — GUID: dib1504070106841
Ixiasoft
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)输入:CIN,SHAREIN,COUT,SUMOUT和SHAREOUT。缺少共享算术模式会限制ALM仅使用两个ALUT输入:CIN,COUT和SUMOUT。下图显示了在 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