Efinity编译生成文件使用指导

作者:Ramsey Wang 来源:易灵思FPGA技术交流

(1)查看综合后的原语

在outflow <project>.map是网表对FPGA资源的映射。比如gbuf,dspt等原语的是怎样适配的,可以从这里找到。下面是一个乘加在原语上的映射情况。

module top(a, b,c, clk, o);

 input signed [17:0] a;

 input signed [17:0] b;

 input signed [17:0] c;

 input clk;

 output signed [35:0] o;

 wire signed [35:0] p;

 (* syn_use_dsp = "yes" *) reg [35:0] sum;

 assign p = a * b;

 always @(posedge clk) begin

 sum <= p + c;

 end

 assign o = sum;

endmodule

01.png


(2)latch的检查 

如果使用了latch,在<project>.map.out文件中会有提示:

WARNING: latch inferred for net 'c' (VERI-2580)

WARNING: latch inferred for net 'o[1]' (VERI-2580)

latch警告,efinity会用Lut来实现latch效果,而且会非常占用LUT,所以要尽量避免使用它。

(3)编译告警信息列表

在outflow 文件夹中会生成一个EFX.warn.log文件。当我们遇到程序运行异常或者模块被优化时,可以查看该文件的指示信息。

1-1.png

(4)布线资源使用情况。

xxx.map.rpt文件 

各个模块布局布线后的资源使用情况 。

02.png

(5)时序约束生效检查

在编译完成后outflow文件夹<项目名 >.place.out搜索“SDC”关键字可以查看相关的SDC约束是否被软件忽略。

例如:由于添加了set_false_path之后时序问题依然存在,我就搜索sdc:56,因为我的约束在56行,发现了下面的提示。

WARNING  : [SDC D:/FPGA_Prj/03_Ti60F225_DemoBoard/Prj_demo/13_carrychin_demo/carrychain/carrychain_prj_v2/carrychain_prj.pt.sdc:56] Unable to run 'set_false_path' constraint due to warnings found

最新文章

最新文章