当前位置:首页 > 新闻资讯 > FPGA之家动态 >

时序漫谈之FPGA/CPLD逻辑布线资源

时间:2024-08-09      来源:网络搜集 关于我们 0

逻辑布线是我们在处理时序问题时最频繁要遇到的问题。逻辑布线的延时决定你的设计能达到的最高频率。

逻辑布线资源也分好几种,这和逻辑芯片的架构有关系。我们以Lattice的器件为例,基本的逻辑单元是Slice(Xilinx也这么叫),一个Slice里包含了2个LUT和2个寄存器。4个Slice组成一个PFU。在同一个PFU里有local的布线资源,这个布线的延时很小,但只能覆盖同一个PFU内部。PFU和PFU之间通过switch box实现互联,延时根据距离的远近长短不一。距离越远,逻辑的布线延时越大。所以为了能达到更高的时序,我们要尽可能的把相关的逻辑放置的尽量靠近。

当然这是理想的情况,实际上会出现可能相关的逻辑布局的位置相差很远。也有可能明明是两个逻辑的布局位置很近,但最终的布线延迟反而很长的情况。布局位置远有多种原因,比如某个寄存器的扇出很大,就不能保证该寄存器的输出到达每个输入都很近,必然有近有远的情况,EDA的PAR算法为了均衡功耗,布线效率会有意的将逻辑布局均匀分布而不是集中分布等等。大多数情况下,我们可以信赖EDA软件的策略。当遇到PAR算法不能满足我们要求的时候,我们可以通过添加约束的方式告诉EDA软件对特定的逻辑该如何布局。距离近而延时大的原因也有很多,一种情况是EDA软件为了修复hold time而故意绕线产生的,还有一种情况是相邻的布线资源已经不够用了,不得不通过绕线的方式获得更多的布线资源。

这里就牵扯到一个布通率的问题。前面我们已经谈过,布线资源占据了FPGA/CPLD的很大面积。从性价比的角度考虑,现在的FPGA/CPLD不会做全互联的布线设计,一定要在满足芯片设计性能的基础上用尽可能少的布线。从逻辑功能设计上,那种需要信号全互联的设计也是少之又少的。所以就会出现在局部耦合度很高的逻辑布线资源不够用的情况,EDA软件会尝试使用更远的布线资源,这就会带来更大的延时。更极端的情况,还会出现布局布线布不通的情况。遇到这种情况,我们就需要修改设计来适配芯片了。

更多精彩,持续更新

接下来《时序漫谈》系列将为您介绍:

影响时序的三个要素

关于时序我们要检查哪些内容

通过RTL改善时序的几个技巧之移位操作

通过RTL改善时序的技巧之Block RAM的输出

······

最后,对作者Robin先生感兴趣的同学,可以关注他的个人公众号“逻辑空间”哦(会有剧透,也会有八卦~~~)

扫码关注

逻辑空间


注明:本内容来源网络,不用于商业使用,禁止转载,如有侵权,请来信到邮箱:429562386ⓐqq.com 或联系本站客服处理,感谢配合!

用户登陆

    未注册用户登录后会自动为您创建账号

提交留言