一种多模式多时钟域的芯片集成控制系统
技术领域
本发明涉及一种集成控制系统,具体为一种多模式多时钟域的芯片集成控制系统,属于芯片集成控制技术领域。
背景技术
随着集成电路产业的蓬勃发展,电路集成的功能不断增多。在一个集成电路的设计中,往往包含着许多不同的时钟域。同时,为了提高集成电路的可靠性,保证量产出来的集成电路芯片能正常工作,并降低测试成本,芯片中除了包含正常的工作模式外,还包含了存储器内建自测试模式和扫描链测试模式。
现有的芯片包含多种模式和多个时钟域,但现有的多种模式和多个时钟域,时钟复杂度较小、总体频率较低。
为此,提出一种多模式多时钟域的芯片集成控制系统。
发明内容
本发明的目的在于提供一种多模式多时钟域的芯片集成控制系统,用于解决现有的芯片时钟复杂度较小、总体频率较低问题。
本发明的目的可以通过以下技术方案实现:
一种多模式多时钟域的芯片集成控制系统,包括三个工作模式、虚拟路径处理模块、跨时钟路径规划模块以及多模式归一化处理模块;
三个工作模式分别为存储器内建自测试模式、扫描链测试模式以及Function功能模式;所述Function功能模式是芯片的主要工作模式,在此模式下有多个功能时钟,芯片将完成预期要实现的所有功能;所述内建自测试模式是为了确保芯片内存储器没有故障,在内存储器外植入一套测试电路,自动产生测试向量并对输出进行比较判决,完成对存储器的自动测试,存储器内建自测试模式由内存时钟控制;
所述扫描链测试模式是把普通寄存器换成测试端口的扫描寄存器,再将他们串成扫描链,通过扫描寄存器移位输出,来观测寄存器本身及他们之间的组合逻辑工作是否正常,来实现对数字逻辑部分的测试,扫描链测试模式由扫描链时钟控制;
内建自测试模式、扫描链测试模式以及Function功能模式存在主次之分,所述内建自测试模式及扫描链测试模式仅用于芯片测试,只需在封装前运行一次,其他时间在Function功能模式下运行。
优选的,多模式多时钟域芯片中,除了含有控制存储器内建自测试模式、扫描链测试模式的内存时钟以及扫描链时钟外,还包含多个功能时钟,不同时钟间的数据交换便形成了跨时钟路径,在代码设计时,采用FIFO或握手信号的方式来处理分跨不同时钟的跨时钟路径,经过处理的这类路径可设置不进行时序检查。
在跨时钟路径中存在一种虚假的跨时钟路径,定义为虚拟路径,所述虚拟路径物理上存在,但没有相应的使用场景,所述虚拟路径处理模块用于处理虚拟路径,在处理虚拟路径时具体采取以下步骤:
步骤一:拟定两个时钟,定义为虚拟时钟一与虚拟时钟二;拟定四个选通器,定义为选通器一、选通器二、选通器三、选通器四;拟定两个寄存器,定义为寄存器一、寄存器二;
步骤二:当选通器一、选通器二、选通器三以及选通器四的选通信号为0时,芯片处于Function功能模式,选通器一和选通器三选通功能数据,选通器二和选通器四分别选通虚拟时钟一和虚拟时钟二,此时寄存器一和寄存器二处于两个不同的虚拟时钟域,寄存器一由虚拟时钟一控制,寄存器二由虚拟时钟二控制,寄存器一与寄存器二之间没有数据交互;
步骤三:当选通器一、选通器二、选通器三以及选通器四的选通信号为1时,芯片处于扫描链测试模式,此时寄存器一与寄存器二均由扫描链时钟控制,扫描链测试数据经选通器一,从寄存器一的一端进入,从寄存器一的另一端输出,输出的数据由选通器三选通到达寄存器二的内部。
在扫描链测试模式下,寄存器一与寄存器二之间存在着一条数据路径,在Function功能模式下,此路径就成为了一条分跨虚拟时钟一与虚拟时钟二的虚拟路径。现今的设计工具并不会自动识别出以上这些“虚假”的虚拟路径,依旧会将其纳入时序分析范围。可以避免产生大量误导性的时序报告。
优选的,跨时钟路径规划模块用于提供不同模式下各自的SDC约束文件,把非该模式下的路径设置为无效路径 ,指引工具不分析这些 “虚假”的跨时钟路径,避免产生错误的时序报告,其实现步骤为:
步骤S1:设置功能模式,内建自测试模式、扫描链测试模式以及Function功能模式;三个模式均使用相同的 PVT 时序库、RC条件和物理设计规则约束;
步骤S2:对于Function功能模式,在时序约束文件中设置正常工作需要用到的时钟,并把它们设置为异步时钟组,不允许工具去分析跨时钟路径,同时约束好对应的输入输出引脚;
步骤S3:对于内建自测试模式和扫描链测试场景,在时序约束文件中只需要设置相应的测试时钟及该模式下用到的输入和输出引脚的约束;
步骤S4:将三个模式全设置为激活状态,以便让 ICC 在做之后的物理设计流程时,能同时考虑三个场景的约束条件,实现多模式同时优化。
优选的,所述多模式归一化处理模块用于实现多模式归一化处理,当选通信号为0 时,芯片处于功能模式;当选通信号为 1 时,芯片进入扫描链测试模式,Function功能模式中的寄存器将由扫描链时钟控制;可以看出,扫描链时钟和功能时钟共用时钟路径,芯片中没有单独在扫描链时钟下工作的器件。另 外,一般扫描链时钟频率要低于其它时钟。因此,我们在时序约束文件中不考虑扫描链时钟,进而将所有功能时钟和内存时钟控制合并到同一个时序约束文 件 中,实现多模式归一化处理。
优选的,所述时钟周期设置模块用于设定时钟周期,在进行时序优化时,并不会自动识别出“虚假”的跨时钟路径;工具按照普通的时序分析方法计算时,会假定时钟Clk1和Clk2 的起始上升沿 ( 假设寄存器由上升沿触发)一致,再采用这两个时钟除起始上升沿外靠得最近的两个上升沿的差值作为计算其建立时间裕量的“周期”;当两个时钟周期不是整数倍关系时,两个上升沿的最小差值会趋近于零,就会使该路径报出时序违例,而实际上这条路径是“虚假”的,因此,我们将所有的时钟周期设置为某个最小周期值的整数倍。这样工具就能把多种模式归一化处理,而且也保证了所有的跨时钟路径至少被约束在最小周期值内。预防当两个时钟上升沿差值很小时,工具把“虚假”路径当成时序关键路径报出违例,不能找出真正的时序关键路径。
与现有技术相比,本发明的有益效果是:
1、在跨时钟路径中存在一种虚假的跨时钟路径,定义为虚拟路径,虚拟路径物理上存在,但没有相应的使用场景,虚拟路径处理模块用于处理虚拟路径,拟定两个时钟,定义为虚拟时钟一与虚拟时钟二;拟定四个选通器,定义为选通器一、选通器二、选通器三、选通器四;拟定两个寄存器,定义为寄存器一、寄存器二;当选通器一、选通器二、选通器三以及选通器四的选通信号为0时,芯片处于Function功能模式,选通器一和选通器三选通功能数据,选通器二和选通器四分别选通虚拟时钟一和虚拟时钟二,此时寄存器一和寄存器二处于两个不同的虚拟时钟域,寄存器一由虚拟时钟一控制,寄存器二由虚拟时钟二控制,寄存器一与寄存器二之间没有数据交互;当选通器一、选通器二、选通器三以及选通器四的选通信号为1时,芯片处于扫描链测试模式,此时寄存器一与寄存器二均由扫描链时钟控制,扫描链测试数据经选通器一,从寄存器一的一端进入,从寄存器一的另一端输出,输出的数据由选通器三选通到达寄存器二的内部;在扫描链测试模式下,寄存器一与寄存器二之间存在着一条数据路径,在Function功能模式下,此路径就成为了一条分跨虚拟时钟一与虚拟时钟二的虚拟路径。现今的设计工具并不会自动识别出以上这些“虚假”的虚拟路径,依旧会将其纳入时序分析范围。可以避免产生大量误导性的时序报告。
2、跨时钟路径规划模块用于提供不同模式下各自的SDC约束文件,把非该模式下的路径设置为无效路径 ,指引工具不分析这些 “虚假”的跨时钟路径,避免产生错误的时序报告,设置功能模式:内建自测试模式、扫描链测试模式以及Function功能模式;三个模式均使用相同的 PVT 时序库、RC条件和物理设计规则约束;对于Function功能模式,在时序约束文件中设置正常工作需要用到的时钟,并把它们设置为异步时钟组,不允许工具去分析跨时钟路径,同时约束好对应的输入输出引脚;对于内建自测试模式和扫描链测试场景,在时序约束文件中只需要设置相应的测试时钟及该模式下用到的输入和输出引脚的约束;将三个模式全设置为激活状态,以便让 ICC 在做之后的物理设计流程时,能同时考虑三个场景的约束条件,实现多模式同时优化。
3、时钟周期设置模块用于设定时钟周期,在进行时序优化时,并不会自动识别出“虚假”的跨时钟路径;工具按照普通的时序分析方法计算时,会假定时钟Clk1和Clk2 的起始上升沿 ( 假设寄存器由上升沿触发)一致,再采用这两个时钟除起始上升沿外靠得最近的两个上升沿的差值作为计算其建立时间裕量的“周期”;当两个时钟周期不是整数倍关系时,两个上升沿的最小差值会趋近于零,就会使该路径报出时序违例,而实际上这条路径是“虚假”的,因此,我们将所有的时钟周期设置为某个最小周期值的整数倍。这样工具就能把多种模式归一化处理,而且也保证了所有的跨时钟路径至少被约束在最小周期值内。预防当两个时钟上升沿差值很小时,工具把“虚假”路径当成时序关键路径报出违例,不能找出真正的时序关键路径。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的原理框图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,一种多模式多时钟域的芯片集成控制系统,包括三个工作模式、虚拟路径处理模块、跨时钟路径规划模块以及多模式归一化处理模块;
三个工作模式分别为存储器内建自测试模式、扫描链测试模式以及Function功能模式;所述Function功能模式是芯片的主要工作模式,在此模式下有多个功能时钟,芯片将完成预期要实现的所有功能;所述内建自测试模式是为了确保芯片内存储器没有故障,在内存储器外植入一套测试电路,自动产生测试向量并对输出进行比较判决,完成对存储器的自动测试,存储器内建自测试模式由内存时钟控制;
所述扫描链测试模式是把普通寄存器换成测试端口的扫描寄存器,再将他们串成扫描链,通过扫描寄存器移位输出,来观测寄存器本身及他们之间的组合逻辑工作是否正常,来实现对数字逻辑部分的测试,扫描链测试模式由扫描链时钟控制;
内建自测试模式、扫描链测试模式以及Function功能模式存在主次之分,所述内建自测试模式及扫描链测试模式仅用于芯片测试,只需在封装前运行一次,其他时间在Function功能模式下运行。
多模式多时钟域芯片中,除了含有控制存储器内建自测试模式、扫描链测试模式的内存时钟以及扫描链时钟外,还包含多个功能时钟,不同时钟间的数据交换便形成了跨时钟路径,在代码设计时,采用FIFO或握手信号的方式来处理分跨不同时钟的跨时钟路径,经过处理的这类路径可设置不进行时序检查。
其中,在跨时钟路径中存在一种虚假的跨时钟路径,定义为虚拟路径,所述虚拟路径物理上存在,但没有相应的使用场景,所述虚拟路径处理模块用于处理虚拟路径,在处理虚拟路径时具体采取以下步骤:
步骤一:拟定两个时钟,定义为虚拟时钟一与虚拟时钟二;拟定四个选通器,定义为选通器一、选通器二、选通器三、选通器四;拟定两个寄存器,定义为寄存器一、寄存器二;
步骤二:当选通器一、选通器二、选通器三以及选通器四的选通信号为0时,芯片处于Function功能模式,选通器一和选通器三选通功能数据,选通器二和选通器四分别选通虚拟时钟一和虚拟时钟二,此时寄存器一和寄存器二处于两个不同的虚拟时钟域,寄存器一由虚拟时钟一控制,寄存器二由虚拟时钟二控制,寄存器一与寄存器二之间没有数据交互;
步骤三:当选通器一、选通器二、选通器三以及选通器四的选通信号为1时,芯片处于扫描链测试模式,此时寄存器一与寄存器二均由扫描链时钟控制,扫描链测试数据经选通器一,从寄存器一的一端进入,从寄存器一的另一端输出,输出的数据由选通器三选通到达寄存器二的内部。
在扫描链测试模式下,寄存器一与寄存器二之间存在着一条数据路径,在Function功能模式下,此路径就成为了一条分跨虚拟时钟一与虚拟时钟二的虚拟路径。现今的设计工具并不会自动识别出以上这些“虚假”的虚拟路径,依旧会将其纳入时序分析范围。可以避免产生大量误导性的时序报告。
其中,跨时钟路径规划模块用于提供不同模式下各自的SDC约束文件,把非该模式下的路径设置为无效路径 ,指引工具不分析这些 “虚假”的跨时钟路径,避免产生错误的时序报告,其实现步骤为:
步骤S1:设置功能模式,内建自测试模式、扫描链测试模式以及Function功能模式;三个模式均使用相同的 PVT 时序库、RC条件和物理设计规则约束;
步骤S2:对于Function功能模式,在时序约束文件中设置正常工作需要用到的时钟,并把它们设置为异步时钟组,不允许工具去分析跨时钟路径,同时约束好对应的输入输出引脚;
步骤S3:对于内建自测试模式和扫描链测试场景,在时序约束文件中只需要设置相应的测试时钟及该模式下用到的输入和输出引脚的约束;
步骤S4:将三个模式全设置为激活状态,以便让 ICC 在做之后的物理设计流程时,能同时考虑三个场景的约束条件,实现多模式同时优化。
其中,所述多模式归一化处理模块用于实现多模式归一化处理,当选通信号为 0时,芯片处于功能模式;当选通信号为 1 时,芯片进入扫描链测试模式,Function功能模式中的寄存器将由扫描链时钟控制;可以看出,扫描链时钟和功能时钟共用时钟路径,芯片中没有单独在扫描链时钟下工作的器件。另 外,一般扫描链时钟频率要低于其它时钟。因此,我们在时序约束文件中不考虑扫描链时钟,进而将所有功能时钟和内存时钟控制合并到同一个时序约束文 件 中,实现多模式归一化处理。
其中,所述时钟周期设置模块用于设定时钟周期,在进行时序优化时,并不会自动识别出“虚假”的跨时钟路径;工具按照普通的时序分析方法计算时,会假定时钟Clk1和Clk2 的起始上升沿 ( 假设寄存器由上升沿触发)一致,再采用这两个时钟除起始上升沿外靠得最近的两个上升沿的差值作为计算其建立时间裕量的“周期”;当两个时钟周期不是整数倍关系时,两个上升沿的最小差值会趋近于零,就会使该路径报出时序违例,而实际上这条路径是“虚假”的,因此,我们将所有的时钟周期设置为某个最小周期值的整数倍。这样工具就能把多种模式归一化处理,而且也保证了所有的跨时钟路径至少被约束在最小周期值内。预防当两个时钟上升沿差值很小时,工具把“虚假”路径当成时序关键路径报出违例,不能找出真正的时序关键路径。
本发明的工作原理:一种多模式多时钟域的芯片集成控制系统,包括三个工作模式、虚拟路径处理模块、跨时钟路径规划模块以及多模式归一化处理模块;在跨时钟路径中存在一种虚假的跨时钟路径,定义为虚拟路径,虚拟路径物理上存在,但没有相应的使用场景,虚拟路径处理模块用于处理虚拟路径,拟定两个时钟,定义为虚拟时钟一与虚拟时钟二;拟定四个选通器,定义为选通器一、选通器二、选通器三、选通器四;拟定两个寄存器,定义为寄存器一、寄存器二;当选通器一、选通器二、选通器三以及选通器四的选通信号为0时,芯片处于Function功能模式,选通器一和选通器三选通功能数据,选通器二和选通器四分别选通虚拟时钟一和虚拟时钟二,此时寄存器一和寄存器二处于两个不同的虚拟时钟域,寄存器一由虚拟时钟一控制,寄存器二由虚拟时钟二控制,寄存器一与寄存器二之间没有数据交互;当选通器一、选通器二、选通器三以及选通器四的选通信号为1时,芯片处于扫描链测试模式,此时寄存器一与寄存器二均由扫描链时钟控制,扫描链测试数据经选通器一,从寄存器一的一端进入,从寄存器一的另一端输出,输出的数据由选通器三选通到达寄存器二的内部;在扫描链测试模式下,寄存器一与寄存器二之间存在着一条数据路径,在Function功能模式下,此路径就成为了一条分跨虚拟时钟一与虚拟时钟二的虚拟路径。现今的设计工具并不会自动识别出以上这些“虚假”的虚拟路径,依旧会将其纳入时序分析范围。可以避免产生大量误导性的时序报告。
跨时钟路径规划模块用于提供不同模式下各自的SDC约束文件,把非该模式下的路径设置为无效路径 ,指引工具不分析这些 “虚假”的跨时钟路径,避免产生错误的时序报告,设置功能模式:内建自测试模式、扫描链测试模式以及Function功能模式;三个模式均使用相同的 PVT 时序库、RC条件和物理设计规则约束;对于Function功能模式,在时序约束文件中设置正常工作需要用到的时钟,并把它们设置为异步时钟组,不允许工具去分析跨时钟路径,同时约束好对应的输入输出引脚;对于内建自测试模式和扫描链测试场景,在时序约束文件中只需要设置相应的测试时钟及该模式下用到的输入和输出引脚的约束;将三个模式全设置为激活状态,以便让 ICC 在做之后的物理设计流程时,能同时考虑三个场景的约束条件,实现多模式同时优化。
时钟周期设置模块用于设定时钟周期,在进行时序优化时,并不会自动识别出“虚假”的跨时钟路径;工具按照普通的时序分析方法计算时,会假定时钟Clk1和Clk2 的起始上升沿 ( 假设寄存器由上升沿触发)一致,再采用这两个时钟除起始上升沿外靠得最近的两个上升沿的差值作为计算其建立时间裕量的“周期”;当两个时钟周期不是整数倍关系时,两个上升沿的最小差值会趋近于零,就会使该路径报出时序违例,而实际上这条路径是“虚假”的,因此,我们将所有的时钟周期设置为某个最小周期值的整数倍。这样工具就能把多种模式归一化处理,而且也保证了所有的跨时钟路径至少被约束在最小周期值内。预防当两个时钟上升沿差值很小时,工具把“虚假”路径当成时序关键路径报出违例,不能找出真正的时序关键路径。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。