RTL逻辑综合中的重输入优化方法、存储介质与流程

未命名 09-29 阅读:101 评论:0

rtl逻辑综合中的重输入优化方法、存储介质
技术领域
1.本发明涉及rtl级电路的逻辑综合的技术领域,尤其涉及一种在逻辑综合的阶段对电路中元件存在的重输入结构冗余进行优化的方法。


背景技术:

2.在集成电路设计中,设计的层级从上到下可以分为设计想法(idea)

行为级描述(behavior级)

寄存器传输级(rtl级,register-transfer level级)

门级网表

物理版图。(rtl)是用于描述同步数字电路操作的抽象级。
3.rtl级和门级网表的区别在于:rtl级是用硬件描述语言(verilog或vhdl)描述理想达到的功能,门级网表则是用具体的逻辑单元(依赖厂家的库)来实现用户的功能,rtl级和门级网表是设计实现上的不同阶段,rtl级的电路设计经过逻辑综合后,就能够得到门级网表。
4.随着设计的规模越来越大和越来越复杂,合理适当的优化可以在保证电路的功能逻辑正确的情况下,减少元件数目,降低电路延时和功耗,从而提高电路的性能。在rtl级逻辑综合时,若是不考虑对元件或元件组合的冲输入情况进行优化,那么得到的门级网表将会存在结构上的冗余,不利于电路设计。
5.现有技术中对于重输入的优化,仅仅只有针对简单结构的优化,当结构比较复杂时,现有技术较难判断是否需要优化。
6.因而如何提供一种rtl逻辑综合中的重输入优化方法是待解决的技术问题。


技术实现要素:

7.为了解决现有技术中未考虑重输入优化的技术问题,本发明提出了一种rtl逻辑综合中的重输入优化方法、存储介质。
8.本发明提出的rtl逻辑综合中的重输入优化方法,包括:
9.预先准备可优化的元件和/或元件组合以及对应的优化策略;
10.将待优化的电路设计中的元件筛选出来,并通过元件端口间的信号建立元件之间的连接关系;
11.基于可优化的元件换和/或元件组合的特征,从筛选的元件以及元件之间的连接关系中提取出与可优化的元件或可优化的元件组合的特征一致的局部电路并进行优化。
12.进一步,所述可优化的元件组合包括:通过依次串联的位与运算符、位非运算符和位或运算符形成的位与-非-位或串联逻辑树;
13.所述位与-非-位或串联逻辑树的优化策略包括:
14.判断所述位与-非-位或串联逻辑树是否满足位与运算符的至少一位的输入信号固定为0、位或运算符的至少一位的输入信号固定为1、位与运算符和位或运算符之间存在至少一个重复位当中的任意一种情况,若满足,则删除该位与-非-位或串联逻辑树,并将其对应的输出信号固定为常量1;否则,继续下面的优化步骤;
15.将所述位与-非-位或串联逻辑树优化为一个位与运算符,优化后的位与运算符的输入信号为所述位与-非-位或串联逻辑树的所有输入信号;
16.判断所述位与-非-位或串联逻辑树的位或运算符和位与运算符之间是否存在某些位相反,若相反,则将相反的两个位当中的一个对应的输入信号删除。
17.进一步,所述可优化的元件组合包括:通过依次串联的位或运算符、位非运算符和位与运算符形成的位或-非-位与串联逻辑树;
18.所述位或-非-位与串联逻辑树的优化策略包括:
19.判断所述位或-非-位与串联逻辑树是否满足位与运算符的至少一位的输入信号固定为0、位或运算符的至少一位的输入信号固定为1、位与运算符和位或运算符之间存在至少一个重复位当中的任意一种情况,若满足,则删除该位或-非-位与串联逻辑树,并将其对应的输出信号固定为常量0;否则,继续下面的优化步骤;
20.将所述位或-非-位与串联逻辑树优化为一个位与运算符,优化后的位与运算符的输入信号为所述位或-非-位与串联逻辑树的所有输入信号;
21.判断所述位或-非-位与串联逻辑树的位或运算符和位与运算符之间是否存在某些位相反,若相反,则将相反的两个位当中的一个对应的输入信号删除。
22.进一步,所述可优化的元件包括:数据分发器;
23.所述数据分发器的优化策略包括:
24.判断所述数据分发器是否存在至少一位固定为0;若是,则将所述数据分发器的输出端的每个对应为固定为0,并将固定为0的位对应的输入信号从所述数据分发器中删除;
25.判断所述数据分发器的输入信号是否存在位的重输入,若是,则将所述数据分发器的输出端的每个重复位直接与对应的输出端的位相连,并删除重输入的位,缩小所述数据分发器的输入位宽和输出位宽;
26.判断所述数据分发器的选择端是否存在固定为常量的位或者是否存在重输入位的情况,若存在,则将存在该情况的选择端的对应位对应的输出端的位直接固定为0,并删除选择端固定为常量的位,或者是重输入位,降低所述数据分发器的选择段位宽和输出端位宽。
27.进一步,所述可优化的元件组合包括:多个串联的位与运算符组成的位与逻辑树;
28.所述位与逻辑树的优化策略包括:
29.判断所述位与逻辑树的输入端是否至少一位固定为0,若是,则将所述位与逻辑树的输出固定为0,并将所述位与逻辑树删除;若否,则继续以下的优化步骤;
30.将所述位与逻辑树优化为一个位与运算符;
31.判断所述位与逻辑树的输入端是否存在重复位,若存在,则将重复位删除,并降低优化后的位与运算符的输入位宽。
32.进一步,所述可优化的元件组合包括:多个串联的位或运算符组成的位或逻辑树;
33.所述位或逻辑树的优化策略包括:
34.判断所述位或逻辑树的输入端是否至少一位固定为1,若是,则将所述位或逻辑树的输出固定为1,并将所述位或逻辑树删除;若否,则继续以下的优化步骤;
35.将所述位或逻辑树优化为一个位或运算符;
36.判断所述位或逻辑树的输入端是否存在重复位,若存在,则将重复位删除,并降低
优化后的位或运算符的输入位宽。
37.进一步,所述可优化的元件包括:数据选择器类型的元件;
38.所述数据选择器类型的元件的优化策略包括:
39.判断所述数据选择器类型的元件是否存在至少一个输入信号对应的所述数据选择器类型的元件的所有位,若是,则将所述数据选择器类型的元件的输出端的对应位直接与对应的输入信号连接,并缩小所述数据选择器类型的元件的输入位宽和输出位宽;
40.判断所述数据选择器类型的元件是否存在至少一个输入信号重复输入到相同的位,若是,则将重复输出的位之间直接相连,并缩小该数据选择器的输入位宽和输出位宽。
41.本发明提出的计算机可读存储介质,用于存储计算机程序,该计算机程序运行时上述技术方案的rtl逻辑综合中的重输入优化方法。
42.本发明预先总结了可优化的重输入结构,通过针对不同元件,不同端口,不同位的多种重输入情况进行单独处理,将重输入的端口位以及由于重输入受到影响的端口位进行优化和删除操作,从而极大的减少输入位数、各类元件的位宽以及冗余元件数量。此类优化可以在大型电路的综合优化中减少元件数量,缩小元件大小,减少输入端口,缩小电路面积,减少损耗,提高速度,在任何数字电路设计中都可以普遍运用。
附图说明
43.下面结合实施例和附图对本发明进行详细说明,其中:
44.图1是本发明的整体流程图;
45.图2是本发明一实施例的位与逻辑树的优化前后示意图;
46.图3是本发明的位或逻辑树的优化前后示意图;
47.图4是本发明一实施例的位与-非-位或串联逻辑树的优化前后示意图;
48.图5(a)-图5(c)是本发明另一实施例的位与-非-位或串联逻辑树的优化前后示意图;
49.图6是本发明一实施例的数据选择器的优化前后示意图;
50.图7是本发明另一实施例的数据选择器的优化前后示意图;
51.图8是本发明一实施例的数据分发器的优化前后示意图;
52.图9是本发明另一实施例的数据分发器的优化前后示意图;
53.图10是本发明一实施例的详细流程图;
54.图11是本发明一具体电路设计的优化前后示意图。
具体实施方式
55.为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
56.由此,本说明书中所指出的一个特征将用于说明本发明的一个实施方式的其中一个特征,而不是暗示本发明的每个实施方式必须具有所说明的特征。此外,应当注意的是本说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的系统设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限
制。
57.如图1所示,本发明的rtl逻辑综合中的重输入优化方法,主要包括以下步骤。
58.预先准备可优化的元件和/或元件组合以及对应的优化策略;
59.将待优化的电路设计中的元件筛选出来,并通过元件端口间的信号建立元件之间的连接关系;
60.基于可优化的元件换和/或元件组合的特征,从筛选的元件以及元件之间的连接关系中提取出与可优化的元件或可优化的元件组合的特征一致的局部电路并进行优化。
61.以与非或、或非与逻辑树为例,其特征是指元件组合里元件间固定的连接关系,比如电路间出现了位与-非-位或的连接,就将其筛选出来,若存在有重输入的情况,就进行对应处理。而单独的元件,则其特征可以具体为元件的类型。
62.本发明在找到对应的元件或元件组合以后,可以按照一定的顺序对电路进行优化,从而降低电路在重输入方面的冗余。
63.在一个实施例中,本发明的可优化的元件组合包括:通过依次串联的位与运算符、位非运算符和位或运算符形成的位与-非-位或串联逻辑树。
64.位与-非-位或串联逻辑树的优化策略包括以下步骤。
65.先判断位与-非-位或串联逻辑树是否满足其位与运算符的至少一位的输入信号固定为0、位或运算符的至少一位的输入信号固定为1、位与运算符和位或运算符之间存在至少一个重复位当中的任意一种情况,若满足,则删除该位与-非-位或串联逻辑树,并将其对应的输出信号固定为常量1;否则,继续下面的优化步骤;
66.将位与-非-位或串联逻辑树优化为一个位与运算符,优化后的位与运算符的输入信号为位与-非-位或串联逻辑树的所有输入信号;
67.接着判断位与-非-位或串联逻辑树的位或运算符和位与运算符之间是否存在某些位相反,若相反,则将相反的两个位当中的一个对应的输入信号删除。
68.在一个实施例中,本发明的可优化的元件组合包括:通过依次串联的位或运算符、位非运算符和位与运算符形成的位或-非-位与串联逻辑树。
69.位或-非-位与串联逻辑树的优化策略包括以下步骤。
70.判断位或-非-位与串联逻辑树是否满足位与运算符的至少一位的输入信号固定为0、位或运算符的至少一位的输入信号固定为1、位与运算符和位或运算符之间存在至少一个重复位当中的任意一种情况,若满足,则删除该位或-非-位与串联逻辑树,并将其对应的输出信号固定为常量0;否则,继续下面的优化步骤;
71.将位或-非-位与串联逻辑树优化为一个位与运算符,优化后的位与运算符的输入信号为位或-非-位与串联逻辑树的所有输入信号;
72.判断位或-非-位与串联逻辑树的位或运算符和位与运算符之间是否存在某些位相反,若相反,则将相反的两个位当中的一个对应的输入信号删除。
73.在一个实施例中,本发明的可优化的元件包括:数据分发器。
74.数据分发器的优化策略包括以下步骤。
75.判断数据分发器是否存在至少一位固定为0;若是,则将数据分发器的输出端的每个对应为固定为0,并将固定为0的位对应的输入信号从数据分发器中删除;
76.判断数据分发器的输入信号是否存在位的重输入,若是,则将数据分发器的输出
端的每个重复位直接与对应的输出端的位相连,并删除重输入的位,缩小数据分发器的输入位宽和输出位宽;
77.判断数据分发器的选择端是否存在固定为常量的位或者是否存在重输入位的情况,若存在,则将存在该情况的选择端的对应位对应的输出端的位直接固定为0,并删除选择端固定为常量的位,或者是重输入位,降低数据分发器的选择段位宽和输出端位宽。
78.在一个实施例中,本发明的可优化的元件组合包括:多个串联的位与运算符组成的位与逻辑树。
79.位与逻辑树的优化策略包括以下步骤。
80.判断位与逻辑树的输入端是否至少一位固定为0,若是,则将位与逻辑树的输出固定为0,并将位与逻辑树删除;若否,则继续以下的优化步骤;
81.将位与逻辑树优化为一个位与运算符;
82.判断位与逻辑树的输入端是否存在重复位,若存在,则将重复位删除,并降低优化后的位与运算符的输入位宽。
83.在一个实施例中,本发明的可优化的元件组合包括:多个串联的位或运算符组成的位或逻辑树。
84.位或逻辑树的优化策略包括以下步骤。
85.判断位或逻辑树的输入端是否至少一位固定为1,若是,则将位或逻辑树的输出固定为1,并将或逻辑树删除;若否,则继续以下的优化步骤;
86.将位或逻辑树优化为一个位或运算符;
87.判断位或逻辑树的输入端是否存在重复位,若存在,则将重复位删除,并降低优化后的位或运算符的输入位宽。
88.在一个实施例中,本发明的可优化的元件包括:数据选择器类型的元件。
89.数据选择器类型的元件的优化策略包括以下步骤。
90.判断数据选择器类型的元件是否存在至少一个输入信号对应的数据选择器类型的元件的所有位,若是,则将数据选择器类型的元件的输出端的对应位直接与对应的输入信号连接,并缩小数据选择器类型的元件的输入位宽和输出位宽;
91.判断数据选择器类型的元件是否存在至少一个输入信号重复输入到相同的位,若是,则将重复输出的位之间直接相连,并缩小该数据选择器的输入位宽和输出位宽。
92.图10给出了本发明一个应用时的较优实施例的流程图。在该流程图中,本发明先读入设计模块。将其中的所有元件筛选出来,而后通过端口间的信号建立各个元件之间的连接关系。元件包括但不限于位与运算符、位或运算符、位非运算符、数据选择器、数据分发器。
93.接着通过结构映射找出可优化的元件或者是可优化的元件组合。具体的,可以根据每种元件、元件组合的特征,使用映射方式在电路中提取出对应元件或元件组合的位置,并进行判断优化。具体的,可以在读入电路设计对元件进行筛选时,可以对各个元件用不同的序号标记,而元件的位置可以用元件的名称序号来表示。
94.在该实施例中,本发明按照位与-非-位或串联逻辑树、位或-非-位与串联逻辑树、位与逻辑树、位或逻辑树、数据选择器类型的元件、数据分发器的优化顺序进行优化。其中,位与逻辑树、位或逻辑树的优化顺序可以互换,位与-非-位或串联逻辑树、位或-非-位与串
联逻辑树的优化顺序可以互换。
95.在读入的元件中筛选出与或非逻辑树,判断是否符合位与-非-位或串联逻辑树、位或-非-位与串联逻辑树的优化条件。如果是,进行优化;
96.在读入的元件中筛选出位操作逻辑树,判断是否符合位与逻辑树、位或逻辑树的优化条件。如果是,进行优化;
97.在读入的元件中筛选出数据选择器(mux、pmux),判断是否符合数据选择器类型的元件的优化条件。如果是,进行优化;
98.在读入的元件中筛选出数据分发器(demux),判断是否符合数据分发器的优化条件。如果是,进行优化。
99.下面针对具体的电路结构,描述本发明的优化方法。
100.在位与逻辑树中,如果存在多个位与运算符串联,则将整个位与逻辑树合并成一个高位宽位与门,并且进行以下的判断处理。
101.(1)如果输入信号存在某些位重复,则会将重复位删去,并降低位与门的输入位宽。如图2所示,位与运算符a1和位与运算符a1串联,位与运算符a1具有位a1[0]至位a1[n],位与运算符a2具有位a2[0]至位a2[m]。输入信号ain同时输入到位与运算符a1的位a1[1]和位与运算符a2的位a2[1]中,因此优化以后的位与运算符a可以删除重复位,降低了位与运算符a的输入位宽,位宽为a[width1-1+width2-1
ꢀ‑
1:0],其中width1-1为位与运算符a1的位宽,width2-1为位与运算符a2的位宽,位与运算符a具有位a[0]至位a[m+n-1],输出y。
[0102]
(2)如果输入存在某位固定为0,则需要将输出固定为常量0,并将整个位与逻辑树删除。如图3所示,位与运算符a具有位a[0]至位a[n],位宽width,位a[1]的输入位常量0,因此可将该位与运算符a删除,输出y直接为常量0。
[0103]
在位或逻辑树中,如果存在多个位或运算符串联,则将整个位或逻辑树合并成一个高位宽位或门,并且进行以下的判断处理。
[0104]
(1)如果输入信号存在某些位重复,则会将重复位删去,并降低位或门的输入位宽,例子可按照图2进行类比。
[0105]
(2)如果输入存在某位固定为1,则需要将输出固定为常量1,并将整个位或逻辑树删除,例子可按照图3进行类比。
[0106]
在电路中如果出现位与-非-位或串联逻辑树,则可以将整个逻辑树合并成一个高位宽位或门,并且进行以下的判断处理。
[0107]
(1)如果位与运算符和位或运算符之间存在某些位相反,则会将其中一位删去。如图4所示,位与运算符a1具有位a1[0]至位a1[n],位或运算符具有位01[0]至位o1[n],width1-1是位与运算符a1的位宽,width3-1是位或运算符o1的位宽。位与运算符a1、位非运算符n1和位或运算符o1依次串联。输入信号ain同时输入到位a1[1]和o1[1]中,因此,可以删除重复位a1[1],最终得到优化后的位或运算符o。
[0108]
(2)如果出现位与输入存在某位固定为0的情况、位或输入存在某位固定为1的情况、位与和位或的输入之间存在某些位重复的情况的任意一种,则需要将输出固定为常量1,并将整个逻辑树删除,参见图5(a)至图5(c)。
[0109]
在电路中如果出现位或-非-位与串联逻辑树,则可以将整个逻辑树合并成一个高位宽位与门,并且进行以下的处理。
[0110]
(1)如果位或和位与之间存在某些位相反,则会将其中一位删去,例子可按照图4进行类比。
[0111]
(2)如果出现位或输入存在某位固定为1的情况、位与输入存在某位固定为0的情况、位或和位与的输入之间存在某些位重复的情况的任意一种,则需要将输出固定为常量0,并将整个逻辑树删除,例子可按照图5进行类比。
[0112]
位与逻辑树、位或逻辑树需要逻辑树的种类固定为位与或位或,而位与-非-位或串联逻辑树、位或-非-位与串联逻辑树则可以将逻辑树扩展到与或非门的搭配,因此可以在位与逻辑树、位或逻辑树的基础上做进一步优化,以达到电路的最简化。
[0113]
对于数据选择器类型的元件(mux、pmux),则进行以下的优化处理。
[0114]
(1)如果它们的同一个输入信号的输入到了数据选择器的所有位中,则可以将输出的对应位直接与该输入信号相连,并缩小选择器输入输出的位宽。如图6所示,数据选择器具有两个选择端,其中一个选择端0的输入位为a[0]至a[

],位宽width-1,另一个选择端1的输入位为b[

]至b[0],位宽width-1,输出为y[width-1:0]。其中输入信号in同时输入到位a[2]和位b[2],因而可以优化为输入信号直接连接到输出y[2],原本的数据选择器缩小输入输出的位宽。如果出现整个输入信号的重输入,除了要删除重复输入外,还要缩小控制端口位宽。
[0115]
(2)如果数据选择器存在至少一个选择端的重复位,则可以将重输出的对应位之间直接相连,并缩小选择器输入输出的位宽,如图7所示,数据选择器具有两个选择端,其中一个选择端0的输入位为a[0]至a[

],位宽width-1,另一个选择端1的输入位为b[

]至b[0],位宽width-1,输出为y[width-1:0]。选择端0存储重复位a[1]和a[2],选择端1存在重复位b[1]和b[2],因此可以删除重复输入位,将重复输出的位之间直接连接,即将y[1]和y[2]直接连接,其他输出位y[0]、y[3]直至y[

]保持不变。
[0116]
对于数据分发器元件(demux)采用以下的方式进行优化。
[0117]
(1)如果数据分发器的输入存在某位固定为0,则将输出端的每个对应位固定为0,并缩小选择器输入输出的位宽;如果它的输入信号存在位的重输入,则可以将输出端的每个对应重复位直接与对应位相连,并缩小选择器输入输出的位宽。如图8所示,数据分发器具有输入位a[0]至a[

],位宽width-1,控制端位s,位宽为s_width-1,输出y
[width《《s_width-1:0]
。其中,输入信号in同时输入到了位a[0]、a[1],并且a[2]的输入固定为0,因此,可以优化为如图8下方所示的两部分。
[0118]
(2)如果数据分发器的选择端存在固定为常量的位和位的重输入的情况,这会导致输出端的某些位不再被选中,无法与输入相连,这种情况下需要将无法被选中的输出位直接固定为0,删除为常量或者重复的选择端位,降低数据分发器选择端和输出端的位宽。如图9所示,数据分发器具有输入端a[width-1:0],选择端s[0]、s[1]、s[2],输出端y[8*width-1:0]。其中选择端s[0]、s[1]具有相同的输入,选择端s[2]的输入固定为0,因此优化为右侧所示的部分。
[0119]
图11使出了一个具体的复杂的元件组合的案例。
[0120]
在该案例中存在10个输入in1-in10,12个输出out1-out12,3个2位输入的位与门and1-and3,1个2位输入位或门or,1个非门,1个二选一数据选择器mux,该二选一数据选择器具有6位输入位mux_in1[0]、mux_in1[1]、mux_in1[2]、mux_in2[0]、mux_in2[1]、mux_in1
[0]、mux_in2[2],和3位输出。1位选择连接输入in7,1个数据分发器demux,该数据分发器具有3位输入和12位输出,2位选择demux_sel[0]和demux_sel[1]。在经过上述过程的优化后,存在8个输入(in),8个输出(out),1个2位输入的位与门(and),1个4位输入、1位选择、二位输出的二选一数据选择器(mux),1个3位输入、1位选择、6位输出的数据分发器(demux)。可以发现经过优化后,删除了2个输入,置0了6个输出,删除了2个位与门,1个非门,1个位或门,并缩小了mux的输入输出位宽,demux的输入、输出、控制位宽。达到了整个结构的最简组合。
[0121]
本发明还保护计算机可读存储介质,用于存储计算机程序,该计算机程序运行时执行上述技术方案的rtl逻辑综合中的重输入优化方法。
[0122]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种rtl逻辑综合中的重输入优化方法,其特征在于,包括:预先准备可优化的元件和/或元件组合以及对应的优化策略;将待优化的电路设计中的元件筛选出来,并通过元件端口间的信号建立元件之间的连接关系;基于可优化的元件换和/或元件组合的特征,从筛选的元件以及元件之间的连接关系中提取出与可优化的元件或可优化的元件组合的特征一致的局部电路并进行优化。2.如权利要求1所述的rtl逻辑综合中的重输入优化方法,其特征在于,所述可优化的元件组合包括:通过依次串联的位与运算符、位非运算符和位或运算符形成的位与-非-位或串联逻辑树;所述位与-非-位或串联逻辑树的优化策略包括:判断所述位与-非-位或串联逻辑树是否满足位与运算符的至少一位的输入信号固定为0、位或运算符的至少一位的输入信号固定为1、位与运算符和位或运算符之间存在至少一个重复位当中的任意一种情况,若满足,则删除该位与-非-位或串联逻辑树,并将其对应的输出信号固定为常量1;否则,继续下面的优化步骤;将所述位与-非-位或串联逻辑树优化为一个位与运算符,优化后的位与运算符的输入信号为所述位与-非-位或串联逻辑树的所有输入信号;判断所述位与-非-位或串联逻辑树的位或运算符和位与运算符之间是否存在某些位相反,若相反,则将相反的两个位当中的一个对应的输入信号删除。3.如权利要求1所述的rtl逻辑综合中的重输入优化方法,其特征在于,所述可优化的元件组合包括:通过依次串联的位或运算符、位非运算符和位与运算符形成的位或-非-位与串联逻辑树;所述位或-非-位与串联逻辑树的优化策略包括:判断所述位或-非-位与串联逻辑树是否满足位与运算符的至少一位的输入信号固定为0、位或运算符的至少一位的输入信号固定为1、位与运算符和位或运算符之间存在至少一个重复位当中的任意一种情况,若满足,则删除该位或-非-位与串联逻辑树,并将其对应的输出信号固定为常量0;否则,继续下面的优化步骤;将所述位或-非-位与串联逻辑树优化为一个位与运算符,优化后的位与运算符的输入信号为所述位或-非-位与串联逻辑树的所有输入信号;判断所述位或-非-位与串联逻辑树的位或运算符和位与运算符之间是否存在某些位相反,若相反,则将相反的两个位当中的一个对应的输入信号删除。4.如权利要求1所述的rtl逻辑综合中的重输入优化方法,其特征在于,所述可优化的元件包括:数据分发器;所述数据分发器的优化策略包括:判断所述数据分发器是否存在至少一位固定为0;若是,则将所述数据分发器的输出端的每个对应为固定为0,并将固定为0的位对应的输入信号从所述数据分发器中删除;判断所述数据分发器的输入信号是否存在位的重输入,若是,则将所述数据分发器的输出端的每个重复位直接与对应的输出端的位相连,并删除重输入的位,缩小所述数据分发器的输入位宽和输出位宽;判断所述数据分发器的选择端是否存在固定为常量的位或者是否存在重输入位的情
况,若存在,则将存在该情况的选择端的对应位对应的输出端的位直接固定为0,并删除选择端固定为常量的位,或者是重输入位,降低所述数据分发器的选择段位宽和输出端位宽。5.如权利要求1所述的rtl逻辑综合中的重输入优化方法,其特征在于,所述可优化的元件组合包括:多个串联的位与运算符组成的位与逻辑树;所述位与逻辑树的优化策略包括:判断所述位与逻辑树的输入端是否至少一位固定为0,若是,则将所述位与逻辑树的输出固定为0,并将所述位与逻辑树删除;若否,则继续以下的优化步骤;将所述位与逻辑树优化为一个位与运算符;判断所述位与逻辑树的输入端是否存在重复位,若存在,则将重复位删除,并降低优化后的位与运算符的输入位宽。6.如权利要求1所述的rtl逻辑综合中的重输入优化方法,其特征在于,所述可优化的元件组合包括:多个串联的位或运算符组成的位或逻辑树;所述位或逻辑树的优化策略包括:判断所述位或逻辑树的输入端是否至少一位固定为1,若是,则将所述位或逻辑树的输出固定为1,并将所述位或逻辑树删除;若否,则继续以下的优化步骤;将所述位或逻辑树优化为一个位或运算符;判断所述位或逻辑树的输入端是否存在重复位,若存在,则将重复位删除,并降低优化后的位或运算符的输入位宽。7.如权利要求1所述的rtl逻辑综合中的重输入优化方法,其特征在于,所述可优化的元件包括:数据选择器类型的元件;所述数据选择器类型的元件的优化策略包括:判断所述数据选择器类型的元件是否存在至少一个输入信号对应的所述数据选择器类型的元件的所有位,若是,则将所述数据选择器类型的元件的输出端的对应位直接与对应的输入信号连接,并缩小所述数据选择器类型的元件的输入位宽和输出位宽;判断所述数据选择器类型的元件是否存在至少一个输入信号重复输入到相同的位,若是,则将重复输出的位之间直接相连,并缩小该数据选择器的输入位宽和输出位宽。8.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序运行时执行如权利要求1至7任意一项所述的rtl逻辑综合中的重输入优化方法。

技术总结
本发明公开了一种RTL逻辑综合中的重输入优化方法、存储介质,其中RTL逻辑综合中的重输入优化方法包括:预先准备可优化的元件和/或元件组合以及对应的优化策略;将待优化的电路设计中的元件筛选出来,并通过元件端口间的信号建立元件之间的连接关系;基于可优化的元件换和/或元件组合的特征,从筛选的元件以及元件之间的连接关系中提取出与可优化的元件或可优化的元件组合的特征一致的局部电路并进行优化。本发明可以有效减少元件数量、输入输出端口数量等,缩小电路面积、减少损耗。减少损耗。减少损耗。


技术研发人员:王子成 刘美华 汪杰 苏宇 白耿 游海龙
受保护的技术使用者:深圳国微芯科技有限公司
技术研发日:2023.06.30
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