中文 英语
18.luck新利
的意见

眼见为实:可视化完全覆盖在低功耗设计中关闭

如何应对不同的保险类别低功耗验证。

受欢迎程度

普拉萨德玛德Bhargava和Durgesh

降低能耗和泄漏soc和其他电气设计已成为近年来最重要的关注点。原因很多,很好理解。我们使用的结构和技术来完成这让验证所谓的低功耗设计更复杂和困难比设计用电在哪里不重要。因此,许多新技术、工具和方法帮助出现低功耗验证的目标。

这些节能验证解决方案已被证明是有用的在确保设计功能的低功耗方面正确和错误都是免费的。然而,这增加了复杂性,更具挑战性,知道当你彻底验证整个设计,不作功的RTL和其低功率的元素。换句话说,你怎么知道你已经取得了100%的代码覆盖率,,你如何达到尽可能快速而方便地关闭?

因为无论是UPF值LRM还是uci标准提供任何指导标准化低功率覆盖方法,验证工程师回落到特定方法,容易出错,非常耗费时间。因此,验证工程师继续面对一个困难的道路而追求的完整代码覆盖率低功耗设计。

克服这些挑战是非常先进的可视化能力的所有报道的结果。在本文中,我们分享一些非常有效的方法来改善你的想象所有报道结果的能力,使您能够实现低功耗设计验证关闭明显更少的时间。

在低功耗设计中代码覆盖率
在低功耗实现代码覆盖率关闭验证需要两件事:权力的报道对象和RTL本身的全覆盖。因此,回归设置为低功耗设计分为两个部分。通常,RTL代码的一部分是由一个不作功的意识回归和RTL代码的其余部分都是低功率回归时完成。这两个一起回归结构设计的代码覆盖率达到100%。

首先,我们回顾一下代码覆盖率的不同类别。

语句覆盖/行覆盖:这给一个估计有多少语句(线)都包含在模拟,由不含线模块、endmodule、评论、时间表等。这是很重要的在各种各样的设计和验证关闭为100%。语句覆盖包括程序语句,连续赋值语句,条件语句和分支条件语句。

条件表达式/报道:这样的变量和表达式(使用逻辑运算符)条件语句的评估。条件报道病例数的比例是评价总病例数。

分支/决定覆盖:在分支覆盖或决策覆盖报告,像if - else条件,案例和三元操作符(?:评估)语句在真实和虚假的情况下。

切换覆盖:切换覆盖提供了多少次的报告在模拟运行信号和端口连接。措施的活动设计,如未使用的信号或信号,保持不变。

州/ FSM覆盖:FSM覆盖报告显示仿真运行是否能达到所有的状态和覆盖所有可能的转换或弧在给定的状态机。这是一个复杂的覆盖类型,因为它的工作行为的设计意味着它解释的综合语义HDL设计和监控的FSM的报道表示控制逻辑块。

由于低功耗仪器,覆盖率数据从低功耗模拟预计将来自不同的意识到模拟。但是我们需要解决低功耗的报道结果的可视化设计。我们将考虑各种方法的代码覆盖类型来解决这个问题。

行覆盖率
这个问题与行覆盖率计算节能模拟运行,包括权力逻辑引入了新的线路和语句,这不仅修改现有的RTL逻辑的行号,但也会包含在声明/行覆盖率。

处理这个问题的方法之一是排除新线路的覆盖/语句引入包括权力逻辑。在例1中,排除语句覆盖语句(线2,3,4),这样它会给适当的结果如预期non-power-aware RTL逻辑。


示例1:D-FlipFLop额外PA逻辑

同时,新添加的行号线可以设置为一些高数或负数,这样他们不会修改实际的行号non-power-aware RTL逻辑而报道。

条件表达式/报道
示例2包括低功耗测试表达式,我们可以观察到的实际non-power-aware表达式已经修改为包含权力逻辑并没有引入新行/语句。这一修改导致增加选举委员会的表达式的输入条件。因此,表达式覆盖率将不会提供适当的结果如预期在non-power-aware RTL逻辑。


示例2:PA逻辑插入RTL表达式

为了达到适当的低功率表达式覆盖率可以排除输入条件,另外补充道。一旦他们被排除在外,表达式覆盖率将只取决于实际的RTL逻辑输入条件,从而给适当的结果如预期non-power-aware模拟。

在例3中,没有条件覆盖问题,因为条件语句没有被修改,因此可以有适当的non-power-aware仿真结果如预期。


示例3:在RTL条件语句没有变化

