用于数字电路的全局真值表生成方法及装置
文献发布时间:2024-04-18 20:01:23
技术领域
本公开涉及数字电路领域,具体而言,涉及一种用于数字电路的全局真值表生成方法及装置。
背景技术
数字电路是用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。由于它具有逻辑运算和逻辑处理功能,所以又称数字逻辑电路。逻辑门是数字逻辑电路的基本单元。数字电路可以分为组合逻辑电路和时序逻辑电路两大类。
数字电路是以二值数字逻辑为基础的,其工作信号是离散的数字信号,所以在一个数字电路中存在大量的以布尔逻辑表示的布尔函数,它们是数字电路中特别重要的组成部分。
EDA仿真器可以对电路的功能行为进行模拟,而不需要建立实际的电路(这过程可能繁琐而昂贵),因此它是一种很有实用价值的工具。在构建实际的电路之前,对设计进行仿真验证,可以大大地提高设计效率。这是由于,设计人员可以在构建电路之前,预先观察、研究电路的行为,而不必为电路的物理实现付出时间和经济的成本。尤其是集成电路,在物理上实现电路所需的光掩模等电子工艺成本不菲,而集成电路的高复杂性又在面包板上面难以实现,用传统的方法研究电路的行为较为困难。因此,几乎所有的集成电路设计都较为依赖仿真。最著名的模拟仿真是SPICE,而最著名的数字电路仿真器都是基于Verilog或VHDL的。
显然对于数字电路进行仿真需要计算大量的布尔函数,如果通过真值表获得布尔函数的值,则需要计算大量的布尔函数的真值表,布尔函数很多,此计算量也比较大。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本申请提供一种用于数字电路的全局真值表生成方法及装置,能够快速准确的获取数字电路的对应的多个布尔函数的全局真值表,从而加快数字电路中布尔函数的计算效率,提高仿真速度,节约系统资源。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提出一种用于数字电路的全局真值表生成方法,该方法包括:获取目标数字电路的对应的一个或多个布尔函数;通过所述一个或多个布尔函数生成所述目标数字电路对应的全局表达式树;确定所述全局表达式树的根节点的目标值;基于所述目标值遍历所述全局表达式树;在遍历全局表达式树的过程中基于逻辑关系推算所述全局表达式树中多个叶子节点的信号组合;通过所述多个叶子节点的信号组合生成所述目标数字电路的全局真值表。
在本申请的一种示例性实施例中,还包括:获取多个输入信号的信号值;将所述多个输入信号输入到所述目标数字电路对应的端口;通过所述多个输入信号和所述全局真值表得到所述数字电路的仿真输出结果。
在本申请的一种示例性实施例中,通过所述一个或多个布尔函数生成所述目标数字电路对应的全局表达式树,包括:解析所述一个或多个布尔函数生成一个或多个表达式树;将所述一个或多个表达式树进行关联以生成所述目标数字电路对应的所述全局表达式树。
在本申请的一种示例性实施例中,将所述一个或多个表达式树进行关联以生成所述目标数字电路对应的所述全局表达式树,包括:提取所述一个或多个表达式树的跟节点和叶子节点;基于根节点和叶子节点的对应关系将所述一个或多个表达式树进行关联;根据关联结果生成所述目标数字电路对应的所述全局表达式树。
在本申请的一种示例性实施例中,基于所述目标值遍历所述全局表达式树,包括:将所述目标值作为所述全局表达式树的根节点对应的数值;通过宽度优先搜索算法遍历所述全局表达式树。
在本申请的一种示例性实施例中,在遍历全局表达式树的过程中基于逻辑关系推算所述全局表达式树中多个叶子节点的信号组合,包括:在遍历全局表达式树的过程中,获取根节点的数值;根据所述根节点的数值和其对应的运算类型推算下层节点的信号组合;逐一遍历下层节点的信号组合直至生成底层叶子节点的信号组合为止。
在本申请的一种示例性实施例中,逐一遍历下层节点的信号组合直至生成底层叶子节点的信号组合为止,包括:在逐一遍历下层节点的过程中,获取当前节点;在当前节点不为叶子节点时,逐一提取所述当前节点对应的信号组合中的数值;根据所述当前节点的数值和其对应的运算类型推算下层节点的信号组合。
在本申请的一种示例性实施例中,通过所述多个叶子节点的信号组合生成所述目标数字电路的全局真值表,包括:提取所述全局表达式树中底层叶子节点对应的信号组合;将非底层叶子节点对应的信号组合进行扩展;通过底层叶子节点和扩展后的非底层叶子节点对应的信号组合生成所述目标数字电路的全局真值表。
在本申请的一种示例性实施例中,将非底层叶子节点对应的信号组合进行扩展,包括:根据非底层叶子节点对应的层数逐一将非底层叶子节点对应的信号组合中的每个数值进行扩展。
在本申请的一种示例性实施例中,通过底层叶子节点和扩展后的非底层叶子节点对应的信号组合生成所述目标数字电路的全局真值表,包括:通过底层叶子节点和扩展后的非底层叶子节点对应的信号组合生成索引值表;剔除所述索引值表中的重复序列以生成所述目标数字电路的全局真值表。
根据本申请的一方面,提出一种用于数字电路的全局真值表生成装置,该装置包括:函数模块,用于获取目标数字电路的对应的一个或多个布尔函数;表达式树模块,用于通过所述一个或多个布尔函数生成所述目标数字电路对应的全局表达式树;目标值模块,用于确定所述全局表达式树的根节点的目标值;遍历模块,用于基于所述目标值遍历所述全局表达式树;推算模块,用于在遍历全局表达式树的过程中基于逻辑关系推算所述全局表达式树中多个叶子节点的数值;真值表模块,用于通过所述多个叶子节点的数值生成所述目标数字电路的全局真值表。
根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本申请的用于数字电路的全局真值表生成方法及装置,通过获取目标数字电路的对应的一个或多个布尔函数;通过所述一个或多个布尔函数生成所述目标数字电路对应的全局表达式树;确定所述全局表达式树的根节点的目标值;基于所述目标值遍历所述全局表达式树;在遍历全局表达式树的过程中基于逻辑关系推算所述全局表达式树中多个叶子节点的信号组合;通过所述多个叶子节点的信号组合生成所述目标数字电路的全局真值表的方式,能够快速准确的获取数字电路的对应的多个布尔函数的全局真值表,从而加快数字电路中布尔函数的计算效率,提高仿真速度,节约系统资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种用于数字电路的全局真值表生成方法的流程图。
图2是根据一示例性实施例示出的一种用于数字电路的全局真值表生成方法的流程图。
图3是根据另一示例性实施例示出的一种用于数字电路的全局真值表生成方法的流程图。
图4是根据另一示例性实施例示出的一种用于数字电路的全局真值表生成方法的示意图。
图5是根据另一示例性实施例示出的一种用于数字电路的全局真值表生成方法的流程图。
图6是根据另一示例性实施例示出的一种用于数字电路的全局真值表生成方法的示意图。
图7是根据另一示例性实施例示出的一种用于数字电路的全局真值表生成方法的示意图。
图8是根据一示例性实施例示出的一种用于数字电路的全局真值表生成装置的框图。
图9是根据一示例性实施例示出的一种电子设备的框图。
图10是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
本申请涉及的技术缩略语解释如下:
布尔函数(Boolean function):描述如何基于对布尔输入的某种逻辑计算确定布尔值输出,它们在复杂性理论的问题和数字计算机的芯片设计中扮演基础角色。
布尔逻辑:布尔逻辑是一套逻辑的代数系统,因英国数学家乔治布尔而得名,布尔逻辑运算符主要有逻辑与(and)、逻辑或(or)、逻辑非(not)、逻辑异或(xor)四种。
真值表:表征逻辑事件输入和输出之间全部可能状态的表格。
二叉树:是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个节点。
表达式树:表达式树的叶节点是操作数,其他节点是操作符。假设所有的运算符都是双目运算符,那么刚好形成一颗二叉树。我们可以通过递归计算左子树和右子树的值,从而得到整个表达式树的值。
宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。
遍历(Traversal),是指沿着某条搜索路线,依次对树(或图)中每个节点均做一次访问。
Verilog HDL:是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。Verilog HDL和VHDL是世界上最流行的两种硬件描述语言。
比特(BIT,Binary digit),计算机专业术语,是信息量单位,是由英文BIT音译而来。同时也是二进制数字中的位,信息量的度量单位,为信息量的最小单位。
真值表是数字电路仿真计算的基础,对于真值表的计算,简单的方式就是根据输入可以获得一组排列组合,将这些组合挨个输入就可以获得输出,然后就可以获得真值表。但是根据排列组合的算法,它随着输入的增多排列组合的数量指数级的增加。挨个计算组合,计算量也是很大的。
本案发明人经过研究之后发现,在数字电路中,假设有n个输入信号,在仅考虑布尔函数每个输入信号的输入值是0或1的情况下,真值表中所有排列的组合有2n个,在输入信号的信号值为0,1,x,z四种可能性时,真值表的排列组合就有4n个。真值表的大小和输入的组合数量之间是指数级增长,在现有技术中,通过排列组合获得真值表的方式,真值表仿真的运算量比较大。
有鉴于现有技术中的技术瓶颈,本申请提出了一种用于数字电路的全局真值表生成方法,能够加快真值表的计算时间。下面结合具体的实施例对本申请的内容进行详细说明。
图1是根据一示例性实施例示出的一种用于数字电路的全局真值表生成方法的流程图。用于数字电路的全局真值表生成方法10至少包括步骤S102至S108。
如图1所示,在S102中,获取目标数字电路的对应的一个或多个布尔函数。可读入目标数字电路的电路信息,在电路信息中获得所要仿真的布尔函数,每个布尔函数输入和输出之间的映射关系在仿真中不会改变。
在S104中,通过所述一个或多个布尔函数生成所述目标数字电路对应的全局表达式树。解析所述一个或多个布尔函数生成一个或多个表达式树;将所述一个或多个表达式树进行关联以生成所述目标数字电路对应的所述全局表达式树。
更具体的,可提取所述一个或多个表达式树的跟节点和叶子节点;基于根节点和叶子节点的对应关系将所述一个或多个表达式树进行关联;根据关联结果生成所述目标数字电路对应的所述全局表达式树。
在一个示例中,某数字电路对应的布尔函数如下:
f=((a&b)|c)&d。
该布尔函数对应的表达式树可如图2所示。
在S106中,确定所述全局表达式树的根节点的目标值。根节点为布尔函数的输出值f,可例如,f有两种取值可能性:1或者0。可根据后文中的步骤,分别建立f=1时,该布尔函数的真值表,和f=0时,该布尔函数的真值表。
在S108中,基于所述目标值遍历所述全局表达式树。可将所述目标值作为所述全局表达式树的根节点对应的数值;通过宽度优先搜索算法遍历所述全局表达式树。
可先设定f=0,基于根节点为0遍历全局表达式树。
在S110中,在遍历全局表达式树的过程中基于逻辑关系推算所述全局表达式树中多个叶子节点的信号组合。可在遍历全局表达式树的过程中,获取根节点的数值;根据所述根节点的数值和其对应的运算类型推算下层节点的信号组合;逐一遍历下层节点的信号组合直至生成底层叶子节点的信号组合为止。
“在遍历全局表达式树的过程中基于逻辑关系推算所述全局表达式树中多个叶子节点的信号组合”的内容将在图3对应的实施例中详细说明。
在S112中,通过所述多个叶子节点的信号组合生成所述目标数字电路的全局真值表。可提取所述全局表达式树中底层叶子节点对应的信号组合;将非底层叶子节点对应的信号组合进行扩展;通过底层叶子节点和扩展后的非底层叶子节点对应的信号组合生成所述目标数字电路的全局真值表。
“通过所述多个叶子节点的信号组合生成所述目标数字电路的全局真值表”的内容将在图4对应的实施例中详细说明。
根据本申请的用于数字电路的全局真值表生成方法,通过获取目标数字电路的对应的一个或多个布尔函数;通过所述一个或多个布尔函数生成所述目标数字电路对应的全局表达式树;确定所述全局表达式树的根节点的目标值;基于所述目标值遍历所述全局表达式树;在遍历全局表达式树的过程中基于逻辑关系推算所述全局表达式树中多个叶子节点的信号组合;通过所述多个叶子节点的信号组合生成所述目标数字电路的全局真值表的方式,能够快速准确的获取数字电路的对应的多个布尔函数的全局真值表,从而加快数字电路中布尔函数的计算效率,提高仿真速度,节约系统资源。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请的原理不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
图3是根据另一示例性实施例示出的一种用于数字电路的全局真值表生成方法的流程图。图3所示的流程30是对图1所示的流程中S110“在遍历全局表达式树的过程中基于逻辑关系推算所述全局表达式树中多个叶子节点的信号组合”的详细描述。
如图3所示,在S302中,在遍历全局表达式树的过程中,获取根节点的数值。可假设根节点为0。
在S304中,根据所述根节点的数值和其对应的运算类型推算下层节点的信号组合。
基本逻辑门的真值表来源于IEEE Standard for
根据图4中逻辑门真值表,可是利用倒推的方式将输入的组合全部列出来,然后排列生成下层节点的信号组合。
对于目标输出是0,也就是根节点为0的真值表,在逻辑运算确定的情况下,它的输入组合是确定的,比如若与门的输出是0,则它的可能性有3种情况。可例如为:
0=0&0;
0=1&0;
0=0&1;
输入的组合就是一个输入的可能0,1,0,另一个输入的可能是0,0,1。或门也与之相似的方法进行倒退。
上文中是以根节点的输出值为1,0,输入值取值范围也为0,1这两种情况下的倒推信号组合。可以理解的是,本申请中的方法,也可以用于输入信号的取值范围为0,1,x,z四种的数字电路计算中。在输入信号的取值范围为0,1,x,z四种,倒推得到的组合的可能性更多。
在S306中,在逐一遍历下层节点的过程中,获取当前节点。
在S308中,在当前节点不为叶子节点时,逐一提取所述当前节点对应的信号组合中的数值。
在逐层遍历的过程中,将每次遇到的节点都作为新的“根节点”,可例如,当前节点的信号组合为“0,1,0”,则可先提取0作为当前计算的节点的目标输出值,倒推计算出下层节点的取值可能组合;然后再提取1作为当前计算的节点的目标输出值,倒推计算出下层节点的取值可能组合;最后提取0作为当前计算的节点的目标输出值,倒推计算出下层节点的取值可能组合。
在S310中,根据所述当前节点的数值和其对应的运算类型推算下层节点的信号组合。经过三次计算,获取下层节点的所有的可能性组合排列。计算结果可如图5所示。
根据要获取的值和此节点的运算类型便可以获得一组对应的输入组合,此输入组合便是它的子节点的输出值,依次向下遍历,直到叶子节点,所有的叶子节点的值便是此布尔函数的输入。
图6是根据另一示例性实施例示出的一种用于数字电路的全局真值表生成方法的流程图。图6所示的流程60是对图2所示的流程中S112“通过所述多个叶子节点的信号组合生成所述目标数字电路的全局真值表”的详细描述。
如图6所示,在S602中,提取所述全局表达式树中底层叶子节点对应的信号组合。如上文中的实施例,可提取叶子节点中所有的倒推出来的信号组合。具体信号组合如图5所示。
在S604中,将非底层叶子节点对应的信号组合进行扩展。可根据非底层叶子节点对应的层数逐一将非底层叶子节点对应的信号组合中的每个数值进行扩展。
为了生成后文中的全局真值表,可将所有的叶子节点的组合输补齐到相同的值,可例如,把上层的元素个数补的和最下层的个数相同,补的方式很简单,每个值重复3的offset次方即可,offset是层级的差。
在一个实施例中,如上文所示的布尔函数,此树每层它的输入的所有取值有3(n-1)次方个元素,第二层3个,第三层9个,第四层27个。除了第四层叶子节点之外,其余每层叶子节点中每个值重复3(n-1)次。
扩展之后的每个叶子节点的取值如图7所示。
在S606中,通过底层叶子节点和扩展后的非底层叶子节点对应的信号组合生成所述目标数字电路的全局真值表。通过底层叶子节点和扩展后的非底层叶子节点对应的信号组合生成索引值表;剔除所述索引值表中的重复序列以生成所述目标数字电路的全局真值表。
将图8得到的索引值表进行去重操作,即可得到对应于数字电路的全局真值表。
在一个实施例中,可获取多个输入信号的信号值;将所述多个输入信号输入到所述目标数字电路对应的端口;通过所述多个输入信号和所述全局真值表得到所述数字电路的仿真输出结果。在实际使用过程中,可通过全局真值表查找得到数字电路的仿真输出值。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本申请提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图8是根据一示例性实施例示出的一种用于数字电路的全局真值表生成装置的框图。如图8所示,用于数字电路的全局真值表生成装置80包括:函数模块802,表达式树模块804,目标值模块806,遍历模块808,推算模块810,真值表模块812。
函数模块802用于获取目标数字电路的对应的一个或多个布尔函数;
表达式树模块804用于通过所述一个或多个布尔函数生成所述目标数字电路对应的全局表达式树;表达式树模块804还用于解析所述一个或多个布尔函数生成一个或多个表达式树;将所述一个或多个表达式树进行关联以生成所述目标数字电路对应的所述全局表达式树。
目标值模块806用于确定所述全局表达式树的根节点的目标值;
遍历模块808用于基于所述目标值遍历所述全局表达式树;遍历模块808还用于将所述目标值作为所述全局表达式树的根节点对应的数值;通过宽度优先搜索算法遍历所述全局表达式树。
推算模块810用于在遍历全局表达式树的过程中基于逻辑关系推算所述全局表达式树中多个叶子节点的信号组合;推算模块810还用于在遍历全局表达式树的过程中,获取根节点的数值;根据所述根节点的数值和其对应的运算类型推算下层节点的信号组合;逐一遍历下层节点的信号组合直至生成底层叶子节点的信号组合为止。
真值表模块812用于通过所述多个叶子节点的信号组合生成所述目标数字电路的全局真值表。真值表模块812还用于提取所述全局表达式树中底层叶子节点对应的信号组合;将非底层叶子节点对应的信号组合进行扩展;通过底层叶子节点和扩展后的非底层叶子节点对应的信号组合生成所述目标数字电路的全局真值表。
根据本申请的用于数字电路的全局真值表生成装置,通过获取目标数字电路的对应的一个或多个布尔函数;通过所述一个或多个布尔函数生成所述目标数字电路对应的全局表达式树;确定所述全局表达式树的根节点的目标值;基于所述目标值遍历所述全局表达式树;在遍历全局表达式树的过程中基于逻辑关系推算所述全局表达式树中多个叶子节点的信号组合;通过所述多个叶子节点的信号组合生成所述目标数字电路的全局真值表的方式,能够快速准确的获取数字电路的对应的多个布尔函数的全局真值表,从而加快数字电路中布尔函数的计算效率,提高仿真速度,节约系统资源。
图9是根据一示例性实施例示出的一种电子设备的框图。
下面参照图9来描述根据本申请的这种实施方式的电子设备900。图9显示的电子设备900仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:至少一个处理单元910、至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930、显示单元940等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得所述处理单元910执行本说明书中描述的根据本申请各种示例性实施方式的步骤。例如,所述处理单元910可以执行如图1,图2,图6中所示的步骤。
所述存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(ROM)9203。
所述存储单元920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块9205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备900’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备900交互的设备通信,和/或该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器960可以通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图10所示,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本申请实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:获取目标数字电路的对应的一个或多个布尔函数;通过所述一个或多个布尔函数生成所述目标数字电路对应的全局表达式树;确定所述全局表达式树的根节点的目标值;基于所述目标值遍历所述全局表达式树;在遍历全局表达式树的过程中基于逻辑关系推算所述全局表达式树中多个叶子节点的信号组合;通过所述多个叶子节点的信号组合生成所述目标数字电路的全局真值表。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
- 一种铜合金带材表面处理工艺及铜合金带材表面处理设备
- 一种反应釜表面防腐处理设备
- 一种化工反应釜表面防腐处理设备