CN116502572B - 基于改进二元决策树的多路选择器优化方法及系统 - Google Patents
基于改进二元决策树的多路选择器优化方法及系统 Download PDFInfo
- Publication number
- CN116502572B CN116502572B CN202310735390.6A CN202310735390A CN116502572B CN 116502572 B CN116502572 B CN 116502572B CN 202310735390 A CN202310735390 A CN 202310735390A CN 116502572 B CN116502572 B CN 116502572B
- Authority
- CN
- China
- Prior art keywords
- target
- multiplexer
- area
- binary decision
- conversion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003066 decision tree Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000005457 optimization Methods 0.000 title claims description 37
- 239000011159 matrix material Substances 0.000 claims abstract description 92
- 238000006243 chemical reaction Methods 0.000 claims description 88
- 238000013507 mapping Methods 0.000 claims description 14
- 230000002068 genetic effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 17
- 101100063435 Caenorhabditis elegans din-1 gene Proteins 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 201000003231 brachydactyly type D Diseases 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/12—Printed circuit boards [PCB] or multi-chip modules [MCM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Radio Relay Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请提供一种基于改进二元决策树的多路选择器优化方法及系统,所述方法可以在获取到目标硬件描述文件和面积延迟信息后,在目标硬件描述文件中提取地址矩阵和数据矩阵。其中,地址矩阵用于表征目标多路选择器中选择端的数据参数,数据矩阵用于表征目标多路选择器中数据端的数据参数,面积延迟信息为预设电路器件的面积和延迟,基于改进的二元决策树算法以及地址矩阵、数据矩阵和面积延迟信息对多路选择器进行优化,进而将多路选择器转化为面积降低或者延迟降低的电路器件组,以解决硬件描述语言映射的多路选择器面积和延迟大的问题。
Description
技术领域
本申请涉及数字电路技术领域,尤其涉及一种基于改进二元决策树的多路选择器优化方法及系统。
背景技术
硬件描述语言(Verilog Hardware Description Language,Verilog HDL),用于以文本形式来描述数字系统硬件的结构和行为的语言,即硬件描述语言可以表示逻辑电路图、逻辑表达式,以及数字逻辑系统所完成的逻辑功能。并通过逻辑综合工具、布局布线工具将其映射为硬件电路。例如,硬件描述语言中case语句可以实现选择结构的程序设计,可以通过逻辑综合将其映射为多路选择器。
为了提高多路选择器的电路性能,可以基于二元决策图(binary decisiondiagram, BDD)对多路选择器进行优化,在硬件描述语言网表映射过程中,在逻辑等价性的基础上减少面积和延迟。然而,二元决策图的算法复杂度较高,搜索空间较小,导致在应用于多路选择器的优化时耗时较长,优化不充分,降低优化多路选择器的优化性能和优化效率。
发明内容
本申请提供一种基于改进二元决策树的多路选择器优化方法及系统,以解决硬件描述语言映射的多路选择器面积和延迟大的问题。
第一方面,本申请提供一种基于改进二元决策树的多路选择器优化方法,包括:
获取目标硬件描述文件,以及在所述目标硬件描述文件中提取地址矩阵和数据矩阵,所述目标硬件描述文件包括描述目标多路选择器的结构和行为的文本信息,所述地址矩阵用于表征目标多路选择器中选择端的数据参数,所述数据矩阵用于表征目标多路选择器中数据端的数据参数;
获取面积延迟信息,所述面积延迟信息为预设电路器件的面积和延迟;
基于所述地址矩阵和所述数据矩阵执行节点映射,以构建二元决策树,所述二元决策树的节点用于表征目标多路选择器中的电路器件;
基于所述面积延迟信息对所述二元决策树的节点执行节点转换,以及根据执行节点转换后的二元决策树生成优化硬件描述文件,所述节点转换用于将目标多路选择器转换为电路器件组,所述电路器件组包括至少一个预设电路器件,所述电路器件组的面积小于所述目标多路选择器的面积,或者,所述电路器件组的延迟小于所述目标多路选择器的延迟,所述优化硬件描述文件为与所述目标硬件描述文件逻辑等价的文件。
可选的,在所述目标硬件描述文件中提取地址矩阵和数据矩阵的步骤,包括:
解析所述目标硬件描述文件,以获取目标多路选择器中选择端的数据参数和数据端的数据参数;
基于预设符号分别标记所述选择端的数据参数和所述数据端的数据参数,以构建所述地址矩阵和所述数据矩阵。
可选的,获取面积延迟信息的步骤,包括:
获取器件库文件;
解析所述器件库文件,以获取面积延迟信息。
可选的,基于所述地址矩阵和所述数据矩阵执行节点映射的步骤之前,还包括:
基于遗传算法模拟不同排序的所述地址矩阵构建的二元决策树,以及计算不同排序的所述地址矩阵构建的二元决策树的适应度;
根据适应度获取目标排序,所述目标排序为所述适应度大于适应度阈值时对应的地址矩阵的排序;
按照所述目标排序重排所述地址矩阵,以及按照重排后的地址矩阵对所述数据矩阵进行排序。
可选的,所述预设电路器件包括二输入选择器、与门和非门。
可选的,所述目标多路选择器包括多个二输入选择器,基于所述面积延迟信息对所述二元决策树的节点执行节点转换的步骤,包括:
如果所述二输入选择器中输入端的输入参数相同,将所述二输入选择器转换为连接线;
如果两级所述二输入选择器中前一级所述二输入选择器的输入参数与后一级所述二输入选择器的输入参数相同,并且两个所述二输入选择器相连接,将两个所述二输入选择器中任一个所述二输入选择器转换为与门;
如果两级所述二输入选择器中前一级所述二输入选择器相同,复用前一级所述二输入选择器转换的电路器件;
如果所述二输入选择器中输入端的输入参数为定值,将所述二输入选择器转换为与门、非门构成的电路器件组。
可选的,基于所述面积延迟信息对所述二元决策树的节点执行节点转换的步骤,还包括:
基于所述面积延迟信息计算所述二元决策树的节点的转换代价,所述转换代价用于表征执行节点转换后目标多路选择器的面积和延迟;
根据所述转换代价标记转换节点,以及对所述转换节点执行节点转换。
可选的,根据所述转换代价标记转换节点的步骤,包括:
获取所述目标多路选择器的初始面积和初始延迟;
如果所述二元决策树的节点执行节点转换后目标多路选择器的面积小于所述初始面积,或者,执行节点转换后目标多路选择器的延迟小于所述初始延迟,则标记所述节点为转换节点。
可选的,基于所述面积延迟信息对所述二元决策树的节点执行节点转换的步骤之后,还包括:
将执行节点转换后的二元决策树映射为网表文件,所述网表文件包括所述电路器件组和所述电路器件组中电路器件之间的连接关系;
根据所述网表文件生成优化结果信息,所述优化结果信息包括优化后目标多路选择器的面积延迟信息。
第二方面,本申请提供一种基于改进二元决策树的多路选择器优化系统,包括:
参数获取模块,用于获取目标硬件描述文件和面积延迟信息,以及在所述目标硬件描述文件中提取地址矩阵和数据矩阵,所述目标硬件描述文件为描述目标多路选择器的结构和行为的语言,所述地址矩阵用于表征目标多路选择器中选择端的数据参数,所述数据矩阵用于表征目标多路选择器中数据端的数据参数,所述面积延迟信息为预设电路器件的面积和延迟;
转换优化模块,用于基于所述地址矩阵和所述数据矩阵执行节点映射,以构建二元决策树,基于所述面积延迟信息对所述二元决策树的节点执行节点转换,以及根据执行节点转换后的二元决策树生成优化硬件描述文件,所述二元决策树的节点用于表征目标多路选择器中的电路器件,所述节点转换用于将目标多路选择器转换为电路器件组,所述电路器件组包括至少一个预设电路器件,所述电路器件组的面积小于所述目标多路选择器的面积,或者,所述电路器件组的延迟小于所述目标多路选择器的延迟,所述优化硬件描述文件为与所述目标硬件描述文件逻辑等价的文件。
由上述技术方案可知,本申请提供一种基于改进二元决策树的多路选择器优化方法及系统,所述方法可以在获取到目标硬件描述文件和面积延迟信息后,在目标硬件描述文件中提取地址矩阵和数据矩阵。其中,目标硬件描述文件包括描述目标多路选择器的结构和行为的文本信息,地址矩阵用于表征目标多路选择器中选择端的数据参数,数据矩阵用于表征目标多路选择器中数据端的数据参数,面积延迟信息为预设电路器件的面积和延迟,基于改进的二元决策树算法以及地址矩阵、数据矩阵和面积延迟信息对多路选择器进行优化,进而将多路选择器转化为面积降低或者延迟降低的电路器件组,以解决硬件描述语言映射的多路选择器面积和延迟大的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中多路选择器优化方法的流程示意图;
图2为本申请实施例中提取地址矩阵和数据矩阵的流程示意图;
图3为本申请实施例中获取面积延迟信息的流程示意图;
图4为本申请实施例中节点优化创建的流程示意图;
图5为本申请实施例中节点归约的示意图;
图6为本申请实施例中节点复用的示意图;
图7为本申请实施例中节点融合的示意图;
图8为本申请实施例中二输入选择器中输入端为定值时节点优化的示意图;
图9为本申请实施例中优化硬件描述文件的示意图;
图10为本申请实施例中优化结果信息的示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
硬件描述语言(Verilog Hardware Description Language,Verilog HDL),用于以文本形式来描述数字系统硬件的结构和行为的语言,即硬件描述语言可以表示逻辑电路图、逻辑表达式,以及数字逻辑系统所完成的逻辑功能。并通过逻辑综合工具、布局布线工具将其映射为硬件电路。例如,硬件描述语言中case语句可以实现选择结构的程序设计,可以通过逻辑综合将其映射为多路选择器。
在一些实施例中,为了提高多路选择器的电路性能,可以基于二元决策图(binarydecision diagram, BDD)对多路选择器进行优化,在硬件描述语言网表映射过程中,在逻辑等价性的基础上减少面积和延迟。然而,二元决策图的算法复杂度较高,搜索空间较小,导致在应用于多路选择器的优化时耗时较长,优化不充分,降低优化多路选择器的优化性能和优化效率。
为了解决硬件描述语言映射的多路选择器面积和延迟大的问题,本申请部分实施例提供一种基于改进二元决策树的多路选择器优化方法,基于逻辑等价的基础上,将多路选择器转换为面积降低或者延迟降低的电路器件组,降低多路选择器的的面积和延迟。所述方法应用于基于改进二元决策树的多路选择器优化系统,所述多路选择器优化系统被配置为执行所述多路选择器优化方法,如图1所示,所述多路选择器优化方法包括:
S100:获取目标硬件描述文件。
其中,目标硬件描述文件包括描述目标多路选择器的结构和行为的文本信息,例如,用户采用硬件描述语言(Verilog Hardware Description Language,Verilog HDL)编写多路选择器的结构和行为的程序代码,并存储为程序代码文件,例如拓展名为“.v”的文件,并将该程序代码文件输入多路选择器优化系统,以进行多路选择器的优化。
S200:在目标硬件描述文件中提取地址矩阵和数据矩阵。
其中,地址矩阵用于表征目标多路选择器中选择端的数据参数,数据矩阵用于表征目标多路选择器中数据端的数据参数。
提取地址矩阵和数据矩阵时,可以解析目标硬件描述文件,进而获取目标多路选择器中选择端的数据参数和数据端的数据参数。基于预设符号分别标记选择端的数据参数和数据端的数据参数,以构建地址矩阵和所述数据矩阵。
例如,目标硬件描述文件为基于硬件描述语言中的case语句,如图2所示,case语句中数据类型为“sel”的数据表示目标多路选择器中选择端的数据参数,case语句中数据类型为“dout”的数据表示目标多路选择器中数据端的数据参数。图2所示的case语句中,目标多路选择器中选择端的数据参数为3'b111,3'b10?,3'b001,3'b000,目标多路选择器中与选择端的选择信号对应的数据端的数据参数{din[5],~din[4]},{1'b1,din[1]},{din[4],1'b1},{din[4],~din[3]},{din[2],din[1]},表示目标多路选择器中选择端的选择信号分别为111、10?、001、000对应的数据端(输出端)的输出。例如,选择端的选择信号为111时,数据端的输出为din[5]和~din[4],选择端的选择信号为除111、10?、001、000以外的值时,数据端的输出为din[2]]和din[1]。
获取到选择端的数据参数和数据端的数据参数后,可以基于预设的整型数据符号描述数据参数,进而构建地址矩阵和数据矩阵。例如,如图2所示,根据选择端每个二进制单位的取值,用整型数据符号“0”、“1”、“-1”表示选择端的选择信号的每个二进制单位的取值,进而构建地址矩阵。如果选择端的选择信号的某个二进制单位的取值为0,则用整型数据符号“0”表示,如果选择端的选择信号的某个二进制单位的取值为1,则用整型数据符号“1”表示,如果选择端的选择信号的某个二进制单位的取值为?,则用整型数据符号“-1”表示。例如,选择端的选择信号为11?时,基于整型数据符号表示后为1,0,-1。
同理,数据端的数据参数也可以基于预设的整型数据符号描述。例如,如图2所示,根据数据端每个二进制单位的取值和变量名,用整型数据符号“0”、“1”、“2n+2”、“2n+3”表示数据端的每个二进制单位的取值和变量名,如果数据端的输出为定值,即如果数据端的输出为1'b0,则用整型数据符号“0”表示,如果数据端的输出为1'b1,则用整型数据符号“1”表示。如果数据端的输出为非定值,即如果数据端的输出为din[0],din[1],…,din[n]等正数值,则分别用整型数据符号“2”,“4”,…,“(2n+2)”表示,如果数据端的输出为~din[0],~din[1],…,~din[n]等负数值,则分别用整型数据符号“3”,“5”,…,“(2n+3)”表示。例如,数据端的输出为din[5],基于整型数据符号表示后为12,数据端的输出为~din[4],基于整型数据符号表示后为11。
通过上述步骤,可以得到如图2所示的地址矩阵和数据矩阵。
S300:获取面积延迟信息。
其中,面积延迟信息为预设电路器件的面积和延迟。面积是指硬件描述语言映射的硬件电路占用的资源和功耗,延迟是指硬件描述语言映射的硬件电路信号的传输速度。为了提高多路选择器的性能和效率,可以基于逻辑等价的基础上,将多路选择器转换为面积降低或者延迟降低的电路器件组,进而降低多路选择器的的面积和延迟。
其中,预设电路器件包括二输入选择器、与门和非门。即基于二输入选择器、与门和非门替换多路选择器。为了对多路选择器进行面积延迟分析,可以获取预设电路器件的面积延迟信息,面积延迟信息可以在器件库提取,即可以获取器件库文件,例如命名为“lib.csv”的器件库文件,并解析器件库文件,以获取面积延迟信息。例如,如图3所示,为器件库文件中程序的示意图,其中,数据类型为“cell”的数据表示电路器件的类型,包括mux2(二输入选择器),and2(与门)和not(非门),数据类型为“area”的数据表示电路器件的面积,数据类型为“delay”的数据表示电路器件的延迟。例如,mux2(二输入选择器)的面积为2.5,延迟为2。由此,得到面积延迟信息。
S400:基于地址矩阵和数据矩阵执行节点映射,以构建二元决策树。
获取到地址矩阵、数据矩阵和面积延迟信息后,可以根据上述参数动态构建二元决策树,进而对多路选择器进行优化,然而,由于二元决策树输入变量的顺序可能会影响二元决策树的大小。因此,为了扩大搜索空间,构建二元决策树之前,可以对二元决策树的输入变量进行排序。即对地址矩阵进行列重排,并按照从小到大顺序排列地址矩阵,同时,按照重排后的地址矩阵对数据矩阵进行地址重组。
在一些实施例中,二元决策树输入变量的排序可以基于遗传算法(GeneticAlgorithm,GA)实现,遗传算法为通过模拟自然进化过程搜索最优解的方法,包括种群初始化、选择操作、交叉算子、变异算子等。基于遗传算法模拟不同排序的地址矩阵构建的二元决策树,以及计算不同排序的地址矩阵构建的二元决策树的适应度,并根据适应度获取目标排序。
其中,适应度用于表征不同排序的地址矩阵构建的二元决策树的优势程度度量。目标排序可以为适应度大于适应度阈值时对应的地址矩阵的排序,还可以为适应度最高的二元决策树对应的地址矩阵的排序。按照目标排序重排地址矩阵,以及按照重排后的地址矩阵对数据矩阵进行排序。即通过遗传算法迭代,以进行二元决策树输入变量的排序,并根据电路映射后的二元决策树以及面积优化准则,选取最优的变量排序。
根据上述改进的二元决策树算法,可以对多路选择器进行优化,基于地址矩阵和数据矩阵执行节点映射,以构建二元决策树。其中,二元决策树的节点用于表征目标多路选择器中的电路器件。
S500:基于面积延迟信息对二元决策树的节点执行节点转换。
构建二元决策树后,可以基于面积延迟信息对二元决策树节点执行节点转换,即进行二元决策树节点的优化创建。其中,节点转换用于将目标多路选择器转换为电路器件组,电路器件组包括至少一个预设电路器件,电路器件组的面积小于目标多路选择器的面积,或者,电路器件组的延迟小于目标多路选择器的延迟。
其中,如图4所示,二元决策树节点的优化创建包括融合,复用、归约和转换节点的节点标定等,即对二元决策树节点进行节点融合,节点复用、节点归约等节点优化,根据节点优化的转换代价对需要转换的节点进行节点标定,再对需要转换的节点进行节点的分类与复用,以进行节点转换,将多路选择器转换为逻辑等价的电路器件组。
在一些实施例中,目标多路选择器包括多个二输入选择器,执行节点优化时,如果二输入选择器中输入端的输入参数相同,可以执行节点归约,将二输入选择器转换为连接线,进而减少面积和延迟。例如,如图5所示,二输入选择器中输入端均为din[1],选择端的选择信号(sel[0])为0或1时,对应的数据端的输出均为din[1],则将二输入选择器转换为连接线。还例如,如图5所示,两级二输入选择器中,后一级二输入选择器的输入端均与前一级所述二输入选择器的输出端连接,即后一级二输入选择器的输入端的输入相同,则将后一级二输入选择器转换为连接线。
如果两级二输入选择器中前一级二输入选择器相同,可以执行节点复用,复用前一级二输入选择器转换的电路器件,进而减少面积。例如,如图6所示,两级二输入选择器中,后一级二输入选择器的输入端分别连接相同的二输入选择器的输出端,即前一级二输入选择器被多次使用,则复用前一级二输入选择器转换的电路器件。
如果两级二输入选择器中前一级二输入选择器的输入参数与后一级二输入选择器的输入参数相同,并且两个二输入选择器相连接,可以执行节点融合,将两个二输入选择器中任一个二输入选择器转换为与门。例如,如图7所示,前一级二输入选择器输入端的输入分别为1'b1和din[1],前一级二输入选择器选择端的选择信号(sel[0])为0或1时,对应的数据端的输出分别为1'b1和din[1]。后一级二输入选择器与前一级二输入选择器连接,后一级二输入选择器输入端的输入分别为1'b1和前一级二输入选择器的输出,后一级二输入选择器选择端的选择信号(sel[1])为0或1时,对应的数据端的输出分别为1'b1和前一级二输入选择器的输出。即只有在选择信号sel[0]和sel[1]均为1时,两级二输入选择器的输出为din[1],否则为1'b1。则将其中一个二输入选择器转换为与门,即图7所示的sel[0]&sel[1]表示转换的与门,该与门的输入为两级二输入选择器中选择端的选择信号(sel[0]和sel[1])。
如果二输入选择器中输入端的输入参数为定值,将二输入选择器转换为与门、非门构成的电路器件组。例如,如图8所示,为二输入选择器中输入为定值的6种情况,其中,1'b1和1'b0分别表示定值“1”和定值“0”,当二输入选择器选择端的选择信号(sel[0])为0或1时,对应的数据端的输出分别为din[1]和1'b1,则将din[1]与sel[0]分别与非门连接后,再依次和与门、非门连接。当二输入选择器选择端的选择信号(sel[0])为0或1时,对应的数据端的输出分别为1'b1和din[1],则将din[1]与非门连接后,再和sel[0]依次连接与门、非门。当二输入选择器选择端的选择信号(sel[0])为0或1时,对应的数据端的输出分别为din[1]和1'b0,则将sel[0]与非门连接后,再和din[1]连接与门。当二输入选择器选择端的选择信号(sel[0])为0或1时,对应的数据端的输出分别为1'b0和din[1],则将sel[0]、din[1]与非门连接。当二输入选择器选择端的选择信号(sel[0])为0或1时,对应的数据端的输出分别为1'b1和1'b0,则将sel[0]与非门连接。当二输入选择器选择端的选择信号(sel[0])为0或1时,对应的数据端的输出分别为1'b0和1'b1,则将sel[0]与连接线连接。
为了提高优化性能,可以基于预设电路器件的面积延迟信息,执行转换节点的标定,即对多路选择器中需要进行转换的电路器件进行标定,从而实现在降低面积、降低延迟或者面积延迟均降低的基础上实现转换。因此,在一些实施例中,可以基于面积延迟信息计算二元决策树的节点的转换代价,根据转换代价标记转换节点,以及对转换节点执行节点转换。其中,转换代价用于表征执行节点转换后目标多路选择器的面积和延迟。根据面积延迟信息计算多路选择器转换为电路器件组的转换代价,并根据转换代价判断是否进行转换。
在判断是否进行转换时,可以获取目标多路选择器的初始面积和初始延迟,其中,初始面积和初始延迟分别为目标多路选择器不执行转换的面积和延迟。通过对比初始面积、初始延迟和转换代价,如果二元决策树的节点执行节点转换后目标多路选择器的面积小于初始面积,或者,执行节点转换后目标多路选择器的延迟小于初始延迟,则标记节点为转换节点,并根据转换节点进行节点复用和分类转换。
例如,如图8所示,当二输入选择器选择端的选择信号(sel[0])为0或1时,对应的数据端的输出分别为1'b1和1'b0,则将sel[0]与非门连接,即将二输入选择器转换为与门。由于二输入选择器的面积和延迟分别为2.5和2,与门的面积和延迟均为1。转换后的面积和延迟均小于转换前的面积和延迟,则标记该节点为转换节点。
转换节点标定后,如图4所示,根据转换所需的电路器件,可以将二元决策树的节点划分为选择器组、与门组、非门组和连接线组,根据划分的组别对转换节点进行节点的分类和复用,以进行节点转换,对于不需要转换的电路器件进行复用,对于需要转换的电路器件进行分类转换。
本实施例中,基于改进的二元决策树算法,对多路选择器进行优化,同时根据预设电路器件的面积延迟信息,进行二输入选择器的转换标定,进而进行节点的分类与复用,以完成二元决策树的节点优化创建。可以理解的是,本申请实施例创建二元决策树时直接生成优化后的节点,减少创建二元决策树再进行归约的复杂度。根据面积延迟信息对二元决策树节点进行转换分析,在满足面积延迟转换代价的基础上进行二元决策树节点的转换,从而得到规格更小的二元决策树,降低二元决策树算法的复杂度。
S600:根据执行节点转换后的二元决策树生成优化硬件描述文件。
将上述执行节点转换后的二元决策树映射为网表文件,以生成优化硬件描述文件,其中,网表文件包括电路器件组和电路器件组中电路器件之间的连接关系,优化硬件描述文件为与目标硬件描述文件逻辑等价的文件。该优化硬件描述文件通过辑综合工具、布局布线工具可以映射为硬件电路。还根据网表文件可以统计优化后目标多路选择器的面积和延迟信息,进而生成优化结果信息,优化结果信息包括优化后目标多路选择器的面积延迟信息。
例如,如图9所示,为优化硬件描述文件的示意图。其中,优化硬件描述文件为基于硬件描述语言中assign语句生成连续赋值语句,进而描述的优化后的多路选择器。如图10所示,为优化结果信息的示意图,包括面积信息、延迟信息、最大延迟、二输入选择器的数量、与门的数量和非门的数量等,其中,优化结果信息可以基于数据符号表示,例如,如图10所示,“areaall=23.9”表示优化后的面积为23.9,“Muxall=8”表示二输入选择器的数量为8,“Andall=3”表示与门的数量为3,“Noall=9”表示非门的数量为9,“delay of dout[2]=6.1”表示优化后的延迟为6.1,“delaymax=6.1”表示最大延迟为6.1。
基于上述多路选择器优化方法,本申请部分实施例还提供一种基于改进二元决策树的多路选择器优化系统,包括参数获取模块和转换优化模块。
参数获取模块,用于获取目标硬件描述文件和面积延迟信息,以及在目标硬件描述文件中提取地址矩阵和数据矩阵。
其中,目标硬件描述文件为描述目标多路选择器的结构和行为的语言,地址矩阵用于表征目标多路选择器中选择端的数据参数,数据矩阵用于表征目标多路选择器中数据端的数据参数,面积延迟信息为预设电路器件的面积和延迟。
转换优化模块,用于基于地址矩阵和数据矩阵执行节点映射,以构建二元决策树,基于面积延迟信息对二元决策树的节点执行节点转换,以及根据执行节点转换后的二元决策树生成优化硬件描述文件。
其中,二元决策树的节点用于表征目标多路选择器中的电路器件,节点转换用于将目标多路选择器转换为电路器件组,电路器件组包括至少一个预设电路器件,电路器件组的面积小于目标多路选择器的面积,或者,电路器件组的延迟小于目标多路选择器的延迟,优化硬件描述文件为与目标硬件描述文件逻辑等价的文件。
由以上技术方案可知,上述实施例提供的基于改进二元决策树的多路选择器优化方法及系统,可以在获取到目标硬件描述文件和面积延迟信息后,在目标硬件描述文件中提取地址矩阵和数据矩阵。其中,目标硬件描述文件包括描述目标多路选择器的结构和行为的文本信息,地址矩阵用于表征目标多路选择器中选择端的数据参数,数据矩阵用于表征目标多路选择器中数据端的数据参数,面积延迟信息为预设电路器件的面积和延迟,基于改进的二元决策树算法以及地址矩阵、数据矩阵和面积延迟信息对多路选择器进行优化,进而将多路选择器转化为面积降低或者延迟降低的电路器件组,以解决硬件描述语言映射的多路选择器面积和延迟大的问题。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。
Claims (10)
1.一种基于改进二元决策树的多路选择器优化方法,其特征在于,包括:
获取目标硬件描述文件,以及在所述目标硬件描述文件中提取地址矩阵和数据矩阵,所述目标硬件描述文件包括描述目标多路选择器的结构和行为的文本信息,所述地址矩阵用于表征目标多路选择器中选择端的数据参数,所述数据矩阵用于表征目标多路选择器中数据端的数据参数;
获取面积延迟信息,所述面积延迟信息为预设电路器件的面积和延迟;
基于所述地址矩阵和所述数据矩阵执行节点映射,以构建二元决策树,所述二元决策树的节点用于表征目标多路选择器中的电路器件;
基于所述面积延迟信息对所述二元决策树的节点执行节点转换,以及根据执行节点转换后的二元决策树生成优化硬件描述文件,所述节点转换用于将目标多路选择器转换为电路器件组,所述电路器件组包括至少一个预设电路器件,所述电路器件组的面积小于所述目标多路选择器的面积,或者,所述电路器件组的延迟小于所述目标多路选择器的延迟,所述优化硬件描述文件为与所述目标硬件描述文件逻辑等价的文件。
2.根据权利要求1所述的多路选择器优化方法,其特征在于,在所述目标硬件描述文件中提取地址矩阵和数据矩阵的步骤,包括:
解析所述目标硬件描述文件,以获取目标多路选择器中选择端的数据参数和数据端的数据参数;
基于预设符号分别标记所述选择端的数据参数和所述数据端的数据参数,以构建所述地址矩阵和所述数据矩阵。
3.根据权利要求1所述的多路选择器优化方法,其特征在于,获取面积延迟信息的步骤,包括:
获取器件库文件;
解析所述器件库文件,以获取面积延迟信息。
4.根据权利要求1所述的多路选择器优化方法,其特征在于,基于所述地址矩阵和所述数据矩阵执行节点映射的步骤之前,还包括:
基于遗传算法模拟不同排序的所述地址矩阵构建的二元决策树,以及计算不同排序的所述地址矩阵构建的二元决策树的适应度;
根据适应度获取目标排序,所述目标排序为所述适应度大于适应度阈值时对应的地址矩阵的排序;
按照所述目标排序重排所述地址矩阵,以及按照重排后的地址矩阵对所述数据矩阵进行排序。
5.根据权利要求1所述的多路选择器优化方法,其特征在于,所述预设电路器件包括二输入选择器、与门和非门。
6.根据权利要求5所述的多路选择器优化方法,其特征在于,所述目标多路选择器包括多个二输入选择器,基于所述面积延迟信息对所述二元决策树的节点执行节点转换的步骤,包括:
如果所述二输入选择器中输入端的输入参数相同,将所述二输入选择器转换为连接线;
如果两级所述二输入选择器中前一级所述二输入选择器的输入参数与后一级所述二输入选择器的输入参数相同,并且两个所述二输入选择器相连接,将两个所述二输入选择器中任一个所述二输入选择器转换为与门;
如果两级所述二输入选择器中前一级所述二输入选择器相同,复用前一级所述二输入选择器转换的电路器件;
如果所述二输入选择器中输入端的输入参数为定值,将所述二输入选择器转换为与门、非门构成的电路器件组。
7.根据权利要求1所述的多路选择器优化方法,其特征在于,基于所述面积延迟信息对所述二元决策树的节点执行节点转换的步骤,还包括:
基于所述面积延迟信息计算所述二元决策树的节点的转换代价,所述转换代价用于表征执行节点转换后目标多路选择器的面积和延迟;
根据所述转换代价标记转换节点,以及对所述转换节点执行节点转换。
8.根据权利要求7所述的多路选择器优化方法,其特征在于,根据所述转换代价标记转换节点的步骤,包括:
获取所述目标多路选择器的初始面积和初始延迟;
如果所述二元决策树的节点执行节点转换后目标多路选择器的面积小于所述初始面积,或者,执行节点转换后目标多路选择器的延迟小于所述初始延迟,则标记所述节点为转换节点。
9.根据权利要求1所述的多路选择器优化方法,其特征在于,基于所述面积延迟信息对所述二元决策树的节点执行节点转换的步骤之后,还包括:
将执行节点转换后的二元决策树映射为网表文件,所述网表文件包括所述电路器件组和所述电路器件组中电路器件之间的连接关系;
根据所述网表文件生成优化结果信息,所述优化结果信息包括优化后目标多路选择器的面积延迟信息。
10.一种基于改进二元决策树的多路选择器优化系统,其特征在于,包括:
参数获取模块,用于获取目标硬件描述文件和面积延迟信息,以及在所述目标硬件描述文件中提取地址矩阵和数据矩阵,所述目标硬件描述文件为描述目标多路选择器的结构和行为的语言,所述地址矩阵用于表征目标多路选择器中选择端的数据参数,所述数据矩阵用于表征目标多路选择器中数据端的数据参数,所述面积延迟信息为预设电路器件的面积和延迟;
转换优化模块,用于基于所述地址矩阵和所述数据矩阵执行节点映射,以构建二元决策树,基于所述面积延迟信息对所述二元决策树的节点执行节点转换,以及根据执行节点转换后的二元决策树生成优化硬件描述文件,所述二元决策树的节点用于表征目标多路选择器中的电路器件,所述节点转换用于将目标多路选择器转换为电路器件组,所述电路器件组包括至少一个预设电路器件,所述电路器件组的面积小于所述目标多路选择器的面积,或者,所述电路器件组的延迟小于所述目标多路选择器的延迟,所述优化硬件描述文件为与所述目标硬件描述文件逻辑等价的文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310735390.6A CN116502572B (zh) | 2023-06-21 | 2023-06-21 | 基于改进二元决策树的多路选择器优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310735390.6A CN116502572B (zh) | 2023-06-21 | 2023-06-21 | 基于改进二元决策树的多路选择器优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116502572A CN116502572A (zh) | 2023-07-28 |
CN116502572B true CN116502572B (zh) | 2023-11-17 |
Family
ID=87324983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310735390.6A Active CN116502572B (zh) | 2023-06-21 | 2023-06-21 | 基于改进二元决策树的多路选择器优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116502572B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5712792A (en) * | 1995-04-21 | 1998-01-27 | Hitachi, Ltd. | Logic circuit sythesizing method utilizing binary decision diagram explored based upon hierarchy of correlation between input variables |
US7506278B1 (en) * | 2005-03-08 | 2009-03-17 | Xilinx, Inc. | Method and apparatus for improving multiplexer implementation on integrated circuits |
CN102375905A (zh) * | 2010-08-27 | 2012-03-14 | 雅格罗技(北京)科技有限公司 | 一种针对改进逻辑单元的集成电路的工艺映射方法 |
CN102386916A (zh) * | 2011-09-21 | 2012-03-21 | 复旦大学 | 一种可减小功耗和芯片面积的数字脉宽调制器电路 |
CN102446551A (zh) * | 2010-09-30 | 2012-05-09 | 北京兆易创新科技有限公司 | 一种优化异步存储芯片存取数据的方法和装置 |
CN103259523A (zh) * | 2012-02-17 | 2013-08-21 | 京微雅格(北京)科技有限公司 | 一种加法链优化的方法和采用该加法链的集成电路 |
CN108616124A (zh) * | 2018-05-11 | 2018-10-02 | 国网山东省电力公司济南供电公司 | 基于有序二元决策图的配电网重构计算方法 |
CN114169274A (zh) * | 2021-12-03 | 2022-03-11 | 无锡中微亿芯有限公司 | 一种面向fpga的多路选择器工艺映射方法 |
-
2023
- 2023-06-21 CN CN202310735390.6A patent/CN116502572B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5712792A (en) * | 1995-04-21 | 1998-01-27 | Hitachi, Ltd. | Logic circuit sythesizing method utilizing binary decision diagram explored based upon hierarchy of correlation between input variables |
US7506278B1 (en) * | 2005-03-08 | 2009-03-17 | Xilinx, Inc. | Method and apparatus for improving multiplexer implementation on integrated circuits |
CN102375905A (zh) * | 2010-08-27 | 2012-03-14 | 雅格罗技(北京)科技有限公司 | 一种针对改进逻辑单元的集成电路的工艺映射方法 |
CN102446551A (zh) * | 2010-09-30 | 2012-05-09 | 北京兆易创新科技有限公司 | 一种优化异步存储芯片存取数据的方法和装置 |
CN102386916A (zh) * | 2011-09-21 | 2012-03-21 | 复旦大学 | 一种可减小功耗和芯片面积的数字脉宽调制器电路 |
CN103259523A (zh) * | 2012-02-17 | 2013-08-21 | 京微雅格(北京)科技有限公司 | 一种加法链优化的方法和采用该加法链的集成电路 |
CN108616124A (zh) * | 2018-05-11 | 2018-10-02 | 国网山东省电力公司济南供电公司 | 基于有序二元决策图的配电网重构计算方法 |
CN114169274A (zh) * | 2021-12-03 | 2022-03-11 | 无锡中微亿芯有限公司 | 一种面向fpga的多路选择器工艺映射方法 |
Non-Patent Citations (4)
Title |
---|
Binary decision diagram optimization method based on multiplexer reduction methods;Marián Maruniak 等;2013 International Conference on System Science and Engineering (ICSSE);全文 * |
具有MUX模式的新型LUT结构及其优化算法;郭旭峰;王作建;李明;于芳;;深圳大学学报(理工版)(03);全文 * |
基于逻辑复合门映射的电路面积优化;岑旭梦;王伦耀;夏银水;;宁波大学学报(理工版)(04);全文 * |
面向FPGA的低功耗多路选择器设计方法;李列文 等;中南大学学报(自然科学版);第45卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116502572A (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7886252B2 (en) | Same subgraph detector for data flow graph, high-order combiner, same subgraph detecting method for data flow graph, same subgraph detection control program for data flow graph, and readable recording medium | |
US4922445A (en) | Logic circuit simulation method | |
CN108170602B (zh) | 一种测试用例生成方法、装置、终端及计算机可读介质 | |
KR100386511B1 (ko) | 입력변수간의 계층화된 상관을사용해서 탐색된 2분결정그래프를 사용한 논리회로의 합성방법 | |
US7757187B2 (en) | Method for mapping a Boolean logic network to a limited set of application-domain specific logic cells | |
CN113268485B (zh) | 数据表关联分析方法、装置、设备及存储介质 | |
CN111651137B (zh) | 排序方法、装置、电子装置以及计算机设备 | |
CN102893282B (zh) | 用于在综合期间执行异步和同步复位去除的方法以及设备 | |
US7441212B1 (en) | State machine recognition and optimization | |
CN116502572B (zh) | 基于改进二元决策树的多路选择器优化方法及系统 | |
US20110022906A1 (en) | Method and system for test point insertion | |
CN113449481A (zh) | 嵌入式fpga ip核顶层电路图自动生成方法、装置及存储介质 | |
JPWO2005098612A1 (ja) | 重要成分優先計算方式ならびに装置 | |
CN105159931A (zh) | 用于生成同义词的方法和装置 | |
CN112231459A (zh) | 一种基于知识图谱实现软件测试智能问答的方法及系统 | |
CN116822105A (zh) | 通信线路的排布方法、系统以及计算机可读存储介质 | |
CN113568598B (zh) | 基于yosys实现求和运算的FPGA逻辑综合方法及装置 | |
US8954307B1 (en) | Chained programming language preprocessors for circuit simulation | |
CN116050312A (zh) | 基于链表树的硬件逻辑设计层次结构信息提取方法及系统 | |
CN109858247A (zh) | 一种基于XGBoost的静态三特征模型的恶意软件分类方法 | |
CN110807092B (zh) | 数据处理方法及装置 | |
CN109740249B (zh) | 一种mux树逻辑结构优化方法、模块及存储介质 | |
US7249329B1 (en) | Technology mapping techniques for incomplete lookup tables | |
CN112651198A (zh) | 非因果电路划分的方法及门级电路并行仿真的方法 | |
CN111984540B (zh) | 最小代价测试用例生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |