[发明专利]一种逻辑函数的ESOP最小化方法在审
申请号: | 201510788188.5 | 申请日: | 2015-11-16 |
公开(公告)号: | CN105447241A | 公开(公告)日: | 2016-03-30 |
发明(设计)人: | 张巧文;胡江;王阳;张伟 | 申请(专利权)人: | 浙江万里学院 |
主分类号: | G06F17/50 | 分类号: | G06F17/50 |
代理公司: | 宁波奥圣专利代理事务所(普通合伙) 33226 | 代理人: | 方小惠 |
地址: | 315100*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 逻辑 函数 esop 最小化 方法 | ||
1.一种逻辑函数的ESOP最小化方法,其特征在于包括以下步骤:
①读入逻辑函数的ESOP式n为逻辑函数f的变量数且n>3,k为整数且1≤k≤n,(xn,xn-1,…,xk,…,x1)为ESOP式f的n个输入变量,i为整数且0≤i≤3n-1;πi为ESOP式f的第i个立方体,πi用输入变量序列表示为其中表示第k个输入变量xk在立方体πi中的出现形式,将称为变量文字,简称文字,当时,第k个输入变量xk在立方体πi中以原变量xk出现,当时,第k个输入变量xk在立方体πi中以反变量出现,当时,第k个输入变量xk在立方体πi中不出现;bi为立方体πi的系数,bi为常数且bi∈{0,1},当bi=0时,立方体πi在ESOP式f中不存在,当bi=1时,立方体πi在ESOP式f中存在,⊕∑为“异或和”运算符;若在ESOP式f的两个立方体中呈现不同文字,则称两立方体在处文字相异,即两立方体在处具有不同文字部分,若在两个立方体中呈现相同文字,则称两立方体在处文字相同,即两立方体在处具有相同文字部分;
②统计逻辑函数的ESOP式f中存在的所有立方体,将其数量记为m,m为正整数且1≤m≤3n-1;将m个立方体记为π'1,π'2,…,π'm,m个立方体构成的立方体集合记为Π,Π={π'1,π'2,…,π'm};
③将两个立方体具有不同文字部分的文字相异处的数量定义为两个立方体之间的距离,将两个立方体之间的距离记为dl,计算立方体集合∏中每两个立方体π'a和π'b之间的距离dl(π'a,π'b),其中,a,b∈{1,2,…,m}且a≠b;
④根据具有相同文字部分且任意两立方体之间的距离dl小于等于3的规则来划分立方体集合Π,将立方体集合Π中满足上述规则的立方体组成的集合称为立方体分块Π',立方体分块Π'最多具有3个文字相异处;
⑤判断立方体集合Π中是否成功划分得到立方体分块Π':如果不存在立方体分块Π',则对立方体集合Π的划分为无效划分,ESOP最小化结束;如果存在立方体分块Π',则对立方体集合Π的划分为有效划分,进入步骤⑥操作;
⑥计算步骤④划分得到的各个立方体分块Π'的势|Π'|,将具有最大的势的立方体分块Π'记为Π'max,对Π'max进行变量移位操作后再进行变量分组操作,得到立方体分块Π”max,其中变量移位操作和变量分组操作的具体过程为:
⑥-1将立方体分块Π'max中包含的立方体分别进行变量移位操作:立方体分块Π'max中包含的立方体或者在三个变量文字和处文字相异,或者在两个变量文字和处文字相异,或者在一个变量文字处文字相异,其中t1、t2和t3均为正整数且1≤t1<t2<t3≤m;
如果立方体分块Π'max中包含的立方体在和三个变量文字处文字相异,则将每个立方体的移到输入变量序列的第1位,移到输入变量序列的第2位,移到输入变量序列的第3位,其他变量保持不变,得到新的立方体,该立方体的输入变量序列为
如果立方体分块Π'max中包含的立方体在和两个变量文字处文字相异,则将每个立方体的移到输入变量序列的第1位,移到输入变量序列的第2位,其他保持不变,得到新的立方体,该立方体的输入变量序列为如果立方体分块Π'max中包含的立方体在一个变量文字处文字相异,则将每个立方体的移到输入变量序列的第1位,其他变量保持不变,得到新的立方体,该立方体的输入变量序列为
⑥-2对步骤⑥-1得到的每个新的立方体分别进行分组:将每个新的立方体的输入变量序列从低位到高位每3位分为一组位串,最后一组不够3位时也作为一组位串,从低位到高位依次记为第一组位串,第二组位串,以此类推;
⑦构造三输入变量逻辑函数的立方体EXOR转换图G(V,E),其中V表示立方体EXOR转换图G的顶点集合,E表示立方体EXOR转换图G的边集合,V包括27个顶点,每个顶点用一个长度为3的位串表示,V={000、010、100、110、001、011、101、111、0-0、-00、-10、1-0、00-、01-、10-、11-、0-1、-01、-11、1-1、--0、0--、-0-、-1-、1--、--1、---},E={e(vc,vd)|dl(vc,vd)=1,vc,vd∈V且c≠d},其中e(vc,vd)|dl(vc,vd)=1表示当顶点vc和顶点vd之间的距离等于1时,顶点vc和顶点vd之间存在边;构造的立方体EXOR转换图G为一个6-正则图,立方体EXOR转换图G中任意顶点可对应3个圈长为3的圈;
⑧采用立方体EXOR转换图对立方体分块Π”max进行转换,具体步骤如下所述:
⑧-1提取立方体分块Π”max中每个立方体的第一组位串构成一个位串集合;
⑧-2选择立方体EXOR转换图中与位串集合中的位串相同的顶点,这些顶点构成待转换顶点集合;
⑧-3计算待转换顶点集合的权和1≤s≤|Π”max|,ws为待转换顶点集合中第s个待转换顶点的权,|Π”max|为Π”max的势,∑为求和符号;位串中不含“-”的顶点的权为3,位串中含1个“-”的顶点的权为2,位串中含2个“-”的顶点的权为1,位串中含3个“-”的顶点的权为0;
⑧-4根据以下规则确定待转换顶点集合中各顶点之间的连通关系:
a.如果待转换的两个顶点能包含在同一个圈长为3的圈上,那么待转换的两个顶点在该圈上连通;该圈为待转换顶点的一个连通圈,
b.如果待转换的两个顶点能分别包含具有相同顶点的两个圈长为3的圈上,那么待转换的两个顶点通过该两圈连通,该两圈为待转换顶点的两个连通圈;
c.如果待转换的两个顶点不能分别包含在有相交的两个圈上,那么两个顶点不能连通;
d.任意待转换顶点只能包含在一个圈长为3的圈上;
e.除待转换的顶点以外的其他顶点最多可被两个圈长为3的圈包含;
⑧-5在步骤⑧-4中确定的连通关系基础上,选取以下两种顶点构成保留顶点集合Πmin:
a.不被任何一个连通圈包含的待转换顶点;
b.除待转换的顶点以外的其他顶点中仅被一个连通圈包含的顶点;
⑨计算保留顶点集合的权和w's'为保留顶点集合Πmin中第s'个保留顶点的权,|Πmin|为Πmin的势,1≤s'≤|Πmin|;
⑩比较W'和W的大小,如果W'<W,则采用保留顶点集合Πmin中包含的|∏min|个顶点对应的长度为3的位串取代Π”max中任意|Πmin|个立方体的第一组位串,删除Π”max中未被取代的其他立方体,得到新的立方体分块Π'min,如果W'≥W,则直接将Π”max作为新的立方体分块Π'min;
将新的立方体分块Π'min中包含的立方体分别进行与步骤⑥-1中变量移位操作相反的变量复位操作,即将新的立方体分块Π'min中立方体的处于步骤⑥-1中立方体分块Π'max中包含的立方体移位后的位置处的变量移动到该立方体中处于步骤⑥-1中立方体分块Π'max中包含的立方体移位前的位置处,得到立方体分块Π”min;将立方体分块Π”min取代前一次得到的立方体集合Π中的Π'max,得到更新后的立方体集合Π;
采用步骤④的方法重新划分新更新后的立方体集合Π得到立方体分块Π',如果划分得到的立方体分块Π'中包含已经进行过变量移位操作的立方体分块Π',则将这些已经进行过变量移位操作的立方体分块Π'视为无效的立方体分块不进入后续步骤处理,其他未进行过变量移位操作的立方体分块Π'视为有效的立方体分块进入后续步骤处理;
按照步骤⑤-步骤对有效的立方体分块进行迭代操作,直到步骤⑤中满足ESOP最小化结束条件,最后一次更新后的立方体集合∏即为逻辑函数f的ESOP最小化对应的立方体集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江万里学院,未经浙江万里学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510788188.5/1.html,转载请声明来源钻瓜专利网。