本技术涉及数字电路设计的,尤其是涉及一种原语转换方法、装置、设备及存储介质。
背景技术:
1、原语,即primitive,是对芯片底层逻辑资源的描述,通过对芯片底层逻辑的测试可以测试芯片的功能,测试芯片功能可以采用dft工具进行测试。dft工具是一种可测试性工具,根据需要插入可测试性逻辑,在测试过程中利用事先插入的逻辑功能测试芯片的功能,由于可测性设计的测试生成通常是针对门级器件的外节点,因此对于芯片的原语格式无法直接利用dft工具对芯片进行测试,需要将芯片的原语描述转换成对应的门级电路形式才能继续执行dft工具的一系列流程。
2、目前,对芯片的原语的转换过程通常是由人工完成的,然而人工转换的方式耗费时间长,且转换得到的结果难以保证,从而会使得原语转换的效率低。
技术实现思路
1、为了有助于解决人工转换耗费时间长且转换结果难以保证的问题,本技术提供一种原语转换方法、装置、设备及存储介质。
2、第一方面,本技术提供一种原语转换方法,采用如下的技术方案:所述方法包括:
3、获取芯片的原语描述,所述原语描述包括真值表,所述真值表包括电路输出状态和有效时钟沿;
4、根据所述电路输出状态和所述有效时钟沿判断原语电路的类型;
5、根据判断确定的所述原语电路的类型,对所述原语电路进行原语转换。
6、通过上述技术方案,在获取芯片的原语描述后,先对芯片的原语描述进行分析,通过分析原语描述中的电路输出状态和有效时钟沿,可以将原语电路的电路类型进行很好的区分,之后根据判断得到的不同的原语电路类型,采用不同的转换方法实现原语到门级电路的转换,从而可以实现对芯片原语的自动转换,进而可以减少在原语转换耗费的时间,且采用自动转换的方式可以保证转换的准确性,提高原语转换的效率。
7、在一个具体的可实施方案中,所述根据所述电路输出状态和所述有效时钟沿判断原语电路的类型包括:
8、判断所述电路输出状态是否唯一;
9、若所述电路输出状态唯一,则判定所述原语电路为组合逻辑电路;
10、若所述电路输出状态不唯一,则判断所述原语描述中是否存在所述有效时钟沿;
11、若存在所述有效时钟沿,则判定所述原语电路为flip-flop电路;
12、若不存在所述有效时钟沿,则判定所述原语电路为latch电路。
13、通过上述技术方案,根据电路输出状态和是否存在有效时钟沿判断芯片的原语描述的原语电路类型,由于组合逻辑电路与flip-flop电路、latch电路在输出状态上有区别,而flip-flop电路和latch电路的有效时钟沿存在区别,因此可以将这三种电路类型进行很好的区分;不同的电路类型其电路特征不同,故采用的转换方法也不一样,先判断得到原语电路类型后,可以针对性的根据不同的电路类型用不同的转换方法,使得原语的转换更准确。
14、在一个具体的可实施方案中,若判定所述原语电路为组合逻辑电路,所述对所述原语电路进行原语转换包括:
15、识别所述真值表中输出端为1的行并设为目标行;
16、判断所述目标行中每列的单元值是否为1;
17、若所述单元值为1,则将所述单元值为1的列对应的端口进行与门计算;
18、若所述单元值不为1,则将所述单元值不为1的列对应的端口添加非门后,进行与门计算;
19、将所述目标行进行与门计算后得到的结果进行或门计算。
20、通过上述技术方案,在判断得到是组合逻辑电路时,通过遍历目标行和目标行中的列进行不同的门计算,与门计算也即进行乘积计算,或门计算也即进行相加计算,非门计算也即进行反相计算,通过多个门计算可以得到逻辑函数的表达式,也即完成对组合逻辑电路类型的转换。
21、在一个具体的可实施方案中,若判定所述原语电路为flip-flop电路,所述对所述原语电路进行原语转换包括:
22、删除所述flip-flop电路对应的真值表中整行均为未知项的行;
23、在所述真值表剩余的有效行中,根据是否存在有效边沿确定所述flip-flop电路对应的时钟信号列;
24、确定所述flip-flop电路对应的触发器类型,若为异步触发器,则根据所述flip-flop电路对应的时钟信号列的生效状态和所述flip-flop电路的输出状态,确定所述flip-flop电路对应的复位信号列和置位信号列;
25、根据所述flip-flop电路对应的所述复位信号列、所述置位信号列和所述时钟信号列的生效状态,以及所述flip-flop电路的输出状态确定所述flip-flop电路对应的输入信号列;
26、将确定的所述flip-flop电路对应的所述时钟信号列、所述复位信号列、所述置位信号列和所述输入信号列整合进行逻辑表达生成所述flip-flop电路的门级电路。
27、通过上述技术方案,在判断得到是flip-flop电路后,通过分析真值表判断得到时钟信号列、复位信号列、置位信号列和输入信号列,之后将判断得到的这些列进行逻辑表达得到门级电路表达形式,最终完成原语的转换;首先对原语描述中的真值表进行有效行的筛选,对于真值表中的无效行,用户无法从中提取到相关信息,故而将无效行排除,减少无效信息对处理过程中的影响,节省处理时间;之后通过分析触发电路的状态以及信号的生效状态确定需要的信号列,最后将这些信号列整合逻辑表达后即可完成对flip-flop电路转换,得到用户需要的门级电路。
28、在一个具体的可实施方案中,若判定所述原语电路为latch电路,所述对所述原语电路进行原语转换包括:
29、删除所述latch电路对应的真值表中整行均为未知项的行;
30、根据所述latch电路的输出状态,确定所述latch电路对应的复位信号列和置位信号列;
31、根据所述latch电路对应的所述复位信号列和所述置位信号列的生效状态以及所述latch电路的输出状态确定所述latch电路对应的时钟信号列;
32、根据所述latch电路对应的所述复位信号列、所述置位信号列和所述时钟信号列的生效状态,以及所述latch电路的输出状态确定所述latch电路对应的输入信号列;
33、将确定的所述latch电路对应的所述时钟信号列、所述复位信号列、所述置位信号列和所述输入信号列整合进行逻辑表达生成所述latch电路的门级电路。
34、通过上述技术方案,在判断得到是latch电路后,通过分析真值表判断得到时钟信号列、复位信号列、置位信号列和输入信号列,之后将判断得到的这些列进行逻辑表达得到门级电路表达形式,最终完成原语的转换;首先对原语描述中的真值表进行有效行的筛选,对于真值表中的无效行,用户无法从中提取到相关信息,故而将无效行排除,减少无效信息对处理过程中的影响,节省处理时间;之后通过分析触发电路的状态以及信号的生效状态确定需要的信号列,最后将这些信号列整合逻辑表达后即可完成对latch电路转换,得到用户需要的门级电路。
35、在一个具体的可实施方案中,所述根据所述flip-flop电路对应的所述复位信号列、所述置位信号列和所述时钟信号列的生效状态,以及所述flip-flop电路的输出状态确定所述flip-flop电路对应的输入信号列包括:
36、筛选所述flip-flop电路对应的真值表中,所述复位信号列中的复位信号和所述置位信号列中的置位信号不生效,且所述时钟信号列中的时钟信号生效的行,并设定为时钟生效行,识别所述时钟生效行中的信号的值以及输出状态;
37、若所述时钟生效行中的信号的值与输出状态全相等,则确定所述时钟生效行中的信号对应的列为输入信号列;
38、若所述时钟生效行中的信号的值与输出状态不全相等,则判断所述时钟生效行中的信号的值与输出状态是否全相反;
39、若所述时钟生效行中的信号的值与输出状态全相反,则将所述时钟生效行中的信号对应的列进行非门计算后得到的结果确定为输入信号列;
40、若所述时钟生效行中的信号的值与输出状态不全相反,则将所述时钟生效行中未确定的列进行预设的门计算后得到的结果确定为输入信号列。
41、通过上述技术方案,时钟信号列、复位信号列和置位信号列特征较明显,通过分析真值表可以较容易判定,在确定了时钟信号列、复位信号列和置位信号列后,最后可以确定flip-flop电路的输入信号列;若flip-flop电路对应的真值表筛选出复位信号和置位信号不生效且时钟生效的行中,只剩一列信号列未被判断,则分析该信号列与输出状态的关系,从而可以直接判定或进行简单的非门计算后判定为输入信号列;若剩余有一列以上的信号列未被判断,则将剩余的信号列按照预设的门计算方法计算得到的结果作为输入信号列。
42、第二方面,本技术提供一种原语转换装置,采用如下技术方案:所述装置包括:
43、原语获取模块,用于获取芯片的原语描述,所述原语描述包括真值表,所述真值表包括电路输出状态和有效时钟沿;
44、电路类型判断模块,用于根据所述电路输出状态和所述有效时钟沿判断原语电路的类型;
45、原语转换模块,用于根据判断确定的所述原语电路的类型,对所述原语电路进行原语转换。
46、第三方面,本技术提供一种计算机设备,采用如下技术方案:包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如上述任一种原语转换方法的计算机程序。
47、第四方面,本技术提供一种计算机可读存储介质,采用如下技术方案:存储有能够被处理器加载并执行上述任一种原语转换方法的计算机程序。
48、综上所述,本技术具有以下有益技术效果:
49、在获取芯片的原语描述后,先对芯片的原语描述进行分析,通过分析原语描述中的电路输出状态和有效时钟沿,可以将原语电路的电路类型进行很好的区分,之后根据判断得到的不同的原语电路类型,采用不同的转换方法实现原语到门级电路的转换,从而可以实现对芯片原语的自动转换,进而可以减少在原语转换耗费的时间,且采用自动转换的方式可以保证转换的准确性,提高原语转换的效率。
1.一种原语转换方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于:所述根据所述电路输出状态和所述有效时钟沿判断原语电路的类型包括:
3.根据权利要求2所述的方法,其特征在于:若判定所述原语电路为组合逻辑电路,所述对所述原语电路进行原语转换包括:
4.根据权利要求2所述的方法,其特征在于:若判定所述原语电路为flip-flop电路,所述对所述原语电路进行原语转换包括:
5.根据权利要求2所述的方法,其特征在于:若判定所述原语电路为latch电路,所述对所述原语电路进行原语转换包括:
6.根据权利要求4所述的方法,其特征在于:所述根据所述flip-flop电路对应的所述复位信号列、所述置位信号列和所述时钟信号列的生效状态,以及所述flip-flop电路的输出状态确定所述flip-flop电路对应的输入信号列包括:
7.一种原语转换装置,其特征在于,所述装置包括:
8.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如权利要求1至6中任一种方法的计算机程序。
9.一种计算机可读存储介质,其特征在于,存储有能够被处理器加载并执行如权利要求1至6中任一种方法的计算机程序。