[发明专利]用于转换规范RM逻辑电路的方法有效

专利信息
申请号: 201710969513.7 申请日: 2017-10-18
公开(公告)号: CN107809235B 公开(公告)日: 2021-03-26
发明(设计)人: 张巧文;陈军敢;朱仲杰;胡江;王阳;张瑞华 申请(专利权)人: 浙江万里学院
主分类号: H03K19/20 分类号: H03K19/20
代理公司: 宁波奥圣专利代理有限公司 33226 代理人: 方小惠
地址: 315100 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种用于转换规范RM逻辑电路的方法,首先对待转换电路类型是布尔逻辑电路和RM逻辑电路进行判定,然后针对不同类型的待转换电路类型,通过简单的相交运算,仅操作乘积项对函数表达式中含有的乘积项进行更新,得到中间非规范RM逻辑函数表达式所包含的乘积项,然后再对中间非规范RM逻辑函数表达式所包含的乘积项进行变量文字位替换操作,转换得到目标规范RM逻辑表达式;优点是不需要对乘积项进行最小项展开或者不相交乘积项处理,有效降低了计算复杂度及内存占用量,且计算时间对输入变量的数量不敏感而仅与乘积项数量以及相交性有关,能快速处理大规模变量的规范RM逻辑电路的转换,转换过程简单,转换速度快。
搜索关键词: 用于 转换 规范 rm 逻辑电路 方法
【主权项】:
一种用于转换规范RM逻辑电路的方法,其特征在于包括以下步骤:①判定待转换电路类型是布尔逻辑电路和RM逻辑电路,布尔逻辑电路对应的逻辑函数表达式为RM逻辑电路对应的逻辑函数表达式为其中函数表达式中,xn,xn‑1,…,xk,…,x1为函数f的n个输入变量,k为整数且1≤k≤n,ci为f的第i个乘积项,i为整数且1≤i≤3n,Σ为或逻辑运算符号,⊕Σ为异或逻辑运算符号,为变量文字,表示第k个输入变量xk在乘积项ci中的出现形式,当时,第k个输入变量xk在乘积项ci中以原变量出现,当时,第k个输入变量xk在乘积项ci中以反变量出现,当时,第k个输入变量xk在乘积项ci中不出现,bi为乘积项系数,bi∈{0,1},当bi=0时,乘积项ci在f中不存在,当bi=1时,乘积项ci在f中存在;②采用待转换电路对应的函数表达式中所有存在的乘积项组成第一个乘积项集合,将该第一个乘积项集合记为C,第一个乘积项集合C中包含的乘积项的数量记为m,m为整数且1≤m≤3n,定义第二个乘积项集合,将该第二个乘积项集合记为S,第二个乘积项集合S在初始状态为空集合;③如果待转换电路类型被判定为布尔逻辑电路,则按照以下步骤对第二个乘积项集合S进行第一轮更新:A.从第一个乘积项集合C中任选一个未被选取过的乘积项,将该乘积项记为cj,其中1≤j≤m;B.判定当前的第二个乘积项集合S是否为空集合:如果是,则将第一个乘积项集合C中选取的乘积项cj复制到第二个乘积项集合S中,如果否,定义第三个乘积项集合,将该第三个乘积项集合记为S′,第三个乘积项集合S′的初始状态为空集合,并将第一个乘积项集合C中选取的乘积项cj与第二个乘积项集合S中已经存在的所有乘积项依次进行相交运算,具体过程为:B‑1.统计当前第二个乘积项集合S中的乘积项数量,并记为T,将当前第二个乘积项集合S中的第t个乘积项记为st,t=1,2,…,T,定义一个新乘积项π,令该新乘积项B‑2.依次将乘积项cj的第h位变量文字与乘积项st的第h位变量文字进行相交运算,其中h=1,2,…,n,具体过程为:B‑2‑1.将乘积项cj的第h位变量文字记为将乘积项st的第h位变量文字记为对和的关系进行判定:如果时,那么令如果且或者且那么令如果且或者且那么令如果是其他情况,那么令B‑2‑2.判定是否为如果是,那么不再进行cj与st后续对应位的变量文字的相交运算,如果否,继续进行cj与st后续对应位的变量文字的相交运算;B‑2‑3.判定cj中的第1位变量文字~第n位变量文字与乘积项st的第1位变量文字~第n位变量文字是否都进行了相交运算,如果是,则π是有效乘积项,将π保存到第三个乘积项集合S′中,如果否,则π是无效乘积项,删除乘积项π;B‑3.乘积项cj与第二个乘积项集合S中第一个乘积项s1~第T个乘积项sT都进行了相交运算后,第三个乘积项集合S′更新完成,此时将第三个乘积项集合S′中所有的乘积项与第一个乘积项集合C中选取的乘积项cj保存到第二个乘积项集合S中;B‑4.清空第三个乘积项集合S′中所有的乘积项,第三个乘积项集合S′被更新为空集合;B‑5.查找当前第二个乘积项集合S中存在至少两个的乘积项,如果该乘积项的数量为偶数,则将其全部删除,如果该乘积项的数量为奇数,则保留一个,将其他的删除;B‑6.判定第一个乘积项集合C中所有的乘积项是否都与当前第二个乘积项集合S中的所有乘积项进行了相交运算,如果是,则第二个乘积项集合S的第一轮更新完毕,如果否,则按照步骤B‑1~B‑5的方法从第一个乘积项集合C中任选的一个未被选取过的乘积项与当前第二个乘积项集合S中已经存在的所有乘积项依次进行相交运算,直至第二个乘积项集合S的第一轮更新完毕;如果待转换电路类型被判定为RM逻辑电路,则将第一个乘积项集合C中所有的乘积项复制到第二个乘积项集合S中,得到更新后的第二个乘积项集合S;④定义一个初始极性向量,将该初始极性向量记为P,令P=pnpn‑1…pk…p1,其中pk∈{0,1,2};如果待转换电路类型被判定为布尔逻辑电路或者非规范RM逻辑电路,那么初始极性向量P的第r位pr=2,r=1,2,…,n;如果待转换电路类型被判定为规范RM逻辑电路,则直接将该待转换的规范RM逻辑电路的极性值赋予该初始极性向量P;定义一个用于保存目标极性值的目标极性向量,将该目标极性向量记为P′,令P′=p′np′n‑1…p′k…p′1,其中p′k∈{0,1,2};将设定好的需要转换得到的目标规范RM逻辑电路的极性值赋予该目标极性向量P′;⑤对第一轮更新后得到的第二个乘积项集合S进行第二轮更新,具体过程为:a.统计当前第二个乘积项集合S中乘积项的数量,并将其数量记为L;b从第二个乘积项集合S中任选一个乘积项,将该乘积项记为sl,将乘积项sl中的第u位变量文字记为其中,u=1,2,…,n,l为整数且1≤l≤L;c.判定初始极性向量P的第u位极性pu与目标极性向量P′的第u位极性p′u是否相等,如果相等,则乘积项sl中的第u位变量文字保持不变,如果不相等,则按照以下规则对乘积项sl中的第u位变量文字进行更新:当pu=2,p′u=0时,如果则采用‘–’更新的值,如果则采用‘0’更新的值,如果则的值保持不变;当pu=2,p′u=1时,如果则采用‘1’更新的值,如果则采用‘–’更新的值,如果则采用‘0’更新的值;当pu=0,p′u=2时,如果则采用‘–’更新的值,如果则采用‘0’更新的值,如果则的值保持不变;当pu=0,p′u=1时,如果则采用‘–’更新的值,如果则采用‘1’更新的值,如果则的值保持不变;当pu=1,p′u=2时,如果则采用‘–’更新的值,如果则采用‘0’更新的值,如果则采用‘1’更新的值;当pu=1,p′u=0时,如果则采用‘–’更新的值,如果则采用‘1’更新的值,如果则的值保持不变;d.按照步骤c的规则完成乘积项sl中n位变量文字的更新,即完成乘积项sl的更新;e.按照步骤c和d的方法依次完成第二个乘积项集合S中剩余乘积项的更新,直至第二个乘积项集合S中所有的乘积项更新完成,得到第二轮更新后的第二个乘积项集合S;⑥找出当前第二个乘积项集合S中所有的包含至少一个取值为“‑”的变量文字的乘积项,将这些乘积项依次按照以下规则进行替换处理:统计待替换的乘积项中含有的取值为“‑”的变量文字的数量,将其数量记为G。每个取值为“‑”的变量文字均存在“0”和“1”两种替换值,即每个取值为“‑”的变量文字存在两种替换情况,那么存在G个取值为“‑”的变量文字的待替换的乘积项存在2G种替换情况,即存在G个取值为“‑”的变量文字的待替换的乘积项被替换为2G个新的乘积项;⑦按照步骤⑥的规则完成当前第二个乘积项集合S中所有的包含至少一个取值为“‑”的变量文字的乘积项的替换,得到替换后的第二个乘积项集合S;⑧查找当前第二个乘积项集合S中存在至少两个的乘积项,如果该乘积项的数量为偶数,则将其全部删除,如果该乘积项的数量为奇数,则保留一个,将其他的删除,将此时得到的第二个乘积项集合S作为目标规范RM逻辑电路对应的乘积项集合,根据该乘积项集合即可得到转换后的目标规范RM逻辑电路。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江万里学院,未经浙江万里学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201710969513.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top