时序逆向分析应用:从伪路径约束实现FPGA一致性校验
在FPGA设计中,时序约束是保证电路正确性和时序要求的关键。但是,当设计出现复杂交互和异常情况时,时序约束可能不能完全满足需求,进而导致设计失败。这时,需要采用时序逆向分析方法,借助伪路径约束实现FPGA一致性校验。
本文将介绍如何通过伪路径约束来识别FPGA设计中的潜在故障,并给出代码示例。我们选择使用开源工具Yosys进行FPGA综合、布局和布线,Icarus Verilog进行仿真测试,以及Verilator进行验证。
在FPGA设计中,伪路径通常是指时序路径没有被经过完整验证,同时也不影响设计正确性和性能的路径。使用伪路径约束可以使得工具跳过这些路径的分析和优化,从而缩短设计的综合和布线时间。
以下是设计一个32位加法器的代码,并添加伪路径约束的示例。
module adder(
input [31:0] a,
input [31:0] b,
output [31:0] sum
);
wire c;
assign sum = a + b + c;
endmodule
(* assume_removal_of_all_paths = "adder:c" *)
在添加伪路径约束时,需要使用 “assume_removal_of_all_p