一种多电源域集成电路的动态验证装置及方法

文档序号:6584986阅读:119来源:国知局
专利名称:一种多电源域集成电路的动态验证装置及方法
技术领域
本发明涉及集成电路领域,特别是涉及一种多电源域集成电路的动态验证装置及方法。
背景技术
在大规模集成电路设计与验证中,多电源域的验证是一个非常重要的工作。其中
一个电源域是指由同一个电源供电的各电子器件组成的电路,图1为现有技术的电源域的
示意图,其中,模拟集成电路100中存在第一电源域110和第二电源域120。 由于仿真工具的模拟与实际集成电路芯片的工作情况有差异,模拟集成电路中电
源掉电并不必然导致由其供电的电子器件失效,这种情况导致用仿真工具难以直接模拟一
个电源域掉电的情况,因此多电源域的验证一直是芯片仿真验证中的一个难点。

发明内容
本发明的目的是提供一种多电源域集成电路的动态验证装置及方法,能够模拟出
电源域掉电的状况和效果,实现多电源域的集成电路的掉电状况的测试验证。 为了实现上述目的, 一方面,提供了一种多电源域集成电路的动态验证装置,包
括 配置单元,用于为属于同一个电源域的每个电路单元对应配置一个掉电模块,所述掉电模块中存储所述电源域的当前电源状态; 验证单元,用于更新所述掉电模块中的所述当前电源状态,在所述当前电源状态为掉电状态时,使所述掉电模块将对应的电路单元中的所有信号强制赋值为高阻态;在所述当前电源状态由掉电状态转变为上电状态时,使所述掉电模块取消对所述所有信号的强制赋值并且对所述所有信号赋值为不定态。 优选地,上述的动态验证装置中,所述所有信号包括时序逻辑信号和组合逻辑信号。 优选地,上述的动态验证装置中,所述掉电模块具体包括
信号列表模块,用于存储掉电信号; 判断模块,用于根据所述掉电信号确认所述当前电源状态; 解析模块,用于解析所述对应的电路单元,获取所述所有信号; 赋值模块,用于将所述所有信号强制赋值为高阻态; 取消模块,用于取消所述赋值单元的赋值并且赋值为不定态。
本发明的另一个方面,提供一种多电源域的动态验证方法,包括如下步骤 步骤一,为属于同一个电源域的每个电路单元对应配置一个掉电模块,所述掉电
模块中存储所述电源域的当前电源状态; 步骤二,更新所述掉电模块中的所述当前电源状态,在所述当前电源状态为掉电状态时,使所述掉电模块将对应的电路单元中的所有信号强制赋值为高阻态;在所述当前电源状态由掉电状态转变为上电状态时,使所述掉电模块取消对所述所有信号的强制赋值并且对所述所有信号赋值为不定态。 优选地,上述的方法中,所述所有信号包括时序逻辑信号和组合逻辑信号。 优选地,上述的方法中,所述步骤二中,更新所述掉电模块中的所述当前电源状态
的步骤具体包括 更新所述掉电模块的敏感列表中的掉电信号; 所述掉电模块根据所述掉电信号确认所述当前电源状态; 所述掉电模块解析所述对应的电路单元,获取所述所有信号。 优选地,上述的方法中,在所述步骤一中,所述为属于同一个电源域的每个电路单元对应配置一个掉电模块的步骤具体包括通过批量修改属于同一个电源域的每个电路单元的寄存器传输级描述,来为每个电路单元对应配置一个掉电模块。
本发明至少存在以下技术效果 1)本发明动态验证装置,通过给集成电路的电路单元设置一个掉电模块,通过该
掉电模块对电路单元内的所有信号进行强制赋值,从而模拟出电源域掉电的状况和效果,
从而实现了多电源域的集成电路的掉电状况的测试验证。并且,通过批量修改一个指定的
电源域中的所有掉电模块,可以多次方便及时的进行模拟,实现动态验证。 2)使用本发明方法可以借助现有的仿真工具更好的模拟多电源域上电和掉电时
候芯片内部信号的行为。对多电源域设计的核心部分进行更加有效和精确的验证,弥补了
现有验证方法的空白。


