IC杂谈:异常处理设计三要素、​综合面积与PR后芯片面积

作者:IC小鸽


异常处理设计三要素

1、什么是异常处理设计

为了保证芯片在非预期的情况下能够继续运行,需要针对异常进行个性化设计。常见的异常有交互的一方没有响应(比如读数据没有返回),模块输入的数据格式不满足要求。

2、异常设计核心三要素

针对异常情况,芯片设计具有三要素:

1)不挂死
异常情况发生时,芯片不能挂死。比如,状态机不能卡住,数据通路能够正常收发数据。

2)能恢复
出现状况时,电路状态能够及时恢复到正常状态,不阻塞后续的数据处理。比如状态机能够在几十微秒以内恢复到IDLE状态,不能卡住几秒钟,比如数据通路接收到不合法的数据后还能够正常处理后续的数据,不会造成阻塞。

3)能上报
遇到异常情况,芯片内部有记录,能够及时知道。例如,有寄存器统计异常次数和状态,有中断上送。

3、异常设计案例

案例1:以太网MAC入口数据过滤模块

MAC发送侧入口,要求发送的数据具有包头和包尾标志。MAC发送侧会在包头添加preamble和SFD,在包尾添加CRC和IPG。因此,如果输入的数据包头/包尾不是一一对应的,则会造成MAC层模块无法正常处理数据,可能会造成模块内部状态机卡住,出现各类错误,阻塞后续数据处理。因此MAC发送侧入口会在数据处理模块之前添加包过滤模块,过滤包头包尾不匹配的数据,同时使用寄存器记录各类错误的次数(记录缺少包头的数量,记录缺失包尾的数量),并且上送中断。

案例2:寄存器读超时处理机制

在芯片中,经常需要读取寄存器,slave端可能因为各类情况没有及时产生读返回,因此发起请求的master必须能够处理此类情况,避免阻塞后期的读请求。此类情况,芯片内的读请求master会产生读返回提供给芯片外部的请求发起端,并产生响应的resspon信号告知读错误,同时使用寄存器记录无返回次数和响应的读地址,并且产生中断信号。


综合面积与PR后芯片面积

1、Place&Routing后芯片面积与综合面积差异很大?

在完成Place&Routing后的芯片实际面积与综合面积差异很大,这是什么原因呢?

在综合时我们会得到模块的组合逻辑面积,时序逻辑面积以及RAM面积。这三种面积指的是单纯的逻辑与ram的面积,累加起来不是一个block的真实面积。实际上,逻辑单元之间会有间隔,数据连线排布也会占用面积,特别是大位宽的数据连线做MUX特别占面积。

因此如果需要通过综合面积估算PR后的芯片面积就需要考虑利用率的问题了,不同的芯片类型,组合逻辑,时序逻辑以及RAM面积利用率差异很大,即使在同一个芯片中,三者的利用率也各不相同。不过在完成Place&Routing后,我们可以通过计算得到整个芯片,三种不同逻辑的面积利用率。

2、一个简单的面积计算案例


3、综合面积增加,实际芯片面积反而减少了?

在IC设计过程中,确实存在综合面积增加,实际芯片面积反而减少的情况,原因在于面积利用率提高了。比如说一个模块,有128组2048bit的数据总线做128选1的MUX,此种情况下,为了保证布线可行,就需要占用大量的面积。此时如果通过增加寄存器的方式,减少MUX的规模,比如从128MUX换成2个64mux,即使时序逻辑和组合逻辑的综合面积之和增加了,PR后面积也有可能会减少。因为数据线之间的间隔可以放置时序逻辑和组合逻辑。

来源:https://blog.csdn.net/icxiaoge?type=blog
转载此文目的在于传递更多信息,版权归原作者所有。如不支持转载,请联系小编demi@eetrend.com删除。

最新文章