分支覆盖
问题与分支覆盖计算低功耗模拟运行类似的行覆盖率计算。在这个场景中,包括权力逻辑,介绍了新的分支,不仅修改现有的RTL逻辑的行号也被包含在分支覆盖。

在这里,您可以使用相同的方法随访行覆盖率实现复杂的代码覆盖率;例如,扣除的报道介绍了包括权力逻辑的新分支。在示例1,你排除的分支覆盖新添加的分支(2和9行),这样它会给适当的non-power-aware仿真结果如预期。同时,新添加的行号分支可以设置为一些高或负数,这样他们不会修改实际的行号RTL逻辑,同时报告。

切换覆盖
插入的权力逻辑的RTL逻辑导致切换信号和港口,否则未使用的信号或信号,保持不变,因为他们在non-power-aware模拟。因此,执行切换覆盖在这个低功耗检测逻辑不会得到正确的结果。

在例4中,我们可以看出总是块可以有活动时触发压水式反应堆信号即使没有活动信号一个。这引发的总是块将导致切换活动的信号t。以来,没有办法在RTL代码覆盖排除信号的切换活动块,因为新的驱动逻辑,总是会有不同的切换覆盖率结果non-power-aware和低功耗模拟。


示例4:敏感性的变化列表可以影响切换的报道

州/ FSM覆盖
州/ FSM覆盖问题是引入任何新国家将不会提供适当的结果如预期在non-power-aware FSM逻辑。从低功耗仪器FSM逻辑例子5所示,我们推断验证工具创建一个新的状态(说,xx),以确保对象在某些状态模拟运行时,功率下降。


示例5:新国家引入FSM由于节能仪表

解决这个问题的一个方法是排除美国加入到促进权力逻辑,这将导致适当的FSM的报道。

复杂的节能设备
本文中使用的示例使用简单的RTL的逻辑,我们可以很容易地应用上述方法解决的挑战另外添加节能检测逻辑,从而达到适当的代码覆盖率结果如预期non-power-aware模拟用户。可能会有各种各样的设计逻辑,导致复杂的节能设备,排除代码覆盖另外添加节能逻辑组件不会简单。考虑示例6,保留策略被应用于一个简单的D-FlipFlop:


示例6:节能仪表的恢复和保存过程的输出D-FlipFlop

为了提供保留功能,每个注册的行为保留修改。过程我们可以看到,灵敏度寄存器列表是扩展和修改过程的主体。同时,额外的进程创建保存的状态。扣除保险新语句/分支机构引入RTL逻辑并不简单,因此,解决这类复杂,节能检测场景需要更多的勤奋和细致的分析。

代码+功能覆盖率=关闭
代码覆盖率告诉我们只有实现设计的质量,而不是低功耗功能;因此,孤独并不保证验证的完整性。与100%的覆盖率在代码覆盖率和功能覆盖率可以验证关闭设计。

低功率覆盖范围和功能同样重要RTL的报道。低功耗覆盖率数据有助于确保回归套件充分测试权力意识的元素设计,包括动态功率注意检查和权力意识状态和转换,通过UPF值文件add_power_state,add_port_state,或add_pst_state命令。

SystemVerilog构建“covergroups”帮助/房地产活动所需的采样点采样信号通过coverpoints和垃圾箱。这些都是有效地使用收集报道数量的状态及其转换。此外,低功率覆盖方法,结合了UPF值3.0 HDL功能和SystemVerilog覆盖结构也可以帮你写一个快速和可靠的低功率覆盖基础设施。

电力/端口/ PST州的一个关键方面今天的低功耗设计。他们抓住了低功耗设计意图的操作模式,因此产生巨大影响的功能。所以它成为必要的验证各种状态及其转换的发生以确保正确的操作的低功耗设计以及设计的实现验证关闭。

低功率验证的复杂性大大增加。代码覆盖率是验证过程的一个重要方面。在本文中,我们介绍如何可视化总覆盖率结果以达到验证关闭在更少的时间。更详细的信息的代码覆盖率低功耗设计的挑战,这些挑战是如何解决在低功耗验证环境,请阅读我们的论文揭开的神秘代码覆盖率低功耗设计:实现权力意识到验证

Durgesh普拉萨德是一个低功率UPF专家导师,西门子的业务有超过11年的经验。他拥有计算机科学与工程学士学位IIT, BHU。他也是一个IEEE低功率工作小组的成员。



留下一个回复


(注意:这个名字会显示公开)

Baidu