首页 > 其他 > 详细

lattice简单时序报告---timing report

时间:2017-02-25 18:51:46      阅读:1112      评论:0      收藏:0      [点我收藏+]

module control(din,dout);

input din;

output dout;

 

wire buf1 /* synthesis syn_keep=1 nomerge="on"*/;

 

BUFBA del1(.Z(buf1), .A(din))/* synthesis loc = "R3C4A" */;

assign dout = buf1;

 

endmodule

 

module BUFBA (Z, A);

 

   output Z ;

   input A ;

 

endmodule

 

如上代码用了一个底层BUFBA,对输出的数据做延时。延时报告如下,现在分析延时。

技术分享

 

FLoorplan中放大之后找到R3C4A,如下图,这个是不包过IO管脚到pad之间的延时的路径,是单纯的布线延时和器件延时和PAD延时。

技术分享

 

然后在Physical中放大找到对应的输入端口din,如下图

技术分享

 

技术分享

 

双击它,得到如下图,对比报告,如下图,就可以知道第一条延时路径了,71_pad(因为din绑定到71脚上,所以系统命名为71_pad)71_PADDI的延时1.095ns,这个延时发生在输入端口Dinpad延时

技术分享

 

 技术分享

第二条延时是从71_PADDI出来之后到R3C4Aslice_0)输入端A0的布线延时,经过的布线路径是din_c,时间是0.694ns,下图红色的线是布线路径,下图箭头是R3C4A.A0

技术分享

 

技术分享

 

技术分享

第三条延时是从slice_0R3C4A)输入端A0slice_0R3C4A)的输出端的器件延时,即从R3C4A.A0R3C4A.F0,延时的时间是如下图报告所示0.385ns,这部分延时发生在slice_0R3C4A

技术分享

 

技术分享

 

第四条延时是从slice_0R3C4A)的输出端到70.PADDO(因为输出dout绑在70脚上,所以命名70.PADDO70.PADDO对应代码的buf1)布线延时,经过的布线路径是buf1,延时时间如报告所述是1.394ns,下图红色为布线路径。

技术分享

 

技术分享

 

第五条延时是从输出端的70.PADDOdout_padd 的延时,是PAD延时,延时时间如报告所述是1.394ns,延时发生在输出端口的PAD

技术分享

 

技术分享

 

技术分享

 

我们能控制的是布线延时,器件延时和pad延时是器件物理特性我们没法控制,经过上诉几条路径分析,我们可以知道ROUTE表示的就是布线延时,报告中还给出了最大延时的路径个时间,如下图。

技术分享

 

这只是一个最简单的延时报告,仅仅是告知FPGA由哪些东西组成,路径是怎么走的,延时是怎么产生的,延时报告是如何去看的,并没有告知如何去优化时序,因为里面除了管脚路径可以优化,其他都是器件的特性延时,是不可优化的。复杂的时序报告,就要看时序路径,看看是否是逻辑延时过长?是否是因为资源使用太多,导致绕了一大圈才把线布通?是否是逻辑级数很多?是否是扇出很大?是否是工具不灵光,资源MAP分散,导致路径过长,延时过长?

 

所以解决时序问题的前提是会看时序报告,分析延时来源。解决的手段是:修改代码,工具优化,工具约束

如有疑问请联系QQ:825972925

 

lattice简单时序报告---timing report

原文:http://www.cnblogs.com/xiaozhuge/p/6442248.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!