电路的优化方法、电路、存储介质与流程



1.本发明涉及数字电路的技术领域,尤其涉及一种优化电路的选择器逻辑树的方法。


背景技术:



2.在当今的数字电路设计过程中,将电路的rtl描述转化成门级网表是一个必要环节。而在电路的综合转化过程中,伴随的电路优化必不可少。随着设计的规模越来越大和越来越复杂,合理适当的优化可以在保证电路的功能逻辑正确的情况下,减少元件数目,降低电路延时和功耗,从而提高电路的性能。
3.而电路设计当中,选择器通常都是必要部件,因而如何对电路的选择器对应的电路进行优化是待解决的技术问题。


技术实现要素:



4.为了解决现有技术中电路未能合理优化的技术问题,本发明提出了电路的优化方法、电路、存储介质。
5.本发明提出电路的优化方法,包括:
6.预先准备优化模块模板,以及每一个优化模块模板对应的优化策略;
7.读取电路并筛选出电路中的选择器逻辑树;
8.将筛选出来的选择器逻辑树与优化模块模板进行对比,当所述选择器逻辑树与优化模块模板一致时,判断所述优化模块模板对应的优化策略是否为删除至少一个选择器,若是,则标记待删除的选择器或者待删除的选择器及其分支,待所有选择器逻辑树均对比完毕之后再根据优化策略进行删除;否则采用所述优化模块模板对应的优化策略对对应的选择器逻辑树直接进行优化。
9.进一步,所述优化模块模板包括第一模板,所述第一模板至少包括一个选择器,且该选择器的输出端口无效;所述第一模板对应的优化策略为将该选择器及其输入端口连接的子树删除。
10.进一步,所述优化模块模板包括第二模板,所述第二模板至少包括一个选择器,且该选择器的一个输入端无效;所述第二模板对应的优化策略为将该选择器及其无效的输入端连接的子树删除,并将剩下的输入端与该选择器的输出端直接连接。
11.进一步,所述优化模块模板包括第三模板,所述第三模板至少包括一个选择器,且该选择器的一个输入端与其控制端连接;所述第三模板对应的优化策略为将与该选择器控制端连接的输入端赋值为对应的常量;
12.和/或,所述第三模板至少包括两个选择器,且其中的子系选择器的一个输入端与父系选择器的控制端连接;所述第三模板对应的优化策略包括:
13.将与所述父系选择器的控制端连接的输入端赋值为对应的常量;
14.判断所述选择器与其父系选择器之间是否存在组合电路,若不存在,则优化完毕;
若存在,判断所述组合电路的输入是否与所述选择器的输出完全匹配,以及所述组合电路的输出是否与所述父系选择器的输入完全匹配,若完全匹配,则删除所述组合逻辑并优化完毕;若不完全匹配,则删除所述组合逻辑,并将所述组合逻辑的其他输入、输出移除所述选择器逻辑树,形成单独的电路分支。
15.进一步,所述优化模板包括第四模板,所述第四模板至少包括两个选择器,且其中的子系选择器的控制端与父系选择器的控制端连接;所述第四模板对应的优化方法为保留所述父系选择器的控制端对应的子系选择器的输入端,并将该子系选择器及该子系选择器其他的输入端对应的子树删除。
16.进一步,所述优化模板包括第五模板,所述第五模板包括至少两个选择器,且两个选择器的输入端的输入信号完全相同,控制端的输入信号不同,所述第五模板对应的优化方法为将两个选择器合并为一个选择器,且选择器的各个输入端连接原来控制端对应的输入信号。
17.进一步,当优化模块模板具有多个模板时,采用任意顺序将筛选出来的选择器逻辑树与优化模块模板进行对比,并在每次对比优化之后,再次重复对比优化,直至筛选出来的选择器逻辑树不存在与优化模块模板一致的局部电路。
18.进一步,所述选择器包括二选一数据选择器和/或多选一数据选择器。
19.进一步,当优化模块模板至少具有第五模板时,将筛选出来的选择器逻辑树与优化模块模板进行对比时,所述第五模板具有最高对比优先级。
20.进一步,当优化模块模板至少具有第一模板时,将筛选出来的选择器逻辑树与优化模块模板进行对比时,所述第一模板具有最低对比优先级。
21.本发明提出的电路,至少包括选择器,所述电路采用上述技术方案所述的电路的优化方法进行优化。
22.本发明提出的计算机可读存储介质,用于存储计算机程序,所述计算机程序执行时运行上述技术方案所述的电路的优化方法。
23.本发明基于选择器的固定组合特性,将可以优化减少数量的选择器组合和逻辑导致的死路筛选出来,进行优化和删除操作,从而极大的减少选择器的数量以及死路上冗余的元件。此类优化可以在大型电路的综合优化中减少元件数量,缩小电路面积,减少损耗,提高速度,在任何数字电路设计中都可以普遍运用。
附图说明
24.下面结合实施例和附图对本发明进行详细说明,其中:
25.图1(a)是现有技术的mux结构示意图。
26.图1(b)是现有技术的pmux的结构示意图。
27.图2是本发明一实施例的第二模板的优化示例。
28.图3是本发明一实施例的第三模板的优化示例。
29.图4是本发明一实施例的第四模板的优化示例。
30.图5是本发明一实施例的第五模板的优化示例。
31.图6是本发明一实施例的待优化的选择器逻辑树。
32.图7是图6经过第一模板至第四模板优化以后的选择器逻辑树。
33.图8是图7经过第五模板优化以后的选择器逻辑树。
34.图9是图8经过第四模板优化以后的选择器逻辑树。
35.图10是本发明一实施例的流程图。
具体实施方式
36.为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
37.由此,本说明书中所指出的一个特征将用于说明本发明的一个实施方式的其中一个特征,而不是暗示本发明的每个实施方式必须具有所说明的特征。此外,应当注意的是本说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的系统设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限制。
38.本发明的电路的优化方法,包括以下步骤。
39.预先准备优化模块模板,以及每一个优化模块模板对应的优化策略。
40.读取电路并筛选出电路中的选择器逻辑树。电路中的选择器逻辑树的具体数量根据电路的实际设计有关,可能是还选出一个选择器逻辑树,也可能筛选出多个选择器逻辑树。
41.在一个实施例中,筛选选择器逻辑树的具体过程为:读入带有选择器的电路设计,对电路设计中的元器件进行遍历,将其中的所有选择器筛选出来,然后通过元器件的端口间的信号建立各个选择器之间的连接关系。然后将位于选择器控制端、非选择器元件输入端、电路模块的输出端口的选择器标记为一个选择器逻辑树的根。也就是说,各个选择器都有终点,将一个或多个选择器的组合的终点称之为根,从根开始,沿着信号传播方向一直查子树,直到没有选择器为止。例如,从作为根的选择器开始,沿着信号传播方向,下一个可能是组合逻辑,然后再到另一个选择器,然后经过若干个组合逻辑和选择器,最终信号的传播路径没有选择器时,则到达的最后一个选择器就是该选择器逻辑树的树梢。
42.将筛选出来的选择器逻辑树与优化模块模板进行对比,当筛选出来的选择器逻辑树与优化模块模板一致时,判断优化模块模板对应的优化策略是否为删除至少一个选择器,若是,则标记待删除的选择器或者待删除的选择器及其分支,待所有选择器逻辑树均对比完毕之后再根据优化策略进行删除;否则采用优化模块模板对应的优化策略对对应的选择器逻辑树直接进行优化。
43.通过本发明的上述技术方案,本发明可以对任意规模的电路进行优化,尤其是大规模电路,使得电路的结构更加的简化,降低了电路延时和功耗,提高了电路的性能。
44.本发明上述的选择器逻辑树中的选择器包括二选一数据选择器和/或多选一数据选择器。参见图1,图1示出了可优化的选择器的类型,图1(a)为mux,即二选一数据选择器。图1(b)为pmux,即多选一数据选择器,b端口为多选择端。
45.在一个实施例中,本发明的优化模块模板包括第一模板、第二模板、第三模板、第四模板、第五模板当中的至少一个模板。
46.第一模板,至少包括一个选择器,且该选择器的输出端口无效。以二选一数据选择
器为例,当电路采用了第三模板或者是第四模板对应的优化策略对电路进行优化以后,可能会出现优化后的电路的某个二选一数据选择器的输出端口无效,由于选择器的输出端口无效,导致二选一数据选择器的两个输入端口都无效。因而第一模板对应的优化策略为将该选择器及其输入端口连接的子树删除。多选一数据选择器也是相同的原理。
47.第二模板,至少包括一个选择器,且该选择器的一个输入端无效。第二模板对应的优化策略为将该选择器及其无效的输入端连接的子树删除,并将剩下的输入端与该选择器的输出端直接连接。
48.如图2所示,例如某个选择器的控制端连接了常量,导致选择器固定为一个输入端,而其余的输入端成为死路。此时可以删除死路端的子树和此选择器,并将剩下的输入端口直接与输出端口相连。选择器的子树指的是与选择器输入端连接的元器件或者元器件的组合。
49.第三模板具有两个实施例。
50.在一个实施例中,第三模板至少包括一个选择器,且该选择器的一个输入端与其控制端连接;第三模板对应的优化策略为将与该选择器控制端连接的输入端赋值为对应的常量。
51.在另一个实施例中,第三模板至少包括两个选择器,且其中的子系选择器的一个输入端与父系选择器的控制端连接。子系选择器指的是位于父系选择器输入一侧的选择器,但是子系选择器与父系选择器之间可以是直接连接关系,也可以是间接连接关系。例如子系选择器的输出信号可以作为父系选择器的输入信号。再例如,子系选择器的输出信号输出给某个组合电路,组合电路的输出信号再传递到父系选择器的输入端。这两种情况都符合第三模板涵盖的范围。
52.此时第三模板对应的优化策略包括以下步骤。
53.将与父系选择器的控制端连接的输入端赋值为对应的常量;
54.判断选择器与其父系选择器之间是否存在组合电路,若不存在,则优化完毕;若存在,判断组合电路的输入是否与所述选择器的输出完全匹配,以及组合电路的输出是否与父系选择器的输入完全匹配,若完全匹配,则删除组合逻辑并优化完毕;若不完全匹配,则删除组合逻辑,并将组合逻辑的其他输入、输出移除选择器逻辑树,形成单独的电路分支。
55.如图3所示,例如箭头左侧的电路图中,位于左侧的子系选择器的输入端为变量b,输出端与位于右侧的父系选择器(例如一个二选一数据选择器)的一个输入端(端口1连接)连接。那么只有当父系选择器的控制端的变量b的取值为1时,父系选择器的端口1才有效,也就是说,子系选择器的输入端一定要为1。因而可以优化为图3箭头右侧的电路结构。即,在此情况下,这个输入端只能为同选择端口对应的常量,此时需要将此输入端赋值为常量。
56.第四模板,至少包括两个选择器,且其中的子系选择器的控制端与父系选择器的控制端连接;第四模板对应的优化方法为保留父系选择器的控制端对应的子系选择器的输入端,并将该子系选择器及该子系选择器其他的输入端对应的子树删除。
57.如图4所示,箭头左侧的电路图中,最左侧的子系选择器的控制端与左右侧的父系选择器的控制端相连(此子系选择器与父系选择器间允许存在组合逻辑)。在此情况下,这个子系选择器只能选择与父系选择器的选择端口的对应的输入端,而另一个输入端成为死路。例如,变量s为0时,子系选择器的变量a对应的输入端口有效,则变量b对应的输入端口
将成为死路,此时可以删除变量b对应的输入端口连接的子树以及此子系选择器,并将剩下的输入端口直接与输出端口相连,也就是将变量a直接传递给该子系选择器的下一个元器件。
58.第五模板,包括至少两个选择器,且两个选择器的输入端的输入信号完全相同,控制端的输入信号不同。第五模板对应的优化方法为将两个选择器合并为一个选择器,且选择器的各个输入端连接原来控制端对应的输入信号。
59.如图5所示,箭头左侧的电路中一共有两个子系选择器,一个父系选择器,两个子系选择器具有完全相同的输入端,均对应变量a、b,两个子系选择器的控制端分别对应变量c、d,父系选择器的两个输入端分别连接两个子系选择器的输出端,父系选择器的控制端对应变量s,优化后的电路如箭头右侧所示。
60.在一个实施例中,当优化模块模板具有多个模板时,采用任意顺序将筛选出来的选择器逻辑树与优化模块模板进行对比,并在每次对比优化之后,再次重复对比优化,直至筛选出来的选择器逻辑树不存在与优化模块模板一致的局部电路。
61.在另一个实施例中,由于上述模板中,前四种模板都是独立处理,不会相互影响,可以交叉进行没有先后顺序。但第五模板除了对匹配的组合类型使用外,还可以搭配其他组合使用并进一步简化。因此,在优化过程中将组合五最先优化可以达到最简组合。也就是说,优化模块模板至少具有第五模板时,将筛选出来的选择器逻辑树与优化模块模板进行对比时,第五模板具有最高对比优先级。
62.另外,前面提到第一模板有可能会在其他模板优化时产生,因而在一个实施例中,当优化模块模板至少具有第一模板时,将筛选出来的选择器逻辑树与优化模块模板进行对比时,第一模板具有最低对比优先级。
63.图10示出了本发明的一个优化顺序的较优实施例,在该实施例中,优先使用第五模板与筛选出来的选择器逻辑树进行对比,最后使用第一模板与筛选出来的选择器逻辑树进行对比,从而每个模板对比一轮以后就可以完成电路的所有选择器的优化,效率最高。
64.图10所示的该较优实施例的具体实现过程如下。
65.先读入电路的设计模块,该设计模块带有选择器。将其中的所有选择器(mux和/或pmux)筛选出来,而后通过端口间的信号建立各个选择器之间的连接关系。
66.评估选择器逻辑树,即将位于选择器控制端、非选择器元件输入端、模块输出端口的选择器标记为选择器逻辑树的根。
67.结构映射出可优化的组合,即可优化的选择器逻辑树。具体的做法是根据每个组合的特征,使用映射方式在电路中提取出对应组合的位置,并将每个组合分别与第一至第五模板进行对比以便进行优化。
68.先判断是否与第五模板一致,如果是,需要先行优化,方便后续其他组合的优化。
69.再判断是否与第三模板一致。如果是,将同控制端相连的输入端赋为常量。
70.接着判断是否与第四模板一致。如果是,将未被选中的端口标记为死路端口,后续子树为死路,输入端口全为死路。
71.再判断是否为组合二。如果是,将未被选中的端口标记为死路端口,后续子树为死路,输入端口全为死路;
72.所有组合均判断结束以后,由于电路被部分优化,许多输入端口被优化删除,导致
该端口的子树成为死路,此时需要根据死路端口的数量来处理子树和选择器。
73.如果一个选择器的死路端口数量为0,不做处理;
74.如果一个选择器的死路端口数量为1,采用第二、四模板对应的优化策略,进行删除对应子树和选择器操作;
75.如果一个选择器的死路端口的数量为2,采用第一模板对应的优化策略,这种情况是由于根据第二、三、四模板进行优化导致的,直接删除全部子树和选择器。
76.下面以图6至图9为例,来对具体的选择器逻辑树的优化过程进行说明。
77.图6中列举了一个具有复杂组合且选择器较多的选择器逻辑树,选择器的数量一共有8个。假设首先采用第一模板至第四模板对图6所示的选择器逻辑树进行优化时,可以得到图7所示的优化后的选择器逻辑树,可以看出,减少了部分选择逻辑,但是结构仍然复杂,还具有6个选择器。然后再将图7的选择器逻辑树与第五模板进行对比,并采用对应的策略进行优化,优化后的选择器逻辑树见图8,此时选择器进一步减少,一共还有5个选择器,并且此时的选择器逻辑树中又出现了与第四模板相一致的选择器电路,因而还可以再进行优化,从而得到图9所示的选择器逻辑树,此时选择器只有4个,达到了最终的最简组合。
78.从上述过程可以看出,当第五模板不具备最高对比优先级时,会导致对比优化需要多次才能达到最简的优化结果。而将第五模板设为最高对比优先级,则可以只优化一遍就达到最简组合。
79.本发明还保护电路,该电路至少包括选择器,该电路采用了上述技术方案的电路的优化方法进行优化。
80.本发明还保护计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,该计算机程序执行时运行上述技术方案的电路的优化方法。
81.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术特征:


1.一种电路的优化方法,其特征在于,包括:预先准备优化模块模板,以及每一个优化模块模板对应的优化策略;读取电路并筛选出电路中的选择器逻辑树;将筛选出来的选择器逻辑树与优化模块模板进行对比,当所述选择器逻辑树与优化模块模板一致时,判断所述优化模块模板对应的优化策略是否为删除至少一个选择器,若是,则标记待删除的选择器或者待删除的选择器及其分支,待所有选择器逻辑树均对比完毕之后再根据优化策略进行删除;否则采用所述优化模块模板对应的优化策略对对应的选择器逻辑树直接进行优化。2.如权利要求1所述的电路的优化方法,其特征在于,所述优化模块模板包括第一模板,所述第一模板至少包括一个选择器,且该选择器的输出端口无效;所述第一模板对应的优化策略为将该选择器及其输入端口连接的子树删除。3.如权利要求1所述的电路的优化方法,其特征在于,所述优化模块模板包括第二模板,所述第二模板至少包括一个选择器,且该选择器的一个输入端无效;所述第二模板对应的优化策略为将该选择器及其无效的输入端连接的子树删除,并将剩下的输入端与该选择器的输出端直接连接。4.如权利要求1所述的电路的优化方法,其特征在于,所述优化模块模板包括第三模板,所述第三模板至少包括一个选择器,且该选择器的一个输入端与其控制端连接;所述第三模板对应的优化策略为将与该选择器控制端连接的输入端赋值为对应的常量;和/或,所述第三模板至少包括两个选择器,且其中的子系选择器的一个输入端与父系选择器的控制端连接;所述第三模板对应的优化策略包括:将与所述父系选择器的控制端连接的输入端赋值为对应的常量;判断所述选择器与其父系选择器之间是否存在组合电路,若不存在,则优化完毕;若存在,判断所述组合电路的输入是否与所述选择器的输出完全匹配,以及所述组合电路的输出是否与所述父系选择器的输入完全匹配,若完全匹配,则删除所述组合逻辑并优化完毕;若不完全匹配,则删除所述组合逻辑,并将所述组合逻辑的其他输入、输出移除所述选择器逻辑树,形成单独的电路分支。5.如权利要求1所述的电路的优化方法,其特征在于,所述优化模板包括第四模板,所述第四模板至少包括两个选择器,且其中的子系选择器的控制端与父系选择器的控制端连接;所述第四模板对应的优化方法为保留所述父系选择器的控制端对应的子系选择器的输入端,并将该子系选择器及该子系选择器其他的输入端对应的子树删除。6.如权利要求1所述的电路的优化方法,其特征在于,所述优化模板包括第五模板,所述第五模板包括至少两个选择器,且两个选择器的输入端的输入信号完全相同,控制端的输入信号不同,所述第五模板对应的优化方法为将两个选择器合并为一个选择器,且选择器的各个输入端连接原来控制端对应的输入信号。7.如权利要求2至6任意一项所述的电路的优化方法,其特征在于,当优化模块模板具有多个模板时,采用任意顺序将筛选出来的选择器逻辑树与优化模块模板进行对比,并在每次对比优化之后,再次重复对比优化,直至筛选出来的选择器逻辑树不存在与优化模块模板一致的局部电路。8.如权利要求2至6任意一项所述的电路的优化方法,其特征在于,所述选择器包括二
选一数据选择器和/或多选一数据选择器。9.如权利要求6所述的电路的优化方法,其特征在于,当优化模块模板至少具有第五模板时,将筛选出来的选择器逻辑树与优化模块模板进行对比时,所述第五模板具有最高对比优先级。10.如权利要求2所述的电路的优化方法,其特征在于,当优化模块模板至少具有第一模板时,将筛选出来的选择器逻辑树与优化模块模板进行对比时,所述第一模板具有最低对比优先级。11.一种电路,至少包括选择器,其特征在于,所述电路采用如权利要求1至10任意一项所述的电路的优化方法进行优化。12.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序执行时运行如权利要求1至10任意一项所述的电路的优化方法。

技术总结


本发明公开了一种电路的优化方法、电路、存储介质。其中电路的优化方法,包括:预先准备优化模块模板,以及每一个优化模块模板对应的优化策略;读取电路并筛选出电路中的选择器逻辑树;将筛选出来的选择器逻辑树与优化模块模板进行对比,当所述选择器逻辑树与优化模块模板一致时,判断所述优化模块模板对应的优化策略是否为删除至少一个选择器,若是,则标记待删除的选择器或者待删除的选择器及其分支,待所有选择器逻辑树均对比完毕之后再根据优化策略进行删除;否则采用所述优化模块模板对应的优化策略对对应的选择器逻辑树直接进行优化。本发明可以简化电路结构,提高电路的性能。提高电路的性能。提高电路的性能。


技术研发人员:

王子成 刘美华 苏宇 白耿

受保护的技术使用者:

深圳国微芯科技有限公司

技术研发日:

2022.12.20

技术公布日:

2023/3/10

本文发布于:2024-09-21 19:35:11,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/71167.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:选择器   模板   所述   电路
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议