CN110765730A - 一种组合逻辑电路简化方法 - Google Patents

一种组合逻辑电路简化方法 Download PDF

Info

Publication number
CN110765730A
CN110765730A CN201911018527.6A CN201911018527A CN110765730A CN 110765730 A CN110765730 A CN 110765730A CN 201911018527 A CN201911018527 A CN 201911018527A CN 110765730 A CN110765730 A CN 110765730A
Authority
CN
China
Prior art keywords
node
logic circuit
combinational logic
same
nodes
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.)
Pending
Application number
CN201911018527.6A
Other languages
English (en)
Inventor
方振国
陈建国
马吕波
张宇祝
孟凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huaibei Normal University
Original Assignee
Huaibei Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huaibei Normal University filed Critical Huaibei Normal University
Priority to CN201911018527.6A priority Critical patent/CN110765730A/zh
Publication of CN110765730A publication Critical patent/CN110765730A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种组合逻辑电路简化方法,利用树搜索原理对组合逻辑电路进行简化,将组合逻辑电路逻辑表达式中的每一项设为节点,将每一个节点中的变量依次取反,然后在同级节点中搜索有无相同项,若搜索到有相同项将该变量消去并保留作为其子节点,若没有搜索到相同项,直接对下一个变量取反然后搜索;同级节点指的是变量个数相同的节点。本发明基于人工智能的自主搜索优化策略,实现了组合逻辑电路的智能简化设计;通过使用启发式策略,简化了搜索过程,提高了搜索速度。

Description

一种组合逻辑电路简化方法
技术领域
本发明涉及组合逻辑电路优化设计技术领域,尤其是一种基于树搜索原理的组合逻辑电路简化方法。
背景技术
组合逻辑电路是集成电路的重要组成部分。随着科技的发展,集成电路复杂度也越来越高,人工设计的难度也随之递增。现在人工智能技术日驱成熟,使用人工智能技术设计电路有着广泛的应用前景,而组合逻辑电路设计是集成电路设计的基础,所以使用人工智能提升组合逻辑电路的设计对集成电路是突破性的发展。人工智能技术从大的方面上看有两个方向,分别是无信息搜索策略与有信息搜索策略。无信息搜索策略是在各级节点按照一定规则逐步搜索,如宽度优先搜索、深度有优先搜索、一致代价搜索等规则。有信息搜索策略与无信息搜索策略不同的地方是根据不同策略选择较优路径减少了运算步骤与时间。
组合逻辑电路智能设计的目标是通过智能设计用最小的代价即消耗最少硬件资源的方式实现设计要求,但是最小代价的设计方案相对于设计要求来说是唯一的,因为最简逻辑表达式只有一个,所以使用人工智能设计组合逻辑电路不同于一般的人工智能设计。一般的人工智能设计是在寻求问题的解决方案中寻求最优解,而此次设计过程设计组合逻辑电路的最简表达式,即得出的方案只有一个。如何方便快捷地获得组合逻辑电路的最简表达式还是一个正在研究的课题。
发明内容
针对上述问题,本发明提供一种基于树搜索原理的组合逻辑电路简化方法。
一种组合逻辑电路简化方法,利用树搜索原理对组合逻辑电路进行简化,将组合逻辑电路逻辑表达式中的每一项设为节点,将每一个节点中的变量依次取反,然后在同级节点中搜索有无相同项,若搜索到有相同项将该变量消去并保留作为其子节点,若没有搜索到相同项,直接对下一个变量取反然后搜索;同级节点指的是变量个数相同的节点。
进一步的,将组合逻辑电路最小项作为一级节点,往下进行简化运算。
进一步的,检测节点中是否有子节点,若没有则该节点为叶子节点,将该节点项直接赋给最简表达式数组。
进一步的,相同项的叶子节点仅保留一个。
本发明基于人工智能的自主搜索优化策略,将树搜索优化算法与组合逻辑电路中相邻最小项合并定理融合,实现了组合逻辑电路的智能简化设计;通过使用启发式策略,简化了搜索过程,提高了搜索速度。
附图说明
图1为实施例1逻辑表达式简化流程示意图;
图2为实施例1的一级节点仿真数据;
图3为实施例1的二级节点仿真数据;
图4为实施例1的三级节点仿真数据;
图5为实施例1的最简逻辑表达式仿真数据。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
实施例1
随机选取一个五输入变量的真值表1。
Figure BDA0002246459590000031
Figure BDA0002246459590000041
表1
由真值表可得出输入变量与输出变量之间的逻辑关系。Y输出为1的项称为最小项,这些最小项的集合能组成Y的逻辑表达式
Figure BDA0002246459590000042
当然最小项逻辑表达式对应的电路并不是最优化的,需要对其进行化简,才能得到能实现设计要求且消耗资源最小的组合逻辑电路。
将7个最小项作为7个一级节点,如图1所示;再利用本发明公开的简化方法对该组合逻辑电路的最小项逻辑表达式进行化简,具体包括如下步骤。
1、从一级节点ABCDE开始,先将A取反,得到
Figure BDA0002246459590000043
搜索后发现与其他一级节点无相同项,再将B取反,得到
Figure BDA0002246459590000044
搜索后发现与其他一级节点仍无相同项,再将C取反,以此类推,直至一级节点ABCDE所有变量取反并搜索完毕。
2、对一级节点
Figure BDA0002246459590000051
进行同样操作,当将其中的C取反时,得到
Figure BDA0002246459590000052
与第三个一级节点为相同项,则消去变量C并保留
Figure BDA0002246459590000053
作为其子节点。
3、依次对
Figure BDA0002246459590000054
进行同样操作,得到子节点
Figure BDA0002246459590000056
得到子节点
Figure BDA0002246459590000057
得到子节点
Figure BDA0002246459590000059
得到子节点
Figure BDA00022464595900000510
Figure BDA00022464595900000511
得到子节点
Figure BDA00022464595900000512
至此一级节点全部操作完毕。
4、对前序操作得到的二级节点进行同样操作,相同项的二级节点仅操作一次,因此需要操作的二级节点为
Figure BDA00022464595900000513
操作后均得到子节点
Figure BDA00022464595900000515
5、对三级节点
Figure BDA00022464595900000516
进行同样操作,已经没有子节点,操作停止。
6、无子节点的节点为叶子节点,如ABCDE、
Figure BDA00022464595900000517
将叶子节点项直接赋给最简表达式数组,相同项的叶子节点仅保留一个(组合逻辑电路中相邻最小项合并定理),因此最简化的Y的逻辑表达式
Figure BDA00022464595900000518
为验证本发明提供方案的有效性,采用FPGA开发平台进行验证测试,使用QuartusII中的逻辑分析Signal Tap II来观察各级节点数据以及化简结果。首先是真值表的输入,先输入Y,然后对Y进行编码就可以将Y对应的逻辑表达式用二进制数组表示,图2为输入数据的编码,即一级节点图,g_1是节点数量,generation_1是用来存放一级节点的数组。
1000,0000,0010,0010,0000,0101,0000,0101(真值表Y栏由上至下分别是从低位到高位)是一个32位的二进制数,用十六进制数可表示为80220505h,然后对Y进行编码可获得需要的最小项。由Y=80220505h可知,Y用二进制表示,二进制为1对应的位数的数值即为对应的最小项编码,如80220505h用二进制表示第31位为1(真值表最后一行),31用二进制表示为11111b,对应EDCBA。只用五位二进制数只能表示是否取反,不能表示合并消项后的节点,所以使用十位二进制表示节点,如EDCBA可表示为0000011111b,该二进制从左到右依次代表
Figure BDA0002246459590000061
1代表存在,0代表无,如CBA用0000000111b表示。
一轮优化后的结果如图3所示,与图1中的二级节点相同,g_2是节点数量,generation_2是用来存放二级节点的数组。二级节点中有很多是重复的节点,相同项的节点仅保留一个。从图1与图3可得一级节点中只有ABCDE(0000011111b)是叶子节点,ABCDE无法化简,直接赋给最简逻辑表达式数组中的generation[0]。
二轮优化后的结果如图4所示,与图1中的三级节点相同,g_3是节点数量,generation_3是用来存放三级节点的数组。从图1与图4可得二级节点
Figure BDA0002246459590000062
是叶子节点,直接赋给最简逻辑表达式数组中的generation[1]。由于4个三级节点均为相同项,仅保留一项,并直接赋给最简逻辑表达式数组中的generation[2]。最简逻辑表达式数组最终如图5所示。
对输入进行编码后以二进制代码的形式表示逻辑表达式,在FPGA上更易实现且速度更快,功耗更低。为了验证本算法的效率,分别对无信息搜索算法和本文算法进行分析,数据如表2所示。通过与无信息搜索策略作比较,证明了本算法具有可行性和有效性。
无信息搜索策略树搜索算法 本文算法
拓展节点数 25 13
节点最高级数 4 3
表2
显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域及相关领域的普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

Claims (4)

1.一种组合逻辑电路简化方法,其特征在于,利用树搜索原理对组合逻辑电路进行简化,将组合逻辑电路逻辑表达式中的每一项设为节点,将每一个节点中的变量依次取反,然后在同级节点中搜索有无相同项,若搜索到有相同项将该变量消去并保留作为其子节点,若没有搜索到相同项,直接对下一个变量取反然后搜索;同级节点指的是变量个数相同的节点。
2.根据权利要求1所述的组合逻辑电路简化方法,其特征在于,将组合逻辑电路最小项作为一级节点,往下进行简化运算。
3.根据权利要求2所述的组合逻辑电路简化方法,其特征在于,检测节点中是否有子节点,若没有则该节点为叶子节点,将该节点项直接赋给最简表达式数组。
4.根据权利要求3所述的组合逻辑电路简化方法,其特征在于,相同项的叶子节点仅保留一个。
CN201911018527.6A 2019-10-24 2019-10-24 一种组合逻辑电路简化方法 Pending CN110765730A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911018527.6A CN110765730A (zh) 2019-10-24 2019-10-24 一种组合逻辑电路简化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911018527.6A CN110765730A (zh) 2019-10-24 2019-10-24 一种组合逻辑电路简化方法

Publications (1)

Publication Number Publication Date
CN110765730A true CN110765730A (zh) 2020-02-07

Family

ID=69333361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911018527.6A Pending CN110765730A (zh) 2019-10-24 2019-10-24 一种组合逻辑电路简化方法

Country Status (1)

Country Link
CN (1) CN110765730A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111291324A (zh) * 2020-02-28 2020-06-16 太原理工大学 一种粒分辨矩阵在逻辑电路优化中的应用
CN113312866A (zh) * 2021-06-15 2021-08-27 深圳华大九天科技有限公司 一种通过合并方程变量实现约减电路的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263368A (zh) * 2019-05-08 2019-09-20 太原理工大学 基于形式向量的多输入多输出真值表的约简方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263368A (zh) * 2019-05-08 2019-09-20 太原理工大学 基于形式向量的多输入多输出真值表的约简方法

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
李昂等: "一种基于逻辑最小项化简的非线性函数实现方法", 《小型微型计算机系统》 *
李昂等: "一种基于逻辑最小项化简的非线性函数实现方法", 《小型微型计算机系统》, no. 03, 15 March 2008 (2008-03-15), pages 2 *
李昂等: "神经网络计算部件的数字VLSI优化设计", 《计算机工程》 *
李昂等: "神经网络计算部件的数字VLSI优化设计", 《计算机工程》, no. 05, 5 March 2008 (2008-03-05) *
王新忠等: "V-BLAST系统的低复杂度改进裁剪QRD-M算法", 《电视技术》 *
王新忠等: "V-BLAST系统的低复杂度改进裁剪QRD-M算法", 《电视技术》, no. 05, 2 March 2015 (2015-03-02) *
陈小芳: "逻辑函数的卡诺图化简法", 《计算机时代》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111291324A (zh) * 2020-02-28 2020-06-16 太原理工大学 一种粒分辨矩阵在逻辑电路优化中的应用
CN111291324B (zh) * 2020-02-28 2023-06-13 太原理工大学 一种粒分辨矩阵在逻辑电路优化中的应用
CN113312866A (zh) * 2021-06-15 2021-08-27 深圳华大九天科技有限公司 一种通过合并方程变量实现约减电路的方法
CN113312866B (zh) * 2021-06-15 2022-03-11 深圳华大九天科技有限公司 一种通过合并方程变量实现约减电路的方法

Similar Documents

Publication Publication Date Title
Cha et al. A genetic algorithm for constructing compact binary decision trees
CN101154228A (zh) 一种分段模式匹配方法及其装置
CN104699767B (zh) 一种面向中文语言的大规模本体映射方法
CN110765730A (zh) 一种组合逻辑电路简化方法
Dickinson et al. A genetic algorithm for identifying overlapping communities in social networks using an optimized search space
CN103440275A (zh) 一种基于普利姆的k均值聚类方法
CN108833052A (zh) 信道极化译码路径度量值排序方法
Guler et al. Semantic index assignment
Kajstura et al. Binary tree-based low power state assignment algorithm
CN114925640A (zh) 一种多级mprm逻辑电路功耗优化方法
CN106960064B (zh) 一种基于自学习的几何辅助线添加方法
CN110909793B (zh) 一种基于fpga实现的决策森林系统及决策森林推理方法
Huang et al. Pancyclicity of Mobius cubes
Pan et al. Detecting link communities based on local approach
Buss Lectures on proof theory
Mizumoto et al. An efficient query learning algorithm for zero-suppressed binary decision diagrams
Hanan D2-synchronization in nondeterministic automata
Sharma et al. An optimize decision tree algorithm based on variable precision rough set theory using degree of β-dependency and significance of attributes
Roy et al. Multi-hop question answering
CN100573574C (zh) 一种案例树构建的装置及方法
CN114936220B (zh) 布尔可满足性问题解的搜索方法、装置、电子设备及介质
Maandag et al. Solving 3-SAT
Mamaghani et al. A novel hybrid algorithm for join ordering problem in database queries
Asghari et al. An evolutionary algorithm for query optimization in database
CN109714043B (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