数字电路的自动设计设备、自动设计方法和自动设计程序的制作方法

文档序号:6557886阅读:394来源:国知局

专利名称::数字电路的自动设计设备、自动设计方法和自动设计程序的制作方法
技术领域
:本发明涉及数字电路的自动设计设备、自动设计方法和自动设计程序,用来自动设计满足预定的控制规范(specification)的控制设备。
背景技术
:随着集成电路的密度增加,在设计集成电路时集成电路的设计数据不断地被重复使用。在集成电路设计领域,可被重复使用的设计属性称为知识产权(IP)。在最近被使用的集成电路的系统级设计中,提出了一种方法,其中算术功能的设计例如是与通信接口的设计分开的,以便增加IP的可重复使用性和减小验证的负担。接口电路的设计是一种容易使得设计者出错的工作。这种设计需要考虑来自并行运行的其它模块的各种输入的操作时序的精确说明。即使在设计是足够细心地创建时,也不能完全避免在特定条件下的错误的操作。为此,通常,设计结果被小心地验证。验证的例子包括基于仿真的验证和形式验证。基于仿真的验证需要用于检查的输入(即,测试向量)。创建测试向量除了设计工作以外需要另外的努力。另外,基于仿真的验证需要很大的努力来检验仿真的结果。而且,为了详尽地验证甚至难得出现的情形,也需要大量的时间。属性检验是一种形式验证。属性检验是一种其中通过规定描述想要的电路操作的规范(属性)来自动检查设计结果是否满足属性的方法。属性检验消除对于测试向量的需要。另外,属性检验会详尽地验证甚至难得出现的情形。因此,近年来,属性检验受到注意。通常,属性以基于时间逻辑(temporallogic)的语言被书写(对用时间算子增强的布尔(Boolean)代数的逻辑语句进行处理的逻辑系统)。这样的语言的例子包括PSL和SystemVerrilogAssertion。在接口电路的验证中,例外地造成不正确的运算的缺陷会被发现,所以,属性检验是适当的。另外,由于在许多情形下接口电路采用总线标准和经常被使用的接口格式,因此可以应用预定的属性。结果,对于验证所需要的步骤的数目可被减小。然而,基于仿真的验证和属性检验只提供一种用于验证设计结果的方法。如果发现设计错误,则设计被纠正,并且再次实行验证。这个程序过程需要大量人力。因此,需要一种自动得到控制设备(接口电路)的模型的方法,如下面描述的控制系统的设计方法。具体地,在设计接口电路的许多的情形下,可以事先准备控制规范(属性)。因此,控制系统的自动设计可以很大地帮助实现验证。通常,数字设备可被建模为分立的事件系统。在分立事件系统中间,最简单的和广泛使用的系统是有限状态机(FSM)。许多类型的FSM是可得到的。例如,自动机、时序机(sequentialmachine)、和Kripke结构属于FSM。自动机被用作为语言理论中的语言模型。Kripke结构被用作为逻辑理论中的时间逻辑模型。时序机被用作为数字电路模型。用于生成控制设备的模型的基本技术之一在以下文章中描述SunilP.Khatri,AmitNarayan,SriramC.Krishnan,KennethL.McMillan,Robert.K.Brayton和A.Sangiovanni-Vincentelli,“EngineeringChangeinaNon-DeterministicFSMSetting”,Proceedingsofthe33rdannualconferenceonDesignautomation,pp.451-456,ISBN0-89791-779-0,1996(此后称为“非专利文献1”)。非专利文献1公开两个元素控制设备和控制目标。在包括其间具有预定关系的两个元素的控制系统中,控制设备模型M2是从控制系统的规范(控制规范)的模型M和控制目标模型M1生成的。在非专利文献1中,这些模型被看作为时序机的模型。另外,在上述属性检验的领域中,属性(控制规范)往往被表达为时间逻辑表达式。属性检验的原理是模型检验。在模型检验中,要被验证(测试)的目标的模型被表达为Kripke结构,并且确定这个Kripke结构模型是否为时间逻辑的公式,也就是,确定这个Kripke结构是否满足时间逻辑表达式。许多文献描述模型检验。例如,日本专利No.3600420描述了有效地执行模型检验的技术。另外,通常,时序机在顺序电路设计中被使用。当时序机被应用于模型检验时,应当清晰地规定在时序机与Kripke结构之间的关系。在时序机与Kripke结构之间的关系在以下文章中描述HiromiHIRAISHI和KiyoharuHAMAGUCHI,“FormalVerificationMethodsBasedonLogicFunctionManipulation”JournalofinformationProcessingSocietyofJapan,vo1.35No.8,August,1994(此后称为“非专利文献2”)。另外,E.M.Clarke,OrnaGrumberg和DoronPeled,“ModelChecking”,MITPress,ISBN0-262-03270-8,2000(此后称为“非专利文献3”)描述了一种用于从被称为线性时间逻辑(LTL)的时间逻辑或从被称为ACTL的时间逻辑来创建表格(tableau)的方法。在ACTL中,被称为计算树逻辑(CTL)的时间逻辑被限制为不使用E的算子(可能的),而是只使用A的算子(必需的)。如上所述,在非专利文献1中描述的技术描述了从控制系统的规范(控制规范)的模型M和控制目标模型M1来创建控制设备模型M2。这个技术建议,控制设备模型M2的自动设计是可能的。然而,非专利文献1既没有描述控制设备模型M2的自动设计的详细的程序过程也没有描述用于提供自动设计的设备的详细的功能性结构。而且,在非专利文献1中,控制规范模型M被看作为时序机模型。然而,通常,正如在模型检验中描述的那样,被规定为时间逻辑模型的控制系统的规范的模型M比起被规定为时序机模型的模型来说是更精确和更简单的。
发明内容因此,本发明的目的是提供一种用于包括被连接到控制目标的控制设备的数字控制系统的自动设计设备、自动设计方法和自动设计程序,用来当给定控制目标的规范和控制系统的控制规范时,自动设计满足预定的控制规范的控制设备。本发明的另一个目的是提供自动设计设备、自动设计方法和自动设计程序,用来即使在给定由时间逻辑表示的控制规范时,也能自动设计控制设备。按照本发明的一个方面,一种用于包括控制目标电路和控制设备电路的数字控制系统电路的自动设计设备在给定控制目标电路的模型和数字控制系统电路的规范模型的情形下自动设计控制设备电路的模型。该设备包括控制目标输入单元,被配置用来接收作为控制目标电路的模型并以预定的设计描述语言被编写的第一控制目标模型;控制目标模型生成单元,被配置用来从第一控制目标模型生成由有限状态机模型表示的第二控制目标模型;控制目标模型储存单元,被配置用来存储生成的第二控制目标模型;控制规范输入单元,被配置用来至少接收作为控制系统电路的规范模型和以预定的设计描述语言被编写的第一控制规范模型;控制规范模型生成单元,被配置用来从至少第一控制规范模型生成由有限状态机模型表示的第二控制规范模型;控制规范模型储存单元,被配置用来存储第二控制规范模型;模型组合单元,被配置用来通过计算被存储在控制目标模型储存单元中的第二控制目标模型与被存储在控制规范模型储存单元中的第二控制规范模型的逻辑“与”(AND)而生成作为控制设备电路的综合(synthesis)模型的控制设备综合模型;可控制的仿真关系计算单元,被配置用来从第二控制目标模型和第二控制规范模型计算表示施加到控制设备综合模型的约束条件的可控制的仿真关系;可控制的仿真关系储存单元,被配置用来存储计算的可控制的仿真关系;可控制性确定单元,被配置用来根据可控制的仿真关系确定控制设备综合模型是否为能够提供满足控制系统电路的规范的控制的模型;容许操作模型生成单元,被配置用来从控制设备综合模型和可控制的仿真关系生成作为通过减小控制设备综合模型的规模而得到的模型的容许操作模型;容许操作模型储存单元,被配置用来存储生成的容许操作模型;控制法则确定单元,被配置用来确定能够进一步减小容许操作模型的规模的控制法则;以及控制设备模型生成单元,被配置用来通过计算容许操作模型和控制法则的逻辑“与”而生成由有限状态机模型表示的控制设备模型。按照本发明的另一个方面,一种用于包括控制目标电路和控制设备电路的数字控制系统电路的自动设计方法在给定控制目标电路的模型和数字控制系统电路的规范模型的情形下自动设计控制设备电路的模型。该方法包括以下步骤接收作为控制目标电路的模型并以预定的设计描述语言被编写的第一控制目标模型;从第一控制目标模型生成由有限状态机模型表示的第二控制目标模型;至少接收作为控制系统电路的规范模型并以预定的设计描述语言被编写的第一控制规范模型;从至少第一控制规范模型生成由有限状态机模型表示的第二控制规范模型;通过计算第二控制目标模型和第二控制规范模型的逻辑“与”而生成作为控制设备电路的综合模型的控制设备综合模型;从第二控制目标模型和第二控制规范模型计算表示施加到控制设备综合模型的约束条件的可控制的仿真关系;根据可控制的仿真关系确定控制设备综合模型是否为能够提供满足控制系统电路的规范的控制的模型;从控制设备综合模型和可控制的仿真关系生成作为通过减小控制设备综合模型的规模而得到的模型的容许操作模型;确定能够进一步减小容许操作模型的规模的控制法则;以及通过计算容许操作模型和控制法则的逻辑“与”而生成由有限状态机模型表示的控制设备模型。按照本发明的再一个方面,一种用于包括控制目标电路和控制设备电路的数字控制系统电路的自动设计程序在给定控制目标电路的模型和数字控制系统电路的规范模型的情形下自动设计控制设备电路的模型。该程序包括用于使得计算机执行以下步骤的指令接收作为控制目标电路的模型并以预定的设计描述语言被编写的第一控制目标模型;从第一控制目标模型生成由有限状态机模型表示的第二控制目标模型;至少接收作为控制系统电路的规范模型并以预定的设计描述语言被编写的第一控制规范模型;从至少第一控制规范模型生成由有限状态机模型表示的第二控制规范模型;通过计算第二控制目标模型和第二控制规范模型的逻辑“与”而生成作为控制设备电路的综合模型的控制设备综合模型;从第二控制目标模型和第二控制规范模型计算表示施加到控制设备综合模型的约束条件的可控制的仿真关系;根据可控制的仿真关系确定控制设备综合模型是否为能够提供满足控制系统电路的规范的控制的模型;从控制设备综合模型和可控制的仿真关系生成作为通过减小控制设备综合模型的规模而得到的模型的容许操作模型;确定能够进一步减小容许操作模型的规模的控制法则;以及通过计算容许操作模型和控制法则的逻辑“与”而生成由有限状态机模型表示的控制设备模型。按照本发明,用于包括被连接到控制目标的控制设备的数字控制系统的自动设计设备、自动设计方法和自动设计程序当给定控制目标的规范和控制系统的控制规范时,自动设计满足预定的控制规范的控制设备。另外,即使在给定由时间逻辑表示的控制规范时,也能自动设计控制设备。图1是显示按照本发明的示例性实施例的、数字电路的自动设计方法和自动设计程序的流程图;图2显示按照本发明的第一实施例的、数字电路的自动设计设备的示例性结构;图3A和3B显示被使用于说明按照本发明的、数字电路的自动设计方法、自动设计程序和自动设计设备的控制系统的例子的整个结构;图4仅显示以Verilog语言编写的例子的信号名称的定义;图5A和5B显示以Verilog语言编写的例子的控制系统的控制规范模型;图6A和6B显示由时序机模型(转移关系和初始状态)表示的例子的控制系统的控制规范模型;图7显示由状态转移图表示的例子的控制系统的控制规范模型;图8显示通过仿真得到的例子的控制系统的控制规范模型的操作的时序图;图9A和9B显示以Verilog语言编写的例子的控制目标模型;图10A和10B显示以转移关系和初始状态的形式的例子的控制目标模型;图11显示例子的控制目标模型的状态转移图;图12A和12B是显示从非专利文献1引用的控制系统模型和控制规范模型的图;图13是显示例子的可控制的仿真关系的图;图14A和14B是显示例子的容许操作模型的图;图15是显示例子的控制设备的控制法则的图;图16A和16B是显示由转移关系和初始状态表示的例子的控制设备模型的图;图17是显示以Verilog语言编写的例子的控制设备模型的第一图;图18A和18B是显示以Verilog语言编写的例子的控制设备模型的第二图;图19是通过组合控制设备模型与例子的控制目标模型并通过仿真组合的模型而得到的信号的时序图;图20显示按照本发明的第二实施例的、数字电路的自动设计设备的示例性结构;图21显示按照第二实施例的、以基于时间逻辑的语言编写的控制规范模型;图22显示按照表格法则和状态变量扩展的基本子公式的分配;图23显示按照第二实施例的、以转移关系的形式的控制规范模型的具体例子;图24显示按照第二实施例的、控制规范模型的具体例子的初始状态;图25显示按照第二实施例的、以Kripke结构(状态转移图)的形式的例子的控制规范模型;图26显示以传统的表格(Kripke结构)的形式的控制规范模型的具体例子;图27是显示按照第二实施例的、以目标节点选择表格的形式的控制规范模型的具体例子的第一图;图28是显示按照第二实施例的、以目标节点选择表格的形式的控制规范模型的具体例子的第二图;图29是显示按照第二实施例的、以目标节点选择表格的形式的控制规范模型的具体例子的第三图;图30是表示图29所示的转移关系的真值表;图31是表示图29所示的转移关系的初始状态的表;图32是用于以传统的表格构造方法找出状态变量的技术的流程图;图33是用于以按照第二实施例的表格构造方法找出状态变量的技术的流程图;图34是用于以传统的表格构造方法找出转移关系R的流程图;图35是用于以按照第二实施例的表格构造方法找出转移关系R的流程图;图36显示通过组合控制规范模型和控制目标模型而得到的控制设备综合模型的转移关系;图37显示通过组合控制规范模型和控制目标模型而得到的控制设备综合模型的初始状态;图38显示按照第二实施例的具体例子的可控制的仿真关系;图39显示按照第二实施例的容许操作模型的具体例子的转移关系;图40显示按照第二实施例的容许操作模型的具体例子的初始状态;以及图41显示按照第二实施例的具体例子的控制法则。具体实施例方式现在参照附图描述按照本发明的示例性实施例的、数字电路的自动设计设备、自动设计方法和自动设计程序。1.第一示例性实施例图1是显示按照本发明的第一示例性实施例的、数字电路的自动设计方法的流程图。下面概略描述图1所示的步骤。此后,详细的说明是参考例子给出的。在控制规范输入步骤301,输入有关控制规范(第一控制规范模型)的数据。例如,这个数据是以设计描述语言(例如,Verilog,VHDL,SystemC,或SpecC)或以编程语言(例如C)编写的。正如这里使用的,以这些语言之一编写的规范也被称为可执行规范。用于编写可执行规范的语言也被称为可执行规范语言。可执行规范可以以计算机程序的显示被执行。可执行规范可被使用于仿真,或可被使用于在所实施的设备的控制系统中结合的处理器的程序。另外,可执行规范可以是以诸如PSL或SystemVerilogAssertion的语言编写的数据,表示基于时间逻辑或另外的逻辑表达式的属性。在控制规范模型生成步骤302,有关控制规范的输入数据被变换成由有限状态机(FSM)模型(即,控制规范模型M第二控制规范模型)表达的数据。在控制目标输入步骤303,输入表示控制目标模型(第一控制目标模型)的数据。也就是,这个数据表示要被控制的电路的细节。这个数据是以设计描述语言(例如,Verilog,VHDL,SystemC,或SpecC)编写的。在控制目标模型生成步骤304,这个数据被变换成由有限状态机(FSM)模型(即,控制目标模型M1第二控制目标模型)表达的数据。随后,在可控制的仿真关系计算步骤305,计算可控制的仿真关系。可控制的仿真关系是从被表达为FSM的控制目标模型M1和控制规范模型M进行计算的。基本上,可控制的仿真关系是根据在非专利文献1中描述的公式进行计算的。在可控制性确定步骤306,根据计算结果确定满足控制规范的控制是否可得到的。如果该控制是不可得到的,则在不可控制性通知步骤307,把该信息通知设计者并且处理过程结束。相反,如果该控制是可得到的,则在容许操作模型生成步骤308生成有关容许操作模型的数据。容许操作模型是通过把从可控制的仿真关系得到的约束条件施加到控制设备综合模型而生成的,控制设备综合模型是通过仅仅组合控制目标模型M1和控制规范模型M而生成的。随后,在控制法则确定步骤309,从容许操作模型确定控制法则。根据控制法则,生成控制设备模型。在设计数据生成步骤310,输出生成的控制设备。图2显示按照本实施例的、数字电路的自动设计设备的示例性结构。结构主要包括用于实行图1所示的步骤的处理过程的单元。控制规范输入单元404实行控制规范输入步骤301的操作。控制规范输入单元404接收有关控制规范模型的数据。这个数据例如是由设计者从被存储在计算机的储存单元的文件,通信网或计算机的输入单元被输入的。控制规范模型生成单元405实行控制规范模型生成步骤302的操作。控制规范模型生成单元405把有关控制规范的输入数据变换成表示FSM的数据,并且把数据存储在控制规范模型储存单元406。控制目标输入单元401实行控制目标输入步骤303的操作。控制目标输入单元401接收表示以诸如Verilog的设计描述语言编写的控制目标模型的数据。这个数据例如是由设计者从被存储在计算机的储存单元的文件,通信网或计算机的输入单元被输入的。控制目标模型生成单元402实行控制目标模型生成步骤304的操作。控制目标模型生成单元402把输入目标模型变换成FSM,并且把FSM存储在控制目标模型储存单元403。可控制的仿真关系计算单元407实行可控制的仿真关系计算步骤305的操作。可控制的仿真关系计算单元407通过使用被存储在控制目标模型储存单元403中的控制目标模型和被存储在控制规范模型储存单元406中的控制规范模型计算可控制的仿真关系。可控制的仿真关系计算单元407然后把最终得到的可控制的仿真关系存储在可控制的仿真关系储存单元408。在可控制性确定步骤306的确定是由可控制性确定可控制性确定单元420作出的。如果控制是不可能的,则可控制性确定单元420输出该信息到设计数据输出单元413,并且处理过程结束。模型组合装置仅仅组合被存储在控制规范模型储存单元406中的控制规范模型M和被存储在控制目标模型储存单元403中的控制目标模型M1,以便生成控制设备综合模型。容许操作模型生成单元409实行容许操作模型生成步骤308的操作。容许操作模型生成单元409把从可控制的仿真关系得到的约束条件施加到控制设备综合模型,以便生成容许操作模型。容许操作模型生成单元409然后把容许操作模型存储在容许操作模型储存单元410。控制法则确定单元411实行控制法则确定步骤309。控制法则确定单元411从容许操作模型确定控制法则,并且把确定的法则输出到控制设备模型生成单元412。通过把控制法则应用到容许操作模型,控制设备模型生成单元412生成以FSM的形式表达的控制设备模型。随后,控制设备模型生成单元412把控制设备模型变换成以诸如Verilog的预定的设计描述语言编写的控制设备模型。设计数据输出单元413实行设计数据输出步骤310的操作。也就是,设计数据输出单元413输出由控制设备模型生成单元412生成和变换的控制设备模型。这个输出作为文件被存储在计算机的储存单元,被传递到通信网络,或经由计算机的输出单元被直接传递到设计者,以使得控制设备模型可被实施为数字设备。例如,模型可以通过逻辑综合工具被实施成数字电路。替换地,通过提供程序到计算机,可以从计算机得到想要的操作。2.说明性例子现在通过说明性例子在这里详细地描述上述的数字电路的自动设计方法。图3A和3B显示这个例子的控制系统的整体结构。图3A显示以Verilog语言编写的这个例子的控制系统的整体结构,以及图3B显示控制系统的互连的图。在图3A上,在第1行上写的“control_system”指示表示整个控制系统的模块。以在“control_system”中写的“plant”为标签的模块是控制目标。以“controller”为标签的模块是控制设备。时钟信号clk、复位信号rst和外来信号v从外部输入到控制系统。信号的互连被连接到控制目标和控制设备,如图3B所示。名称“p”被规定为模块“plant”的实例,以及名称“c”被规定为模块“controller”的实例(见图3A的第7和8行)。正如这里使用的,“p”和“c”分别是指“控制目标”和“控制设备”。正如从上述的结构可以看到的,时钟信号clk,复位信号rst,外来信号v,控制输出信号y和控制输入信号u被连接到控制设备,图4显示以Verilog语言编写的这些连接。这里,这个表示是仅仅规定被连接到控制设备的信号的名称的模块,而不是有关在控制设备里面存在的触发器的说明和有关触发器的操作的说明。在图4上,第7行包括语句“/*notimplemented*/”。通过用需要的说明代替这一行,得到控制设备模型。也就是,本实施例的目的是用有关触发器的详细说明和有关触发器的操作的说明来替代这一行。首先,输入控制系统的控制规范(图1所示的步骤301)。图5A显示按照这个说明性例子的控制系统的控制规范。在本实施例中,作为控制目标的电路模块以Verilog语言被编写。现今,许多设计者表示使用设计语言(例如,Verilog或VHDL)的详细设计。通常,说明的抽象级别是寄存器转移级别(RTL)。为了使用RTL说明来设计电路,采用逻辑综合工具。逻辑综合工具接收以RTL说明编写的设计数据,并且把设计数据变换成更详细的电路模型。RTL说明被建模为时序机。触发器的数值相应于时序机的状态。数值的改变相应于状态转移。在同步的顺序电路中,状态转移与时钟同步地发生。即使在使用SystemC或SpecC来创建高于RTL的抽象级别的设计时,也能在CAD处理过程期间得到FSM模型。在图5A上,在结尾行内的语句以Verilog语言被编写。在左面的数字是行号,用于说明。这个模块具有时钟信号clk,异步复位输入rst,外来信号输入v,和输出y(见第1到4行)。这些输入和输出是1比特信号线。另外,模块包括两个触发器x0和x1(见第6行)。这些触发器的数值在复位时变为零(见第10和16行以及它们的邻行)。触发器x0在时钟的上升沿接收信号v的数值,保持这个数值,和输出这个数值(见第12行和它的邻行)。同样地,触发器x1在时钟的上升沿接收来自触发器x0的输出值,保持这个数值,和输出这个数值(见第18行和它的邻行)。输出信号y输出触发器x0的输出与触发器x1的输出的逻辑“与”(见第20行)。根据以Verilog语言编写的说明,可以通过使用逻辑综合工具等生成实际的数字电路。图5B显示从逻辑综合工具输出的电路的例子。触发器x0和x1被生成为D触发器。时钟输入的信号线clk被连接到这些D触发器。D触发器由时钟输入的负边缘触发。复位输入的信号线rst被连接到这两个D触发器的复位输入端CLR。这些触发器的输出端被连接到二输入与门。这个与门的输出用作为模块的输出信号y。随后,控制规范模型生成单元405从输入数据(即,以Verilog语言编写的数据)生成表示时序机的数据,如图6A和6B所示(图1所示的步骤302)。控制规范模型生成单元405然后把生成的数据存储在控制规范模型储存单元406。这个操作是熟知的,它以诸如逻辑综合工具和属性检验工具那样的广泛使用的程序来执行。图6A显示以转移表的形式的、表示在输入和输出与控制目标的状态之间的关系的数据。图6B显示初始状态组。在图6A上,为了区分转移之前的状态(即,当前的状态)和转移之后的状态(即,下一状态),表示下一状态的变量用同一个标号后面加一个撇号(’)来标识(例如x0’和x1’)。现在描述这个表。在图5B所示的电路中,如果例如x0的状态(即,x0的输出)是“1”,和x1的状态(即,x1的输出)是“0”,以及如果输入v是“1”,则输出y是“0”。假设在这种状态下,由于时钟的正的边缘发生状态转移。然后,在转移后x0是“1”和x1是“1”。当输入和输出信号,当前状态,和下一状态按v,y,x1,x0,x1’和x0’的次序被排成一行时,生成数值100111。这个数值相应于图6A所示的表的第4行。其它数值的所有的组合的数目是8。图6A显示包含这些组合的表。因此,可以得到转移关系。图6B显示表示紧接在复位后这个电路的状态(即,初始状态)的表。两个触发器通过复位变为零。所以,初始状态只取一个状态,其中x0是“0”和x1是“0”。通常,时序机的初始状态不总是1。因此,初始状态被表达为初始状态组。图7显示包括与图6A和6B相同的信息的状态转移图。当x1和x0以2比特表示时,可得到四种状态“00”,“01”,“10”,和“11”。这些状态由被指示为圆圈的节点表示。在状态之间的箭头指示状态转移。箭头被加以标签,例如1/0或0/0。在这种标签中,输入值出现在“/”的左面以及输出值出现在“/”的右面。具有双圆圈的节点指示初始状态(在本例中的“00”)。正如从上述的说明可以看到的,同一个状态以下面不同的形式表示图5A所示的、以设计说明语言编写的电路表示,图5B所示的电路图,图6A和6B所示的、表明时序机的初始状态和转移关系的组的数据表示,和图7所示的状态转移图。这些形式等价地表示顺序电路的操作以及可以互相改变。作为参考,图8显示图5A和5B所示的电路模型的仿真结果。“clk”表示周期性时钟输入。在仿真的初始阶段只有一个脉冲提供到“rst”,这样,在电路内的触发器被复位以及x0和x1具有零的数值。输入“v”与时钟同步地被输入。“v”的数值在时钟的负边缘之前改变好,以保证触发器的建立时间。“x0”和“x1”是相应的触发器的输出。“y”是模块的输出。由“v”的被延时一个时钟周期的波形出现在x0中,以及由x0的被延时一个时钟周期的波形出现在x1中。另外,仅仅在x0和x1都是“1”时,“y”才变为“1”。至此,控制系统的、以Verilog语言编写的控制规范(见图5A)被变换成作为时序机的模型表示的控制规范模型(见图6A和6B)(如图301和302所示的步骤)。随后,如图1所示,在步骤303输入控制目标模型。图9A显示按照本实施例的控制目标模型。在本例中,作为控制目标的电路模块也以Verilog语言被编写。这个电路模块具有时钟输入clk,复位输入rst,控制输入u和控制输出y,每个信号是1比特信号线(见图9A的第1到4行)。电路模块包含一个触发器(见第5行),它保持电路模块的状态。“s”表示状态数值。复位输入rst的输入把数值s改变到“0”(见第10行和它的邻行)。另外,clk的正的边缘改变状态s(见第8行)。这时,当前状态s和控制输入u的异或值(exclusiveOR)变为下一状态值s’(见第12行)。应当指出,算符“^”是指异或运算。图9B是通过使用逻辑综合工具从图9A所示的并以Verilog语言编写的模型生成的电路的电路图。这里,电路包括一个具有使能输入端ENA的D触发器。控制目标输入单元401例如接收在被存储在计算机的储存单元的文件中的数据(见图9A)。此后,控制目标模型生成单元402从输入数据生成表示如图10A和10B所示的时序机模型的数据。控制目标模型生成单元402然后把所生成的数据存储在控制目标模型储存单元403。这个操作是熟知的,以及以诸如逻辑综合工具和属性检验工具那样的广泛使用的程序被执行。图10A显示表示以转移表的形式的、在输入和输出与控制目标的状态之间的关系的数据。图10B显示初始状态组。为了存储如图10A和10B所示的、包括“0”和“1”的表,使用被称为二进制判决图(BDD)的广泛使用的技术是期望的。在许多情形下,通过使用BDD,使用“0”和“1”的布尔值的关系可以以小的存储器使用而被存储。另外,BDD有利地提供对于本实施例所需要的高速操作。然而,BDD不是总是必须的。可以使用可以存储包括布尔值的表的任何装置。例如,该关系可以作为数组以表格的形式被存储。替换地,该关系可以作为布尔代数的公式以字符串或其它数据格式被存储。分离的正规形式和接合的正规形式被称为布尔代数的正规形式。然而,可以使用任何其它形式。如上所述,表示时序机模型的转移表和表示初始状态组的表也可以表示为如图11所示状态转移图。因此,可以存储状态转移图的另一个数据格式可被使用来存储关系。例如,表示状态和标签的数据可被表达为记录(C语言中的“Structure”),以及作为状态转移的目标的记录可以由指针变量指出。随后,如图1所示,在步骤305,计算可控制的仿真关系。正如这里使用的那样,可控制的仿真关系具有在非专利文献1中规定的Hmax的公式。可控制的仿真关系计算单元407从被存储在控制规范模型储存单元406中的控制规范模型和被存储在控制目标模型储存单元403中的控制目标模型计算可控制的仿真关系Hmax。图12A和12B是从非专利文献1引用的图。图12A显示要被设计的控制系统。在图12A上,M1表示控制目标的FSM,以及M2表示控制设备的FSM。v表示在控制系统外面生成的外来输入信号,y表示从控制目标发送的控制输出,以及u表示被输入到控制目标的控制输入。v,y和u分别相应于图3所示的v,y和u。图12B显示控制规范。控制规范的模型是由标号“M”指示的FSM。在非专利文献1中,目标是从包括如图12A所示的、互相连接的M1和M2的控制系统生成M2,以使得M2具有与控制规范M仿真关系。应当指出,在非专利文献1中的FSM都是时序机。参照非专利文献1,可控制的仿真关系Hmax被表达为如下(s1,s)∈Hmax⇔{∀v∃u∀y∀s1′[(s1→u/yM1s1′)⇒∃s′[(s→v/yMs′)^(s1′,s′)∈Hmax]]}···(1)]]>其中s1→u/yM1s1′···(2)]]>其表明转移关系,这样,M1可以通过输入u和输出y进行从状态s1到状态s1’的转移,以及s→v/yMs′···(3)]]>其表明转移关系,这样,M可以通过输入v和输出y进行从状态s到状态s’的转移。正如从这个定义可以看到的,Hmax表示在M1的状态与M的状态之间的关系。虽然在非专利文献1中没有给Hmax指定一个名称,但如上所述,Hmax在本实施例中称为“可控制的仿真关系”。通过使用可控制的仿真关系可以确定控制是否是可得到的。令r1是M1的初始状态以及令r是M的初始状态。如果组(r1,r)被包括在可控制的仿真关系中,则满足控制规范的控制是可得到的。相反,如果组(r1,r)没有被包括在可控制的仿真关系中,则控制系统的操作可以不同于由控制规范规定的操作,而不管哪些FSM被应用到控制设备。可控制的仿真关系计算单元407按照公式(1)从被存储在控制规范模型储存单元406中的控制规范模型和被存储在控制目标模型储存单元403中的控制目标模型计算Hmax。在这个公式中,M相应于控制规范模型和M1相应于控制目标模型。可控制的仿真关系Hmax表示在控制目标模型的状态与控制规范模型的状态之间的关系。计算的可控制的仿真关系被存储在可控制的仿真关系储存单元408。如图13所示的表显示本例的可控制的仿真关系。控制目标模型的状态由取“0”或“1”的数值的变量s表示。而控制规范模型的状态由变量x0和x1表示,每个变量取“0”或“1”的数值。因此,控制规范模型的状态具有四个状态。图13显示满足可控制的仿真关系的状态的所有的组合(即,变量s,x0和x1的数值)。随后,容许操作模型生成单元409从被存储在可控制的仿真关系储存单元408中的可控制的仿真关系Hmax、控制规范模型M、和控制目标模型M1生成容许操作模型Mc(图1所示的步骤308)。容许操作模型Mc被称为“最大控制器”。容许操作模型Mc包括控制设备的FSM模型M2。容许操作模型是FSM。容许操作模型的转移关系可以通过计算以下的公式(4)(这个公式也是在非专利文献1中规定的)而得到((s1,s)→(v,y)/uMc(s1′,s′))⇔[((s1→u/yM1s1′)^(s→v/yMs′)),and(s1′,s′)∈Hmax]]]>…(4)这里,M1相应于控制目标模型,M相应于控制规范模型,以及Mc相应于容许操作模型。因此,容许操作模型的初始状态由非专利文献1如下地提供rc=(r1,r)…(5)换句话说,容许操作模型的初始状态等于控制目标模型的初始状态r1和控制规范模型的初始状态r的对。如果这个初始状态不被包括在可控制的仿真关系中,则不能提供满足控制规范的控制系统。因此,自动设计系统把该信息通知设计者,以及自动设计系统的操作结束。这个决定是在图1所示的可控制性确定步骤(步骤306)作出的。在非可控制性通知步骤(步骤307),把非可控制性通知设计者。如果这个初始状态被包括在可控制的仿真关系中,则得到的容许操作模型被存储在容许操作模型储存单元410。在公式(4)中容许操作模型Mc的定义类似于控制目标模型M1与控制规范模型M的综合。像M1与M的综合一样,Mc的状态以M1的状态和M的状态的对来表示。然而,Mc的状态与通常的综合不同之处在于,在转移关系的定义中,可允许的转移的目的地节点的状态应当被包括在可控制的仿真关系Hmax中。换句话说,可以说,容许操作模型Mc是通过把可控制的仿真关系Hmax的约束条件施加到其中控制目标模型M1与控制规范模型M相组合的综合模型上(即,控制设备综合模型)而生成的模型,图14A和14B显示本例的容许操作模型Mc,其中图14A显示转移关系以及图14B显示初始状态组。图14A所示的转移关系是通过把控制目标模型M1的转移关系(见图6A)与控制规范模型M(见图10A)相组合以及随后通过提取满足由可控制的仿真关系Hmax提供的下一状态(见图13)(即,(s,x0,x1)=(0,0,0),(0,0,1),(0,1,0),和(1,1,1))的数据组而得到的。图14B所示的初始状态是控制目标模型M1(见图6B)和控制规范模型M(见图10B)的初始状态的对。本实施例的目标是得到满足控制规范模型M的控制设备模型M2。非专利文献1表明用于得到满足控制规范模型M的控制设备模型M2的充分必要条件在于,控制设备模型M2仿真容许操作模型Mc。这仅仅意味着,“M2=Mc”是允许的(即,容许操作模型Me可被看作为控制设备模型M2)。另外,这意味着,有减小控制设备模型M2的操作范围的可能性,只要设备模型M2仿真容许操作模型Mc。也就是,有从容许操作模型Mc的规模进一步减小控制设备模型M2的规模的可能性。随后,控制法则确定单元411从被存储在容许操作模型储存单元410中的容许操作模型Mc确定控制法则。控制法则表明用于从控制设备的状态生成控制输入u的方法。控制法则可被表达为用来从控制设备的状态计算u的函数。现在描述用于生成控制法则的方法。根据如图14A所示的容许操作模型Mc的转移关系表,表示下一状态的、用于变量S’,x0’和x1’的项首先被删除。另外,由于控制输入u不直接依赖于控制输出y(然而,依赖于控制目标的状态s),用于y的项也被删除。结果,可以得到表明控制设备的控制法则的、图15所示的表。不包括控制输入u和外来信号v的、在图15所示的表中剩余的变量(即,s,x0和x1)用作为控制设备的状态变量。也就是,在控制设备内的触发器最后从状态变量被生成。这里,在这个表中未出现的、控制设备的状态是在控制系统的操作期间未出现的状态。因此,当生成用于生成控制输入的组合的电路时,这些状态可被忽略。另外,当多个控制输入值u相应于控制设备的特定的状态时,可以使用这些数值的任一个数值。通过使用这个属性,控制法则的表(相应于图15)可被减小。然而,在本例中,如图15所示,控制输入值u具有与v,s,x0和x1的组合的一对一的对应关系。所以,在本例中,控制法则不能通过使用这个特性而减小。随后,控制设备模型生成单元412生成控制设备模型M2。控制设备模型M2涉及通过使用由控制法则确定单元411确定的控制法则限制容许操作模型Mc的操作而得到的模型。更具体地,容许操作模型Mc的转移关系(见图14A)和控制法则(见图15)的逻辑“与”被定义为控制设备模型M2的转移关系。另外,容许操作模型Mc的初始状态(或初始状态的组)(见图14B)和可控制的仿真关系Hmax(见图13)的逻辑“与”(或交集)被定义为控制设备模型M2的初始状态(或初始状态组)。应当指出,作为控制目标的输出的控制输出y和外来信号v用作到控制设备的输入,而作为加到控制目标的输入的控制输入信号u用作为来自控制设备的输出。由控制设备模型生成单元412使用上述的技术确定的、本例的控制设备模型M2被显示于图16A和16B。在本例中,当确定控制法则时,多个控制输入u不相应于同一个状态,如上所述。结果,控制设备模型M2(见图16A和16B)等同于容许操作模型Mc(见图14A和14B)。通常,当控制法则被固定为可得到的控制输入信号u的适当的数值时,仅仅由控制输入信号u的其它数值引起的状态转移从控制设备模型被去除。因此,可以生成其规模小于容许操作模型Mc的规模的控制设备模型M2。由于这样的控制设备模型M2是被表示为有限状态机的模型(图16A和16B所示的转移关系和初始状态),因此,控制设备模型生成单元412还把这个模型变换成以诸如Verilog语言的设计描述语言编写的模型。设计输出数据单元413输出以设计描述语言编写的控制设备模型M2作为控制设备电路的设计数据。在本例中,如图17所示,可以得到以Verilog语言编写的输出。在图17上,第27到35行描述确定对于控制输入信号u的输出的部分。这个部分是从如图15描述的控制法则生成的。在图17和图15之间的比较结果清楚地说明在该部分与控制法则之间的对应的关系。通过把使用上述技术得到的控制设备的设计数据(即,以Verilog语言编写的数据)输入到逻辑综合工具,可以生成数字电路。转回到控制法则确定单元411,控制法则确定单元411确定从V,s,x0和x1找到u的函数。这样的函数从代数的观点来看相应于布尔公式,以及从电路观点来看相应于组合电路,而不是需要触发器的顺序电路。为了简化布尔代数(即,为了简化组合电路),已经知道各种方法。例如,许多逻辑电路设计教科书描述了通过使用Karnaugh映射得到简单的电路的方法。为了系统地简化电路,Quine-MxClusky方法可以提供帮助。提出了可应用于大规模电路的某些方法。例如,ESPRESSO是熟知的。这样的简化手段被包括在市面上可买到的逻辑综合工具中。因此,电路可被自动地简化而不用用户干预。通常,这些手段被使用来减小电路中门电路和晶体管的数目。控制法则确定单元411可以采用这样的简化方法。假设,例如,使用把简化方法应用到如图15所示的控制法则可以得到以下的公式(6)。使用这个公式从(v,s,x0和x1)计算而得到的u数值是与图15的数值不矛盾的,所以,这个公式可被用作为控制法则u=(vx0)s…(6)其中表示异或。这个公式表明只需要三个变量来生成u。由于其中的一个变量“v”表示外来信号,因此只需要x0和s作为状态变量。因此,如果公式(6)被用作为控制法则,则可以取消x1的定义和更新x1的数值的计算。控制设备的最终得到的设计数据被显示于图18A和18B。图18A显示以Verilog语言编写的说明,而图18B显示通过逻辑-综合图18A所示的说明而得到的电路的电路图。图17所示的设计数据包括三个触发器(三个状态变量s,x0和x1),而图18A所示的设计数据只包括两个触发器(两个状态变量s和x0)。也就是,通过把简化手段应用到控制法则确定单元411,触发器的数目被减小。虽然简化手段被提供来简化组合电路以及通常不减少触发器的数目,但当简化手段被应用到控制法则确定单元411时,可以减少触发器的数目。图19显示通过综合图18所示的数据(以Verilog语言编写的、控制设备的设计数据)与图9所示的数据(以Verilog语言编写的、控制目标的设计数据)并且仿真所综合的数据而得到的信号的波形。图19与图8之间的比较结果(控制规范的仿真结果)表明控制系统如控制规范中规定的那样工作。简化这里描述的电路的目标仅仅是控制设备。如果控制设备是硬IP或从包含例如电动机的机械控制目标被建模的FSM,则结构不能改变。因此,电路仅仅对于控制设备被简化。然而,如果控制目标是软IP以及将是逻辑综合的,则控制设备和控制目标都可被简化。如果整个控制系统是简化的目标,则可以预期进一步的性能改进,诸如电路规模的减小和操作的速度提升。在本例中,由于图5A和5B所示的控制规范是简单的以及对于逻辑综合是可得到的,因此,读者很难理解为什么需要整个系统的简化。然而,通常,本发明可应用于其中控制规范不具有不能被逻辑综合的格式的情形或其中控制规范不是像图5A和5B所示的控制规范一样简单的情形。因此,整个系统的简化具有好处。另外,在本例中,外来信号v,控制输出信号y和控制输入信号u都是1比特信号。然而,本发明即使在这些信号是多比特信号时也可以如上述的例子一样是可应用的。在本例中采用1比特信号的原因是减小附图的尺寸。按照第一实施例,数字电路的自动设计设备、自动设计方法和自动设计程序使得在非专利文献1中描述的控制设备的生成方法成形。另外,通过简化控制法则来生成控制输入信号u,控制设备的规模可被减小。3.第二示例性实施例图20显示按照本发明的第二示例性实施例的、数字电路的自动设计设备的框图。第二实施例与第一实施例的不同点在于以下两个方面输入控制规范的格式和格式的变换方法。在第一实施例中,顺序电路的规范(见图5A)作为控制规范被输入,并且被变换成控制规范模型M(见图6A和6B)。相反,在第二实施例中,以时间逻辑编写的控制规范被输入,并且被变换成控制规范模型M。图20所示的控制规范(时间逻辑)输入单元415还接收以时间逻辑中编写的控制规范。控制规范模型生成单元416包括表格生成单元(目的地节点选择表格生成单元)424,它把以时间逻辑编写的控制规范变换成由有限状态机表示的控制规范模型。也就是,可以说,图20所示的结构是通过把图2所示的结构专门化而生成的。然而,按照第二示例性实施例的自动设计设备的特征在于,控制规范(时间逻辑)输入单元415可以接受基于时间逻辑的控制规范以及控制规范模型生成单元416可以从使用时间逻辑表达的属性(控制规范)生成具有适用于本发明的属性的控制规范模型M。现在参照图20描述这两个特性。第二示例性实施例也是参照具体的例子被描述的。例子包括类似于第一示例性实施例的控制系统和控制目标。也就是,控制系统的结构是在图3A和3B上显示的,以及控制目标是在图9A和9B上显示的。控制规范被显示于图21。这个控制规范是以被称为PSL的语言编写的。图21的左面的数值是行号,它与控制规范无关。如上所述,PSL是基于时间逻辑的属性描述语言。图21的第1行表明这个控制规范相应于模块“control_system”。正如相对于图3A和3B描述的那样,“control_system”表示整个控制系统。图21的第2行表明“elk”是这个模块的时钟以及模块由时钟“elk”的正的边缘激励。信号应当满足的条件由图21的第3行表明。这个条件可通过使用时间逻辑公式被表达为如下G(vXXy)…(7)公式(7)表明在任何时间点,真值v在第二个下一时钟等于y的真值的情况。正如这里使用的,术语“任何时间点”是指由时钟分开的每个时间步长。在时间逻辑中,符号“X”表示下一时间点,而符号“G”表示“任何时间点”。控制规范(时间逻辑)输入单元415接收这样的控制规范,把它传递到控制规范模型生成单元416。控制规范模型生成单元416把以时间逻辑编写的控制规范用以下方式变换成被表达为有限状态机(FSM)的控制规范。在开始说明以前,为了说明方便起见,首先以与已知的技术相同的方式创建表格。正如这里使用的,术语“表格构造”是指从时间逻辑公式生成FSM。所生成的FSM被称为“表格”。表格构造例如是在非专利文献3中描述的。通过使用例如在非专利文献3中所示的表格法则,公式7可被扩展为基本子公式。由于扩展的结果,公式7可被扩展成包括五个基本子公式v,y,Xy,XXy和XG(vXXy)的表达式。从时间算子x开始的基本子公式被称为下一时间子公式。如图22所示,五个当前的状态变量v,y,x0,x1和tg被分配给五个基本公式。另外,v’,y’,x0’,x1’和tg’被分配给相应的下一状态变量。图20所示的基于表格法则的扩展单元422根据表格法则把时间逻辑公式扩展成基本子公式,以及把当前的状态变量和下一状态变量分配给基本子公式(即,从时间逻辑公式生成图22所示的表)。在这些基本子公式中间,三个下一时间子公式具有符号“X”。这些子公式满足以下的转移关系Xyy′i.e.,x1y′…(8)XXyXy′i.e.,x0x1′…(9)XG(vXXy)XG(v′XXy′)(v′XXy′)i.e.,tgtg′(v′XXy’)…(10)当这些转移关系通过使用逻辑“与”被整合时,给出以下公式(x1y′)(x0x1′)(tgtg′(v′XXy′))…(11)图23概述了使得公式(11)成为正确的当前的状态变量与下一状态变量的组合。正如从公式(11)可以看到的,当前的状态变量v和y不涉及到转移关系。所以,当前的状态变量从图23上被消除。图23显示表格的转移关系。表格的初始状态被表达为以下公式tg(vXXy)…(12)图24显示表格的初始状态组。图24概述了使得公式(12)成为正确的状态变量组。应当指出,正如从公式(12)或图24可以看到的,在每个初始状态,tg的数值是1(真)。还应当指出,正如从公式(12)或图23可以看到的,作为从具有1(真)的数值的从当前状态的转移的目的地节点的下一状态总是具有1(真)的数值的tg’。也就是,tg总是1。从这个观点看来,tg是冗余的。通常,当表示在时间逻辑中以“G”或“AG”开始的属性(这个属性相应于在PSL中的关键字“always”)时,出现这样的冗余状态变量。这种属性是经常使用的。因此,通过把这样的变量看作为1以及是可忽略的,当存储如图23所示的数据时,数据量可以减小。然而,为了呈现正常的情形,在本例中不实行这样的特定的处理。所以,即使在tg=0时,在图23上也出现tg。图25显示表示图23所示的表格的转移关系和图24所示的初始状态组的状态转移图。在图25上,为了简化起见,消除其中tg=0(错误)的状态。在图25上,由圆圈表明的节点指示状态,在节点之间的箭头指示转移关系。在节点中的数字串指示状态变量的数值。布尔数值的五个数位从左面开始表示tg,tx0,tx1,v和y。由双圆圈指示的节点指示被包括在初始状态转移组中的状态(即,可以是初始状态的状态)。表示图23和24所示的转移关系以及图25所示的状态转移图的真值表和初始状态都是被表示为Kripke结构的表格。随后,表格被变换成时序机的格式。从表面看来,Kripke结构与时序机之间的差别表现为状态转移图是否具有转移标签。也就是,时序机表示转移通过使用转移标签的输入和输出数值而被实现,而Kripke结构没有输入和输出的概念以及没有转移标签。概略地说,为了把Kripke结构变换成时序机,首先生成Kripke结构的状态转移图。随后,相应于输入和输出数值的转移标签被加到状态转移的箭头上。在最经常使用的方法中,表示“输入/输出”的转移标签被加到状态转移的箭头上。在本例中,当前的状态“v/y”作为标签被加上。这个方法被应用于图25。结果被显示于图26。由于v是外来输入信号以及y是控制输出,因此状态转移具有这样的标签,该标签具有格式“v/y”,即“输入/输出”。如上所述,图25所示的状态由5-数位的数表示,以及这些数位从左面开始相应于tg,tx0,tx1,v和y。因此,表示状态的5-数位的数的最后2个数位直接相应于状态的转移标签。然而,即使在本发明被应用到图26所示的控制规范模型时,仍不可以得到想要的结果。也就是,即使在与提供正确的结果的第一实施例的方法相同的方法被应用于图26所示的控制规范模型时,也不能得到满足图21所示的给定的控制规范的控制系统。原因为如下。如图26所示,从状态“10010”开始的所有的可得到的转移具有标签“1/0”。从状态“10011”开始的所有的可得到的转移具有标签“1/1”。也就是,对于从某个状态开始的转移,取决于状态,输入和输出被确定为某个特定的值。这是自然的,因为对于从Kripke结构到时序机的变换,变换方法按照上述的方法(转移标签附着方法)被确定。然而,按照本发明,控制规范模型对于控制系统的操作的关系不是由语言包括关系被规定的,而是由基于非专利文献1的仿真关系被规定的。因此,得到的控制设备的不同的操作是取决于状态和状态转移如何被规定的。对于使用上述的方法从Kripke结构变换的状态机,确定状态和状态转移的技术不适合作为控制规范模型。结果,可控制的仿真关系的计算受到影响。可控制的仿真关系相应于公式(1)中的Hmax。另外,控制规范模型相应于公式(1)中的M。公式(1)包括相对于外来信号v的通用限定。如果控制规范模型是使用上述的方法从Kripke结构生成的,则当发生从给定状态的转移时,取决于状态,外来信号v的数值被确定为特定的数值。因此,如果对于表示控制规范模型的转移关系的公式(3),实行通用限定器计算v,则数值被确定为错误的。这个性质影响公式(1)的计算。如果控制规范模型是通过使用上述的方法生成的,则当实行通用限定器计算时,发生与原先的内涵不同的操作。结果,出现非预期的结果。从另一个观点看来,这是因为图26所示的时序机是非确定性的。所以,通过在把图26所示的时序机变换成确定性时序机后计算可控制的仿真关系,这个问题可被解决。然而,通常,对于变换非确定性时序机为确定性时序机需要大量计算时间和大量存储器容量。另外,当把非确定性模型变换成确定性模型时,需要另外的状态变量来编码确定性模型的状态。所以,这个技术不适用于具有BDD的实施法案。按照本发明,采用仿真关系来限定控制系统的操作与控制规范模型之间的关系的一个主要的原因是减小对于使用语言包括关系的方法所需要的大量的计算时间和所需要的存储器容量。如果模型被变换成确定性模型,则本发明的优点被恶化。因此,希望避免这种变换。如上所述,在把Kripke结构变换成时序机的情形下,如果时序机被生成以使得要加到从给定状态的状态转移的转移标签等于被包含在该状态中的基本命题(proposition)变量(输入v,输出y)的数值,则出现非预期的结果。在本实施例中,采用表格构造方法来解决上述的问题。现在描述这种表格构造方法。在开始说明之前,在图27上显示当把这种方法应用到图25时这种方法的结果。在图27上,在把Kripke结构变换成时序机的情形下,转移标签被加到状态转移,这样,转移标签等于被包含在目的地节点的状态中而不是源节点的状态中的基本命题变量(输入v,输出y)的数值。另外,新的状态“init”作为初始状态被引入。正如这里使用的,取决于输入和输出值而具有不同的下一状态的表格(在本例中是时序机)被称为“目的地节点选择表格”。为了说明起见,传统的表格被称为“传统表格(Kripke结构)”。在图26上,转移标签被附着,以使得转移标签等于被包含在源节点的状态中而不是目的地节点的状态中的基本命题变量的数值。如上所述,状态变量由5数位的数表示,以及5数位的数的最后2个数位相应于v和y(即,输入v和输出y)。状态的转移标签被表达为“v/y”。在图26上,例如,用于从状态A到状态B的转移的转移标签是使用状态A(即,源节点)的输入和输出vA和yA的“vA/yA”。相反,在图27上,用于从状态A到状态B的转移的转移标签是使用状态B(即,目的地节点)的输入和输出vB和yB的“vB/yB”。从仅仅转移状态的输入和输出的序列的观点看来,图26的序列是与图27的序列相同的。也就是,在语言包括关系方面,图26的序列等同于图27的状态。然而,在图26所示的状态中,输入和输出的数值由当前的状态确定,以及下一状态不受输入和输出的数值影响。所以,图26所示的状态不是目的地节点选择表格。现在描述目的地节点选择表格不引起有关通用计算的问题的原因。在图27上,状态“10010”允许两种类型的转移具有标签“0/0”的、到状态“10000”的转移和具有标签“1/0”的、到状态“11010”的转移。也就是,从状态“10010”的转移被规定为用于两种情形其中外来的信号v是“1”的情形以及其中外来的信号v是“0”的情形。所以,不像通过使用传统的表格构造方法得到的时序机,不发生实行通用限定器计算v的结果总是错误的现象。这个特性可以避免可控制的仿真关系的计算的非预期的结果。应当指出,图27所示的状态机是冗余的。换句话说,这个状态机可被缩减。缩减的结果显示于图28。在图28上,状态码从左面起相应于tg,tx0和tx1。状态机可以被缩减的原因可以从传统表格的定义来描述,由传统表格得到目的地节点选择表格。传统表格的转移关系取决于下一状态命题。然而,在当前的状态变量中,相应于原子(atomic)命题(输入和输出)的变量(v,y)对于转移关系没有影响。在本例中,从公式(11)可以看到,当前状态tg,tx0和tx1的下一状态命题变量对于转移关系有影响,但输入和输出v和y对于转移关系没有影响。这参考图27更详细地被描述。当前的状态“10010”通过转移“1/0”被改变成下一状态“11010”。另外,当前的状态“10010”通过转移“0/0”被改变成下一状态“10000”。然而,仔细观察表明,四个状态“10000”,“10001”,“10010”,和“10011”通过相同的输入和输出被改变到相同的下一状态。也就是,为了确定转移关系,下一状态命题变量的头三个比特是足够的。用作原子命题变量的最后两个比特(v,y)是可忽略的。由此可见,对于转移目的地选择表格,只需要下一状态命题代码作为状态变量,相应于原子命题的状态变量不需要被存储。在图27上,当前的状态“10010”通过转移“1/0”被改变成下一状态“11010”。这时,通过只存储相应于下一状态命题变量的头三个比特“110”,在以后的转移中不发生问题。虽然从最后两个比特“10”形成的基本命题变量相应于转移“1/0”,但基本命题变量对于以后的状态转移没有影响。换句话说,虽然输入和输出值在状态转移时刻对于下一状态的选择有影响,但一旦下一状态被确定就不需要存储输入和输出值。根据上述的考虑,通过缩减在图27所示的状态转移图上的状态,而同时从状态变量中去除原子命题,可以得到图28所示的状态转移图。例如,四个状态“10000”,“10001”,“10010”,和“10011”被缩减成一个状态“100”。在这个例子中,通过进一步去除状态“init”,图28所示的状态转移图可被重写成图29所示的状态转移图。这种重写是立即可能的,如果原先的控制规范具有“…在任何时间点是满足的(…issatisfiedatanypointoftime)”格式的话。这是因为根据控制规范的属性,即使在作为从初始状态“init”的转移的目的地的状态被看作为是开始点时,相同的条件“…在任何时间点是满足的”也仍旧满足。所以,当图28所示的状态转移图被重写而同时考虑作为初始状态的状态时,可以得到图29所示的状态转移图。由于条件“…在任何时间点是满足的”是从图21的第3行的关键字“always”或在公式(7)中的算子“G”得到的,可以容易地确定控制规范是否可以如上所述地被重写。上述的说明是参照状态转移图作出的。图29所示的转移关系的表的表示被显示于图30。应当指出,虽然图29没有包括其中tg=0(由于图25原先没有包括这种情形)的情形,但图30包括了这种情形。图31显示表示初始状态的表。这个表表明tg是1,以及tx0和tx1中的每个可以是1或0。图20所示的目的地节点选择表格生成单元424执行从图23和24(或图25)所示的Kripke结构生成图31(或图29)所示的目的地节点选择表格的处理过程。图30与图23之间的比较结果表明,这两个表基本上是相同的,虽然在原先的表格中用于下一状态基本命题变量v’和y’的项在目的地节点选择表格中被用于v和y的项替代。也就是,上述的目的地节点选择表格可以通过与已知的表格构造的步骤类似的步骤被生成。通过改变原子命题的操作,可以得到具有与已知的表格的特性不同的特性的表格。因此,可以达到本发明的目标。当从这个概念的立场观看时,用于构建已知的表格的部分修正的方法可被应用作为按照本发明的、用于构建目的地节点选择表格的方法。现在描述这个方法,并把它与已知的方法进行比较。首先比较用于找出状态变量的方法。图32是用于以传统的表格构造方法找出状态变量的技术的流程图。在步骤501,输入时间逻辑公式f。在步骤502,扩展时间逻辑公式f,以得到扩展公式g。在步骤503,枚举被包含在扩展公式g中的基本子公式。最后,在步骤504,把命题符号分配给基本子公式。在得到的公式与得到的命题符号(当前的状态变量与下一状态变量)之间的关系被显示于图22。相反,按照本实施例,图32所示的、用于以传统的表格构造方法找出状态变量的技术被改变成图33的流程图所示的技术。在图32中所示的传统技术中的步骤501被修改为根据此实施例的步骤516和517。在步骤517,时间逻辑算子x被加到在步骤516接收的时间逻辑公式e。这个操作相应于加上状态“init”的处理过程。然而,这个方法比起用于只加上状态“init”的方法的优点在于,对于从“G”开始的时间逻辑公式,状态的数目不增加。随后,比较转移关系。传统的表格是Kripke结构,而按照本实施例的目的地节点选择表格是时序机。所以,在本实施例中,原子命题被用作为转移标签。仅仅相应于下一时间子公式的命题符号用作表格的状态变量。因此,应当考虑,输出数据的属性以及方法是不同的。然后,描述用于找出转移关系的方法之间的差别。图34是按照已知的技术的、用于找出转移关系R的流程图。在步骤505,变量R被初始化为“真”。转移关系最终被存储在变量R中。此后,从要被处理的、在步骤503(见图32)枚举的基本子公式中顺序检索下一时间子公式。在步骤506,确定是否所有的下一时间子公式都被处理。如果发现未处理的下一时间子公式,则在步骤507选择未处理的下一时间子公式。在步骤507中的字句“使得它为Xh”是指这样的操作,即,第一字母“X”从下一时间子公式中去除,以及其余部分被认为是h。在步骤508,表格法则被应用到h,以便扩展h。在步骤509,被包含在扩展结果中的基本子公式用下一状态变量代替。结果被称为“j”。在步骤510,找到相应于当前的处理的下一时间子公式(Xh)的当前的状态变量。当前的状态变量被称为“t”。从下一时间子公式Xh得到的关系被表达为如下tj…(13)其中t表示当前的状态变量以及j表示包括下一状态变量的公式。在步骤511,保持转移关系的中间结果的变量R通过使用上述的结果被更新。上述的步骤重复进行,直至在步骤506确定所有的下一时间子公式都被处理为止。如果所有的下一时间子公式都被处理,则在步骤512输出R以及处理过程结束。这个R表示按照已知的技术的转移关系。图35是按照本实施例的、找出表格(目的地节点选择表格)的转移关系的处理过程的流程图。这个实施例的步骤518相应于在已知的技术中的步骤509。差别在于,包括原子命题的所有的基本子公式都被已知技术中的下一状态变量替代,而仅下一时间子公式被本实施例中的下一状态变量替代。这个差别是由于作为转移标签而不是状态变量来处理原子命题(相应于输入和输出信号)而引起的。应当指出,找出初始状态的方案在已知的技术和在本实施例中是相同的。因此,目的地节点选择表格生成单元424生成目的地节点选择表格。这里得到的目的地节点选择表格被存储在控制规范模型储存单元406中。以后的单元(即,除了控制规范(时间逻辑)输入单元415和控制规范模型生成单元416之外的单元)的操作是与第一实施例中的操作相同的,因此,其说明不再重复。然而,为了确认,只显示中间的结果。通过简单地组合图10A和10B所示的控制目标模型M1与图30和31所示的、按照第二实施例的控制规范模型M,得到图36所示的转移表和图37所示的、表示初始状态组的表作为模型组合单元421的输出。可控制的仿真关系Hmax被显示于图38。这个Hmax从可控制的仿真关系计算单元407的计算操作得到。通过从图36所示的转移表和图37所示的、表示初始状态组的表中提取被包含在可控制的仿真关系Hmax中的转移关系和初始状态(见图38),得到容许操作模型Mc。容许操作模型Mc的转移关系被显示于图39,而容许操作模型Mc的初始状态组被显示于图40。控制法则被显示于图41。在第二实施例的具体例子中,外来信号v,控制输出信号y和控制输入信号u都是1比特信号。像第一实施例那样,即使在这些信号是多比特信号时,本发明也是适用的。在具体例子中采用1比特信号的原因是为了减小附图的尺寸。而且,虽然本实施例是参考基于LTL的控制规范描述的,但本发明可应用于基于ACTL的规范。在非专利文献3中,描述了基于LTL的表格构造和基于ACTL的表格构造,以及二者是互相类似的。显然,对于ACTL,通过参考非专利文献3,而同时考虑到LTL的计算x对应于ACTL的计算AX以及按照从x到AX的改变来改变转移关系的定义,可以生成目的地节点选择表格。另外,应当指出,容许操作模型的状态的数目小于或等于控制目标模型的状态的数目与控制规范模型的状态的数目的乘积。就状态变量的数目来说,容许操作模型的状态变量的数目小于或等于控制目标模型的状态变量的数目与控制规范模型的状态变量的数目的和值。当控制设备被实施为数字电路时,容许操作模型的状态变量的数目可被看作为等于触发器的数目。换句话说,当控制目标的状态的数目和控制规范的下一时间命题的数目被确定时,可以估计控制设备的规模。具体地,有利地,控制设备的状态的数目的上限事先被确定。上限有助于在实际实行计算前估计可控制的仿真关系的计算对于计算机是否是可行的。如上所述,本实施例的一个特征是,数字设备的规模可以事先从其基于时间逻辑的控制规范中被估计。虽然本实施例没有描述判优器和调度器的连接方法,但当需要它们时,包括判优器和调度器的数字设备的规模仍可以事先估计,因为当连接方法被规定时,可以识别被包含在附加电路中的触发器的近似数目。按照第二实施例,数字电路的自动设计设备、自动设计方法和自动设计程序即使在控制系统的规范的模型(控制规范的模型)以时间逻辑而不是时序机的形式被提供时,仍可以提供数字电路的自动设计。因此,可以提供以时间逻辑的形式表示控制规范的优点(例如,正确性和简化性)。虽然本发明是结合优选实施例描述的,但将会看到,不打算把本发明限制于这些实施例。相反,本发明打算通过在由权利要求规定的本发明的精神和范围内修改其部件而被实现。另外,本发明打算通过在优选实施例中公开的多个部件中组合适当的部件而被实现。例如,可以从在优选实施例中公开的所有的部件中间去除某些部件。而且,在多个优选实施例中的部件可以适当地组合。权利要求1.一种用于包括控制目标电路和控制设备电路的数字控制系统电路的自动设计设备,该设备在给定控制目标电路的模型和数字控制系统电路的规范模型的情形下自动设计控制设备电路的模型,该设备包括控制目标输入单元,被配置用来接收以预定的设计描述语言被编写的第一控制目标模型,第一控制目标模型是控制目标电路的模型;控制目标模型生成单元,被配置用来从第一控制目标模型生成由有限状态机模型表示的第二控制目标模型;控制目标模型储存单元,被配置用来存储生成的第二控制目标模型;控制规范输入单元,被配置用来至少接收以预定的设计描述语言被编写的第一控制规范模型,第一控制规范模型是控制系统电路的规范模型;控制规范模型生成单元,被配置用来从至少第一控制规范模型生成由有限状态机模型表示的第二控制规范模型;控制规范模型储存单元,被配置用来存储第二控制规范模型;模型组合单元,被配置用来通过计算被存储在控制目标模型储存单元中的第二控制目标模型与被存储在控制规范模型储存单元中的第二控制规范模型的逻辑“与”而生成控制设备综合模型,控制设备综合模型是控制设备电路的综合模型;可控制的仿真关系计算单元,被配置用来从第二控制目标模型和第二控制规范模型计算表示施加到控制设备综合模型的约束条件的可控制的仿真关系;可控制的仿真关系储存单元,被配置用来存储计算的可控制的仿真关系;可控制性确定单元,被配置用来根据可控制的仿真关系确定控制设备综合模型是否为能够提供满足控制系统电路的规范的控制的模型;容许操作模型生成单元,被配置用来从控制设备综合模型和可控制的仿真关系生成容许操作模型,容许操作模型是通过减小控制设备综合模型的规模而得到的模型;容许操作模型储存单元,被配置用来存储生成的容许操作模型;控制法则确定单元,被配置用来确定能够进一步减小容许操作模型的规模的控制法则;以及控制设备模型生成单元,被配置用来通过计算容许操作模型和控制法则的逻辑“与”而生成由有限状态机模型表示的控制设备模型。2.按照权利要求1的自动设计设备,还包括变换单元,被配置用来把控制设备模型变换成可执行的规范描述语言。3.按照权利要求1的自动设计设备,其中控制规范输入单元还接收以时间逻辑公式编写的控制系统电路的规范模型,以及其中控制规范模型生成单元包括表格生成单元,用于把以时间逻辑公式编写的控制系统电路的接收的规范模型变换成用作有限状态机模型的表格以便生成第二控制规范模型。4.按照权利要求3的自动设计设备,其中,表格生成单元根据表格法则把时间逻辑公式扩展为基本子公式,以及通过在相应于扩展的基本子公式的状态变量的状态转移中生成具有作为状态转移的标签值的、被包含在目的地节点的状态变量中的输入变量和输出变量的目的地节点选择表格而生成时序机的模型。5.一种用于包括控制目标电路和控制设备电路的数字控制系统电路的自动设计设备,该设备在给定控制目标电路的模型和数字控制系统电路的规范模型的情形下自动设计控制设备电路的模型,该设备包括控制目标输入单元,被配置用来接收以预定的设计描述语言被编写的第一控制目标模型,第一控制目标模型是控制目标电路的模型;控制目标模型生成单元,被配置用来从第一控制目标模型生成由有限状态机模型表示的第二控制目标模型;控制目标模型储存单元,被配置用来存储生成的第二控制目标模型;控制规范输入单元,被配置用来至少接收以预定的设计描述语言被编写的第一控制规范模型,第一控制规范模型是控制系统电路的规范模型;控制规范模型生成单元,被配置用来从至少第一控制规范模型生成由有限状态机模型表示的第二控制规范模型;控制规范模型储存单元,被配置用来存储第二控制规范模型;模型组合单元,被配置用来通过计算被存储在控制目标模型储存单元中的第二控制目标模型与被存储在控制规范模型储存单元中的第二控制规范模型的逻辑“与”而生成控制设备综合模型,控制设备综合模型是控制设备电路的综合模型;可控制的仿真关系计算单元,被配置用来从第二控制目标模型和第二控制规范模型计算表示施加到控制设备综合模型的约束条件的可控制的仿真关系;可控制的仿真关系储存单元,被配置用来存储计算的可控制的仿真关系;可控制性确定单元,被配置用来根据可控制的仿真关系确定控制设备综合模型是否为能够提供满足控制系统电路的规范的控制的模型;容许操作模型生成单元,被配置用来从控制设备综合模型和可控制的仿真关系生成容许操作模型,容许操作模型是通过减小控制设备综合模型的规模而得到的模型;容许操作模型储存单元,被配置用来存储生成的容许操作模型;以及控制设备模型生成单元,被配置用来根据容许操作模型生成由有限状态机的模型表示的控制设备模型。6.一种用于包括控制目标电路和控制设备电路的数字控制系统电路的自动设计方法,该方法在给定控制目标电路的模型和数字控制系统电路的规范模型的情形下自动设计控制设备电路的模型,该方法包括以下步骤接收以预定的设计描述语言被编写的第一控制目标模型,第一控制目标模型是控制目标电路的模型;从第一控制目标模型生成由有限状态机模型表示的第二控制目标模型;至少接收以预定的设计描述语言被编写的第一控制规范模型,第一控制规范模型是控制系统电路的规范模型;从至少第一控制规范模型生成由有限状态机模型表示的第二控制规范模型;通过计算第二控制目标模型和第二控制规范模型的逻辑“与”而生成控制设备综合模型,控制设备综合模型是控制设备电路的综合模型;从第二控制目标模型和第二控制规范模型计算表示施加到控制设备综合模型的约束条件的可控制的仿真关系;根据可控制的仿真关系确定控制设备综合模型是否为能够提供满足控制系统电路的规范的控制的模型;从控制设备综合模型和可控制的仿真关系生成容许操作模型,容许操作模型是通过减小控制设备综合模型的规模而得到的模型;确定能够进一步减小容许操作模型的规模的控制法则;以及通过计算容许操作模型和控制法则的逻辑“与”而生成由有限状态机模型表示的控制设备模型。7.按照权利要求6的自动设计方法,还包括以下步骤把控制设备模型变换成可执行的规范描述语言。8.按照权利要求6的自动设计方法,其中至少接收第一控制规范模型的步骤还接收以时间逻辑公式编写的控制系统电路的规范模型,以及其中生成第二控制规范模型的步骤包括把以时间逻辑公式编写的控制系统电路的接收的规范模型变换成用作有限状态机的模型的表格以便生成第二控制规范模型的子步骤。9.按照权利要求8的自动设计方法,其中把以时间逻辑公式编写的控制系统电路的接收的规范模型变换成表格的子步骤根据表格法则把时间逻辑公式扩展为基本子公式,以及通过在相应于扩展的基本子公式的状态变量的状态转移中生成具有作为状态转移的标签值的、被包含在目的地节点的状态变量中的输入变量和输出变量的目的地节点选择表格而生成时序机的模型。10.一种用于包括控制目标电路和控制设备电路的数字控制系统电路的自动设计程序,该程序在给定控制目标电路的模型和数字控制系统电路的规范模型的情形下自动设计控制设备电路的模型,该程序包括用于使得计算机执行以下步骤的指令接收以预定的设计描述语言被编写的第一控制目标模型,第一控制目标模型是控制目标电路的模型;从第一控制目标模型生成由有限状态机模型表示的第二控制目标模型;至少接收以预定的设计描述语言被编写的第一控制规范模型,第一控制规范模型是控制系统电路的规范模型;从至少第一控制规范模型生成由有限状态机模型表示的第二控制规范模型;通过计算第二控制目标模型和第二控制规范模型的逻辑“与”而生成控制设备综合模型,控制设备综合模型是控制设备电路的综合模型;从第二控制目标模型和第二控制规范模型计算表示施加到控制设备综合模型的约束条件的可控制的仿真关系;根据可控制的仿真关系确定控制设备综合模型是否为能够提供满足控制系统电路的规范的控制的模型;从控制设备综合模型和可控制的仿真关系生成容许操作模型,容许操作模型是通过减小控制设备综合模型的规模而得到的模型;确定能够进一步减小容许操作模型的规模的控制法则;以及通过计算容许操作模型和控制法则的逻辑“与”而生成由有限状态机模型表示的控制设备模型。11.按照权利要求10的自动设计程序,还包括用于使得计算机执行以下步骤的指令把控制设备模型变换成可执行的规范描述语言。12.按照权利要求10的自动设计程序,其中至少接收第一控制规范模型的步骤还接收以时间逻辑公式编写的控制系统电路的规范模型,以及其中生成第二控制规范模型的步骤包括把以时间逻辑公式编写的控制系统电路的接收的规范模型变换成用作有限状态机的模型的表格以便生成第二控制规范模型的子步骤。13.按照权利要求12的自动设计程序,其中把以时间逻辑公式编写的控制系统电路的接收的规范模型变换成表格的子步骤根据表格法则把时间逻辑公式扩展为基本子公式,以及通过在相应于扩展的基本子公式的状态变量的状态转移中生成具有作为状态转移的标签值的、被包含在目的地节点的状态变量中的输入变量和输出变量的目的地节点选择表格而生成时序机的模型。全文摘要自动数字电路设计设备接收以设计描述语言被编写的控制目标模型,生成由有限状态机模型表示的控制目标模型,存储生成的控制目标模型,接收以设计描述语言被编写的控制规范模型,生成由有限状态机模型表示的控制规范模型,存储生成的控制规范模型,通过组合生成的控制目标模型和生成的控制规范模型而生成控制设备综合模型,计算可控制的仿真关系,存储计算的可控制的仿真关系,确定控制设备综合模型是否为能够提供控制的模型,生成容许操作模型,存储生成的容许操作模型,确定控制法则,生成由有限状态机表示的控制设备模型,以及把控制设备模型变换成以设计描述语言编写的控制设备模型。文档编号G06F17/50GK101013447SQ20061007157公开日2007年8月8日申请日期2006年3月30日优先权日2006年1月31日发明者酒井良哲申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1