FPGA之道(77)静态时序分析(三)同步时序逻辑的分析原理

前言

本文来自于《FPGA 之道》。

同步时序逻辑的分析原理

FPGA设计中最最常见并且占FPGA设计比重最大的就要数同步时序逻辑了,那么,经过了上一章节中示例的分析,接下来就让我们来简单了解一下针对同步时序逻辑的时序分析原理。

逻辑锥的概念

以直角三角形的一条直角边所在直线为旋转轴,其余两边旋转形成的面所围成的旋转体就叫做圆锥,如下图所示:
在这里插入图片描述
而在同步时序逻辑中,对于一个与外界没有直接联系的内部寄存器,其输入端D上的数据信号肯定是由其它一些寄存器的输出端Q经由一个组合逻辑网络所驱动的。那么,如果把该寄存器看做圆锥的顶点,驱动其D端口数据信号的那些寄存器看成圆锥的底面,而中间的组合逻辑网络看成椎体的话,便可以在FPGA设计所对应的数字逻辑电路中得到一个类似圆锥的子结构,我们称其为——逻辑锥。

逻辑锥的划分

对于纯同步时序逻辑来说,不仅仅是那些决定内部时钟条件的寄存器,甚至连那些直接和芯片外部交互的寄存器,也都可以有属于自己的逻辑锥。以【本篇->时序分析的原理->一道时序分析的例题】章节中的例题为例,我们不光可以在其输出端口虚拟一个R4,同样也可以在其输入端口虚拟出R5与R6,只不过需要根据时钟、信号间的具体时间延迟情况来赋予R5、R6不同的tco等时间参数罢了。那么,针对该例进行逻辑锥划分的结果如下图所示:
在这里插入图片描述
可见,4个逻辑锥的顶点分别为R1、R2、R3、R4,它覆盖了整个FPGA电路能否正常工作所关心的条件。
只要一个逻辑锥底面上的那些寄存器能够正常工作,那么对于该逻辑锥来说,其内部各个信号的时间延迟参数就不会跟前级的逻辑锥有任何关系。这也是寄存器为什么可以打断时延路径的原因,从而让任何门延迟和线延迟都无法穿透寄存器而继续传递下去。因此,以前级逻辑锥可以正常工作为前提,一个逻辑锥顶点所对应的寄存器能否正常工作完全取决于其内部所包含的寄存器和组合逻辑的相关时间参数及延迟特性。
按照上述假设条件去分析FPGA设计中的每一个逻辑锥,如果每个逻辑锥都能正常工作的话,那么整个FPGA设计能否正常工作就仅依赖于第一级逻辑锥底面的寄存器能否正常工作了。由于第一级逻辑锥底面的寄存器都是虚拟出来的(例如上图中R5、R6),所以我们早已在虚拟的时候假设其能够正常工作了。因此,若每个逻辑锥都能正常工作的话,则整个FPGA设计就能正常工作;反之,若某一个逻辑锥不能正常工作,则整个FPGA设计就存在时序问题,并且由于错误是可以传递的,整个FPGA的行为就可能“差之毫厘,谬以千里!”
事实上,无论多么复杂、多么庞大的同步时序逻辑,都可以很容易的将其划分为逻辑锥的集群(当然,这要依赖于电脑的高速处理能力)。并且,只要保证以其内部每个寄存器均做为一次逻辑锥的顶点来进行逻辑锥的划分,就可以确保在对整个FPGA进行时序分析的时候不留死角。
以上便是形式化验证在FPGA分析时的一种很好的应用。因此,与时序仿真相比,时序分析除了更加简便、省时之外,还绝对的可靠,是现在FPGA项目开发中必不可少的一个环节。

逻辑锥的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李锐博恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值