一种增强pll扫频激励信号的方法及系统,用于增强pll扫频激励信号,属于半导体数字、模拟芯片的功能验证。
背景技术:
1、传统的pll(锁相环)扫频激励信号生成步骤为:
2、①芯片验证工程师根据pll产品规格书,梳理出pll配置的全部组合空间;
3、②验证工程师以人工的方式,从全部配置组合空间内,选择一个配置组合;
4、③将选择出来的配置组合,输入到配置参数生成器,对部分参数做进一步的处理;
5、④配置参数生成器将pll配置参数转换成pll的接口信号,并输入到待测pll的接口,以供仿真。
6、传统的pll配置生成方式为:
7、①从全部配置组合空间中,选择少量组合测试;
8、②对于全部配置组合空间,依次执行每一个配置组合;
9、现有技术中,在模拟pll或小规模模拟器件的功能验证过程中,往往对功能的完备性没有做过多的要求和约束,对于同质化的功能点,往往采用抽取部分功能点进行逐点扫频验证即可的方式,在这种背景下,存在如下技术问题:
10、1.无法对pll或模拟芯片的全部功能点都进行有效的验证,因此,可能会造成遗留bug的现象,轻则影响芯片功能和性能,重则导致芯片流片失败,给企业造成重大经济损失;
11、2.无法实现全自动化生成全部配置空间及实现相应的验证;
12、3.存在重复随机的现象,会造成对同一组随机组合重复仿真的现象,易造成仿真进度慢的问题;
13、4.无法使配置组合的覆盖情况达到100%,即无法彻底覆盖全部配置参数组合空间;
14、5.无法对配置组合空间进行有效的压缩,仿真器时,对服务器系统内存的消耗大,从而造成了仿真速率慢的问题;
15、6.需要验证工程师持续地、重复地投入到对不同配置参数组合的选择、生成和判断中,对于海量的配置参数组合,这个过程将是漫长琐碎的,且大量的重复劳作容易使验证工程师产生疲劳,造成对错误配置参数的疏忽,增加企业用人成本的同时,还可能降低产品的质量:
16、7.现有的随机激励方案,都只能应用于数字芯片的功能验证中,无法用于模拟pll的激励产生中,而模拟验证平台无法随机,只能人工抽取部分配置参数仿真。
技术实现思路
1、针对上述研究的问题,本发明的目的在于提供一种增强pll扫频激励信号的方法及系统,解决现有技术无法对pll或模拟芯片的全部功能点都进行有效的验证,因此,可能会造成遗留bug的现象,轻则影响芯片功能和性能,重则导致芯片流片失败,给企业造成重大经济损失。
2、为了达到上述目的,本发明采用如下技术方案:
3、一种增强pll扫频激励信号的方法,包括如下步骤:
4、步骤1、仿真运行控制器根据模拟pll的配置参数及参数的取值范围自动生成全部配置组合空间,并采用有序压缩编码方式对各配置组合空间进行编码,其中,模拟pll包括支持倍频和分频的模拟pll,配置参数包括占空比、倍频、分频和倍频系数,倍频系数包括n1、n2和n3三个参数;
5、步骤2、自动随机控制器采用一种或两种不同模式并行从全部配置组合空间编码抽取配置组合空间编码,其中,模式包括逐点扫频模式和高效随机模式在高效随机模式下,自动随机控制器从全部配置组合空间编码中,随机抽取配置组合空间编码;在逐点扫频模式下,自动随机控制器从全部配置组合空间编码的头部或尾部取出配置组合空间编码;
6、步骤3、对抽取的配置组合空间编码进行解码,将配置组合空间编码恢复成实际参数值;
7、步骤4、将实际参数值以信号的方式传送给待测模拟pll进行验证,同时覆盖率收集器记录本次仿真配置组合空间编码;
8、步骤5、基于高效随机模式抽取配置组合空间编码的方式,仿真运行控制器根据覆盖率收集器的结果,从全部配置组合空间编码中屏蔽已经完成仿真的配置组合空间编码,若配置组合空间编码全部仿真完成,则结束,否则,转到步骤2,再次随机抽取余下的配置组合空间编码;
9、基于逐点扫频模式抽取配置组合空间编码的方式,若配置组合空间全部仿真完成,则结束,否则,转到步骤2,抽取余下的下一个的配置组合空间编码。
10、进一步,所述步骤1的具体步骤为:
11、步骤1.1、基于给定的配置参数组合、各配置参数在配置参数组合中的位置及各配置参数对应的取值范围,采用依次遍历方式遍历各配置参数不同的取值组合方式,自动生成全部配置组合空间,同时获取全部配置组合空间的配置组合数量t;
12、步骤1.2、基于2n-1≤t<2n获取n的值;
13、步骤1.3、基于2n得到编码值的位宽n;
14、步骤1.4、根据确定的位宽从小到大依次得到多个编码值,采用不同的编码值对每个配置组合空间进行编码,编码后,若有多余的编码值,就用于增加了配置参数情况下的扩展,否则,不作处理。
15、进一步,所述步骤1.4中,按编码值从小到大的顺序对依次遍历生成的配置组合空间进行编码。
16、进一步,所述步骤2中:
17、逐点扫频用于对配置组合空间进行仿真、以实现对模拟pll的功能调试和验证平台调试,高效随机用于对配置组合空间进行仿真、以对模拟pll隐蔽bug的深度挖掘和撞击。
18、进一步,所述步骤3对抽取的配置组合空间编码进行逆向解码,具体步骤为:
19、步骤3.1、基于倍频系数下各参数的取值范围,先计算倍频系数下各参数的配置组合空间数t1,若配置参数有占空比、倍频和分频,转到步骤3.2,否则,直接转到步骤3.3;
20、步骤3.2、判断各配置组合空间的编码值满足四个条件中的哪一个:0<=编码值<t1或t1<=编码值<2*t1或2*t1<=编码值<3*t1或3*t1<=编码值<4*t1;
21、若满足0<=编码值<t1时,mode=0,p=0,其中,mode=0表示倍频,p=0表示占空比配置为50%;
22、若满足t1<=编码值<2*t1时,mode=0,p=1,其中,p=1表示占空比配置为70%;
23、若满足2*t1<=编码值<3*t1时,mode=1,p=0,其中,mode=1表示分频;
24、若满足3*t1<=编码值<4*t1时,mode=1,p=1;
25、步骤3.3、基于n3=(编码值%t1)%n3_max+1,得到n3的具体值,其中,n3_max表示n3的取值范围中的最大值,编码值%t1表示编码值对t1取模,(编码值%t1)%n3_max表示编码值%t1结果得到后再对n3_max取模;
26、基于n2=int((编码值%t1)/n3_max))%n2_max+1,得到n2的具体值,其中,n2_max表示n2的取值范围中的最大值,int表示取整,int((编码值%t1)/n3_max))%n2_max表示int((编码值%t1)/n3_max))结果得到后再对n2_max取模;
27、基于n1=int((编码值%t1)/(n2_max*n3_max))+1,得到n1的具体值。
28、一种增强pll扫频激励信号的系统,包括:
29、仿真运行控制器:根据模拟pll的配置参数及参数的取值范围自动生成全部配置组合空间,并采用有序压缩编码方式对各配置组合空间进行编码,其中,模拟pll包括支持倍频和分频的模拟pll,配置参数包括占空比、倍频、分频和倍频系数,倍频系数包括n1、n2和n3三个参数;
30、在高效随机模式抽取配置组合空间编码的方式,根据覆盖率收集器的结果,从全部配置组合空间编码中屏蔽已经完成仿真的配置组合空间编码,若配置组合空间编码全部仿真完成,则结束,否则,自动随机控制器继续执行,再次随机抽取余下的配置组合空间编码;
31、在逐点扫频模式抽取配置组合空间编码的方式,若配置组合空间全部仿真完成,则结束,否则,自动随机控制器继续执行,抽取余下的下一个的配置组合空间编码。
32、自动随机控制器:采用一种或两种不同模式并行从全部配置组合空间编码抽取配置组合空间编码,其中,模式包括逐点扫频模式和高效随机模式在高效随机模式下,从全部配置组合空间编码中,随机抽取配置组合空间编码;在逐点扫频模式下,从全部配置组合空间编码的头部或尾部取出配置组合空间编码;
33、配置参数生成器:对抽取的配置组合空间编码进行解码,将配置组合空间编码恢复成实际参数值;
34、将实际参数值以信号的方式传送给待测模拟pll进行验证;
35、覆盖率收集器:采用有序压缩编码方式对各配置组合空间进行编码;
36、记录配置参数生成器本次仿真的配置组合空间编码。
37、进一步,所述仿真运行控制器中,根据模拟pll的配置参数及参数的取值范围自动生成全部配置组合空间,并采用有序压缩编码方式对各配置组合空间进行编码的具体步骤为:
38、步骤1.1、基于给定的配置参数组合、各配置参数在配置参数组合中的位置及各配置参数对应的取值范围,采用依次遍历方式遍历各配置参数不同的取值组合方式,自动生成全部配置组合空间,同时获取全部配置组合空间的配置组合数量t;
39、步骤1.2、基于2n-1≤t<2n获取n的值;
40、步骤1.3、基于2n得到编码值的位宽n;
41、步骤1.4、根据确定的位宽从小到大依次得到多个编码值,采用不同的编码值对每个配置组合空间进行编码,编码后,若有多余的编码值,就用于增加了配置参数情况下的扩展,否则,不作处理。
42、进一步,所述步骤1.4中,按编码值从小到大的顺序对依次遍历生成的配置组合空间进行编码。
43、进一步,所述自动随机控制器中:
44、逐点扫频用于对配置组合空间进行仿真、以实现对模拟pll的功能调试和验证平台调试,高效随机用于对配置组合空间进行仿真、以对模拟pll隐蔽bug的深度挖掘和撞击。
45、进一步,所述配置参数生成器中,对抽取的配置组合空间编码进行逆向解码,具体步骤为:
46、步骤3.1、基于倍频系数下各参数的取值范围,先计算倍频系数下各参数的配置组合空间数t1,若配置参数有占空比、倍频和分频,转到步骤3.2,否则,直接转到步骤3.3;
47、步骤3.2、判断各配置组合空间的编码值满足四个条件中的哪一个:0<=编码值<t1或t1<=编码值<2*t1或2*t1<=编码值<3*t1或3*t1<=编码值<4*t1;
48、若满足0<=编码值<t1时,mode=0,p=0,其中,mode=0表示倍频,p=0表示占空比配置为50%;
49、若满足t1<=编码值<2*t1时,mode=0,p=1,其中,p=1表示占空比配置为70%;
50、若满足2*t1<=编码值<3*t1时,mode=1,p=0,其中,mode=1表示分频;
51、若满足3*t1<=编码值<4*t1时,mode=1,p=1;
52、步骤3.3、基于n3=(编码值%t1)%n3_max+1,得到n3的具体值,其中,n3_max表示n3的取值范围中的最大值,编码值%t1表示编码值对t1取模,(编码值%t1)%n3_max表示编码值%t1结果得到后再对n3_max取模;
53、基于n2=int((编码值%t1)/n3_max))%n2_max+1,得到n2的具体值,其中,n2_max表示n2的取值范围中的最大值,int表示取整,int((编码值%t1)/n3_max))%n2_max表示int((编码值%t1)/n3_max))结果得到后再对n2_max取模;
54、基于n1=int((编码值%t1)/(n2_max*n3_max))+1,得到n1的具体值。
55、本发明同现有技术相比,其有益效果表现在:
56、一、本发明通过引入覆盖率工具,通过科学地统计和产生,实现全部配置参数下的功能验证,极大增强芯片功能的稳定性和健壮性,有效提高了芯片的整体质量;
57、二、本发明引入逐点扫频模式或和高效随机模式的激励生成方式,能将未验证过的角落彻底验证,有效提高了验证的效率,降低了现有激励产生方式带来的风险;
58、三、本发明通过仿真运行控制器、自动随机控制器和覆盖率收集器相配合,避免了随机到相同组合的情况,极大提高了仿真验证的效率,减少了重复随机对仿真进度的影响;
59、四、本发明通过仿真运行控制器,可以实现全部随机向量完全自动随机并运行,避免验证工程师手动地重复单次仿真,彻底解放了验证工程师,有效提高了企业的运行效率,降低了产品的研发成本;
60、五、本发明采用有序压缩编码方法进行覆盖率反馈,使覆盖率的解析由传统的对“字符串+数值”方式,优化为只对数值解析和解码,极大提高了工具运行的效率;
61、六、本发明通过有序压缩编码技术,去掉了传统覆盖率收集器带来的工程师预先制定每一个covergroup、每一个coverpoint、每一个bins的环节,极大提高了验证工程师的工作效率;
62、七、本发明通过有序压缩编码方法进行仿真,有效降低了数据存储的位宽,降低了仿真过程中测试用例的内存消耗,使服务器可以运行更多的测试用例,提高了服务器的使用效率。