图1为现有技术的电源域的示意图; 图2本发明实施例提供的多电源域集成电路的动态验证装置的结构 图3为本发明实施例提供的掉电模块的结构 图4为本发明实施例提供的方法的步骤流程图。
具体实施例方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对具体实施例进行详细描述。 图2本发明实施例提供的多电源域集成电路的动态验证装置的结构图,如图2所示,多电源域集成电路的动态验证装置200,包括 配置单元210,用于为属于同一个电源域的每个电路单元对应配置一个掉电模块,所述掉电模块中存储所述电源域的当前电源状态; 验证单元220,用于更新所述掉电模块中的所述当前电源状态,在所述当前电源状态为掉电状态时,使所述掉电模块将对应的电路单元中的所有信号强制赋值为高阻态;在所述当前电源状态由掉电状态转变为上电状态时,使所述掉电模块取消对所述所有信号的强制赋值并且对所述所有信号赋值为不定态(这是因为刚上电而又没有初始化的时候,改为不定态更符合实际情况,所以由所述掉电模块将所有信号改为不定态,此处为一般赋值)。
图3为本发明实施例提供的掉电模块的结构图,如图3所示,掉电模块具体包括
信号列表模块301,用于存储掉电信号; 判断模块302,用于根据所述掉电信号确认所述当前电源状态;
解析模块303,用于解析所述对应的电路单元,获取所述所有信号;
赋值模块304,用于将所述所有信号强制赋值为高阻态; 取消模块305,用于取消所述赋值单元的赋值,并将所述所有信号赋值为不定态。
其中,所述所有信号包括时序逻辑信号和组合逻辑信号。 可见,本发明动态验证装置,通过给模拟集成电路的电路单元设置一个掉电模块,
通过该掉电模块对电路单元内的所有信号进行强制赋值,从而模拟出电源域掉电的状况和
效果,从而实现了多电源域的集成电路的掉电状况的测试验证。并且,通过批量修改一个指
定的电源域中的所有掉电模块,可以多次方便及时的进行模拟,实现动态验证。 图4为本发明实施例提供的方法的步骤流程图;如图4所示,多电源域的动态验证
方法包括如下步骤 步骤401,为属于同一个电源域的每个电路单元对应配置一个掉电模块,所述掉电模块中存储所述电源域的当前电源状态; 步骤402,更新所述掉电模块中的所述当前电源状态,在所述当前电源状态为掉电状态时,使所述掉电模块将对应的电路单元中的所有信号强制赋值为高阻态;在所述当前电源状态由掉电状态转变为上电状态时,使所述掉电模块取消对所述所有信号的强制赋值并且赋值为不定态。 其中,所述步骤402中,更新所述掉电模块中的所述当前电源状态的步骤可以具
体包括更新所述掉电模块的敏感列表中的掉电信号;所述掉电模块根据所述掉电信号确
认所述当前电源状态;所述掉电模块解析所述对应的电路单元,获取所述所有信号。 在所述步骤401中,所述为属于同一个电源域的每个电路单元对应配置一个掉电
模块的步骤具体包括通过批量修改属于同一个电源域的每个电路单元的寄存器传输级描
述,来为每个电路单元对应配置一个掉电模块。 本发明实施例中,通过批量修改集成电路设计中的RTL(registertransferlevel,寄存器传输级)代码,就可以对需要掉电的电源域中的所有信号增加响应掉电的行为级描述,使每个电路单元都能对应设置一个掉电模块。这样一旦该电路单元所在的电源域掉电,该电路单元内的所有信号立刻变成高阻(Z态),从而达到模拟电源域掉电的行为的目的。 本发明实施例对RTL代码(假设该代码是verilog语言编写的)进行批量修改,这个工作是由脚本来实现的。针对掉电电源域的每个文件(通常是每个模块)脚本首先解析该文件,获取该文件中所有的时序信号,然后在模块结束(endmodule)的关键字之前加入一个掉电模块(always块),掉电模块的敏感列表就是掉电信号,根据掉电信号的数值判断是掉电还是上电,如果是掉电则强制使所有时序信号变成高阻(在verilog语言中就是使用"force"),如果是上电则释放掉被强制赋值的时序信号(在verilog语言中就是使用"release")。这样在仿真器执行完时序信号的处理之后,就会自动的更新组合逻辑信号的数值,从而达到在掉电情况下所有信号为不定态或者高阻态,在上电的时候恢复正常数值的目的。
由上可知,本发明实施例具有以下优势 1)本发明动态验证装置,通过给模拟集成电路的电路单元设置一个掉电模块,通
过该掉电模块对电路单元内的所有信号进行强制赋值,从而模拟出电源域掉电的状况和效
果,从而实现了多电源域的集成电路的掉电状况的测试验证。并且,通过批量修改一个指定
的电源域中的所有掉电模块,可以多次方便及时的进行模拟,实现动态验证。 2)使用本发明方法可以借助现有的仿真工具更好的模拟多电源域上电和掉电时
候芯片内部信号的行为。对多电源域设计的核心部分进行更加有效和精确的验证,弥补了
现有验证方法的空白。 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
一种多电源域集成电路的动态验证装置,其特征在于,包括配置单元,用于为属于同一个电源域的每个电路单元对应配置一个掉电模块,所述掉电模块中存储所述电源域的当前电源状态;验证单元,用于更新所述掉电模块中的所述当前电源状态,在所述当前电源状态为掉电状态时,使所述掉电模块将对应的电路单元中的所有信号强制赋值为高阻态;在所述当前电源状态由掉电状态转变为上电状态时,使所述掉电模块取消对所述所有信号的强制赋值并且对所述所有信号赋值为不定态。
2. 根据权利要求1所述的动态验证装置,其特征在于,所述所有信号包括时序逻辑信 号和组合逻辑信号。
3. 根据权利要求1所述的动态验证装置,其特征在于,所述掉电模块具体包括 信号列表模块,用于存储掉电信号;判断模块,用于根据所述掉电信号确认所述当前电源状态; 解析模块,用于解析所述对应的电路单元,获取所述所有信号; 赋值模块,用于将所述所有信号强制赋值为高阻态; 取消模块,用于取消所述赋值单元的赋值并且赋值为不定态。
4. 一种多电源域的动态验证方法,其特征在于,包括如下步骤步骤一,为属于同一个电源域的每个电路单元对应配置一个掉电模块,所述掉电模块 中存储所述电源域的当前电源状态;步骤二,更新所述掉电模块中的所述当前电源状态,在所述当前电源状态为掉电状态 时,使所述掉电模块将对应的电路单元中的所有信号强制赋值为高阻态;在所述当前电源 状态由掉电状态转变为上电状态时,使所述掉电模块取消对所述所有信号的强制赋值并且 对所述所有信号赋值为不定态。
5. 根据权利要求4所述的动态验证方法,其特征在于,所述所有信号包括时序逻辑信 号和组合逻辑信号。
6. 根据权利要求4所述的动态验证方法,其特征在于,所述步骤二中,更新所述掉电模 块中的所述当前电源状态的步骤具体包括更新所述掉电模块的敏感列表中的掉电信号; 所述掉电模块根据所述掉电信号确认所述当前电源状态; 所述掉电模块解析所述对应的电路单元,获取所述所有信号。
7. 根据权利要求4所述的动态验证方法,其特征在于,在所述步骤一中,所述为属于同 一个电源域的每个电路单元对应配置一个掉电模块的步骤具体包括通过批量修改属于同一个电源域的每个电路单元的寄存器传输级描述,来为每个电路 单元对应配置一个掉电模块。
全文摘要
本发明提供一种多电源域集成电路的动态验证装置及方法,装置包括配置单元,用于为属于同一个电源域的每个电路单元对应配置一个掉电模块,所述掉电模块中存储所述电源域的当前电源状态;验证单元,用于更新所述掉电模块中的所述当前电源状态,在所述当前电源状态为掉电状态时,使所述掉电模块将对应的电路单元中的所有信号强制赋值为高阻态;在所述当前电源状态由掉电状态转变为上电状态时,使所述掉电模块取消对所述所有信号的强制赋值并且对所述所有信号赋值为不定态。本发明能够模拟出电源域掉电的状况和效果,实现多电源域的集成电路的掉电状况的测试验证。
文档编号G06F17/50GK101719181SQ20091024146
公开日2010年6月2日 申请日期2009年12月3日 优先权日2009年12月3日
发明者李树杰 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1