Xilinx FPGA上最小路径延迟前导零计数器及物理系统模拟器调优方法的研究
1. Xilinx FPGA上最小路径延迟前导零计数器
在Xilinx FPGA中,从LZC - 8级到LZC - 16级的3个信号直接传播,给实现过程中的路由部分带来了额外的约束。为解决这个问题,有两种可行的办法。一种是允许Vivado综合工具根据情况灵活优化逻辑,因为性能、面积和功耗的综合策略是相互独立的,这是首选方法;另一种是使用VHDL的KEEP指令对LUT输出信号进行处理,以防止在综合时进行任何形式的合并。这与VHDL的DONT TOUCH属性不同,后者虽然类似,但会在实现阶段应用,且会在布局时产生阻止LUTNM合并的副作用,不过没有这个属性,优化设计步骤可能无法保留原计划。
16位LZC在不增加额外LUT成本的情况下,实现了更小的路径延迟。最多使用⌈k/16⌉个额外的LUT,理论路径延迟降低了⌈log₂(k/8)⌉/(⌈log₂(k/8)⌉ + 1)百分比。该设计适用于像Virtex 7这样的旧架构或支持LUT6 - 2单元的其他架构。
此外,还提出了一种针对LZC - 8的MUXF7/MUXF8特定IP级解决方案,该方案不级联LUT。LP2、LP3通过特定公式计算,LP1、LP4和V的计算方式如下:
[
LP4 =
\begin{cases}
0, & \text{if } X_7 \land X_6 \land X_5 \land X_4 \land X_3 \land X_2 \land X_1 \
\text{otherwise}
\end{cases}
]
[
V =
\b