CN1900870A - 验证安全装置的方法和由相同方法验证的安全装置 - Google Patents
验证安全装置的方法和由相同方法验证的安全装置 Download PDFInfo
- Publication number
- CN1900870A CN1900870A CNA2006100739748A CN200610073974A CN1900870A CN 1900870 A CN1900870 A CN 1900870A CN A2006100739748 A CNA2006100739748 A CN A2006100739748A CN 200610073974 A CN200610073974 A CN 200610073974A CN 1900870 A CN1900870 A CN 1900870A
- Authority
- CN
- China
- Prior art keywords
- pld
- programmable logic
- logic device
- function element
- emulation
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Monitoring And Testing Of Nuclear Reactors (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
提供了一种用于验证安全装置的验证方法,该安全装置包括具有多个功能元件的可编程逻辑器件。该验证方法包括以下步骤:在实际的硬件上穷举地验证多个功能元件;使用预定的硬件描述语言,生成与在实际的装置上验证过的功能元件之一相同的功能元件;将每个生成的功能元件独立地逻辑综合为多个第一网表;使用预定的硬件描述语言生成功能元件之间的连接功能;将生成的连接功能逻辑综合为对应于该连接功能的第二网表;将第一网表和第二网表进行综合以生成第三网表;基于第三网表将逻辑电路写入可编程逻辑器件;以及验证实际的可编程逻辑器件。
Description
技术领域
本发明涉及一种用于验证安全装置的方法和由该方法验证的安全装置,更具体的说,涉及用于验证用于控制核电厂、热电厂、化工厂等并需要确保高可靠性的安全装置的方法以及由该方法验证的安全装置。
背景技术
核电厂包括安全装置,用于当有可能会危害核电厂的安全的异常事件预期存在或异常事件发生时,防止异常事件的发生或降低异常事件发生的可能性。
提供与安全保护系统相关的放射计数装置(安全装置)以用于计算放射量。如果因为某一原因,厂内的放射量增加,那么放射计数装置向操作电路传送信息,所述信息指示关闭放射量正在增加的区域的情况或启动紧急气体处理装置的情况。
在近来的核电厂中,这样的与安全保护系统相关的放射计数装置(安全装置)进行数字信号处理,其中一个中央处理单元(CPU)执行对多个信号的数字滤波或数字计算(例如参考日本专利No.2653522)。
相反,美国专利No.5859884公开了一种使用通常所说的专用集成电路(ASIC)或现场可编程门阵列(FPGA)的硬件逻辑电路取代CPU的系统。在美国专利No.5859884描述的技术中,电路被配置为使用ASIC取代CPU来控制处理过程。该技术简化了处理流。
因为安全装置很重要,所以一个单元的故障不能导致装置的整体控制的失败。因此,采用提供系统冗余的复用配置,或者装置的每个组件被配置为独立的。
然而,在其中CPU执行软件的数字系统中,如果相同的软件被用于冗余系统和主系统,那么软件的缺陷有可能影响冗余系统的功能性。
此外,由于包括软件处理的数字处理基本上是离散值处理,与模拟设备相比,更有可能因为软件和硬件缺陷而执行意外操作。例如,在数字处理中,当满足某一特定条件时,会发生异常输出。
因此,在使用软件的数字处理中,需要进行质量保证活动(qualityassurance activity)以确保从设计阶段到生产阶段的数字处理的高质量。同样,对于由软件缺陷或不受控制的设计改变引起的常见故障因素需要合适的保护。特别是,为了保护以防止由软件缺陷引起的常见故障因素,实施“验证(verification)和确认(validation)”活动(此后称为“V & V”)。“V & V”是包括以下两个过程的质量保证活动:验证过程,用于验证对数字安全装置的功能需求是从软件设计过程到生产过程从较高级步骤到较低级步骤正确实现的;以及健全性(soundness)确定过程,用于确定通过验证过程生产的系统中正确地实现了需求。
相反,在使用ASIC或FPGA取代CPU的系统中,提供了硬线数字逻辑电路。不同于CPU执行的软件处理,该处理具有固定的处理流。同样,处理时间由设计决定。因此,可以认为使用ASIC或FPGA的系统是数字逻辑电路的半导体硬件。
结果,虽然在生产过程中FPGA等使用一些软件,但是假设进行的处理与实际安装的硬件的处理相同,就能够验证FPGA。例如,通过比较对应所有输入和所有内部状态的半导体器件的输出与根据其规格说明书计算出的估计值,除了由定时问题(timing issue)引起的动态缺陷以外,可以完整地验证静态功能的输入和输出属性。这种验证方法被称为“穷举测试(exhaustive testing)”。
然而,在实际的ASIC或FPGA中,器件的所有输入位模式的数目和所有内部状态模式的数目之和是巨大的。因此,一般而言,应当认识到,对与所有输入和内部状态模式相对应的输出模式与估计值相比较是不切实际的。
因此,评估能有效检测缺陷的输入模式串是很关键的。例如,通过评估器件内的逻辑模式,通过故障仿真计算出引起内部寄存器至少启动一次的输入模式组,或者计算出可以检测特定故障模式的输入模式组。
然而,因为在上述技术中仅仅验证一些模式,因此该技术不能检测内部逻辑组合引起的缺陷以及在故障仿真中不考虑的缺陷。
此外,为了以诸如FPGA这样的硬件实现逻辑电路(数字电路),需要实用软件工具(utility software tool),其包括用于创建硬件配置描述的软件和用于将硬件配置描述转化为FPGA上的实际的逻辑电路的逻辑综合工具(logic synthesis tool)。然而,这种实用软件工具本身会有缺陷,特别是如果这种实用软件工具是新开发的。因此,必须确保从设计阶段开始的整体可靠性包括实用软件工具的可靠性。
如果在性能验证中可以进行上述的穷举测试,那么可以发现静态逻辑错误。然而,如果不能进行上述穷举测试,那么对已知软件需要V & V验证。
然而,不同于由CPU执行的软件处理,使用FPGA的系统的处理是固定的,因此,一般而言,可以确定处理时间。因此,单个循环仅能够执行单个处理。因此,可以容易地满足用于实现高可靠系统的设计条件。
如上所述,使用诸如FPGA这样的硬件逻辑电路来实现安全装置,从验证的观点上看提供了很强的优势。然而,必须实际上在与上述穷举测试一样的级别高效地执行功能验证。也就是,需要开发一种验证方法,其可以可靠地并快速地验证相对于输入,安全装置的输出属性与设计定义的是否相同。
除了静态错误,也会发生由内部操作之间的定时问题引起的动态错误。例如,如果内部逻辑之间的延迟时间因为环境条件(例如,温度)或电源条件而改变,那么装置有可能因为大气条件而错误地工作。为了防止定时问题引起的错误,在使用定时仿真的设计阶段中应该提供足够的容限(margin)。而且,如在期望出现的实际环境中所需要的,需要可以高度可靠地进行验证的验证方法。
尽管已经参考核电厂描述了上述问题,但是开发可以在设计和生产阶段中确保类似的数字装置的可靠性的设计系统、并且特别是可以检测隐藏缺陷的设计系统,这在诸如炼油厂或化工厂这样的需要高度可靠的控制系统的领域中也很重要。
发明内容
因此,本发明的目的是在例如核电厂中提供可以高效地和可靠地测试和验证安全装置的组件的验证方法和由该验证方法验证的安全装置。
根据本发明的一个实施例,提供了用于验证包括可编程逻辑器件的安全装置的验证方法。可编程逻辑器件包括多个功能元件(functional element)。该方法包括以下步骤:预先在实际的硬件上穷举地验证逻辑模式的所有输出都是响应于每个功能元件的逻辑模式的所有输入而正常产生的;使用预定的硬件描述语言,生成与在实际的硬件上验证过的功能元件之一相同的功能元件;将每个生成的功能元件独立地逻辑综合为多个第一网表(net list),其中每个第一网表对应于功能元件之一;使用预定的硬件描述语言生成功能元件之间的连接功能(connection function);将生成的连接功能逻辑综合为对应于该连接功能的第二网表;将多个第一网表与该第二网表进行综合以生成第三网表;基于第三网表将逻辑电路写入可编程逻辑器件;以及在包括写入的逻辑电路的实际的可编程逻辑器件上验证该可编程逻辑器件的工作是正常的。
根据本发明的另一个实施例,安全装置包括可编程逻辑器件,该可编程逻辑器件包括多个功能元件。由一种验证方法验证该安全装置,该验证方法包括以下步骤:预先在实际的硬件上穷举地验证逻辑模式的所有输出都是响应于每个功能元件的逻辑模式的所有输入而正常产生的;使用预定的硬件描述语言,生成与在实际的硬件上验证过的功能元件之一相同的功能元件;将每个生成的功能元件独立地逻辑综合为多个第一网表,其中每个第一网表对应于功能元件之一;使用预定的硬件描述语言生成功能元件之间的连接功能;将生成的连接功能逻辑综合为对应于该连接功能的第二网表;将多个第一网表与该第二网表进行综合以生成第三网表;基于第三网表将逻辑电路写入可编程逻辑器件;以及在包括写入的逻辑电路的实际的可编程逻辑器件上验证该可编程逻辑器件的工作是正常的。
根据用于验证安全装置的方法和由本发明的方法验证的安全装置,可以高效地和可靠地测试并验证安全装置(例如,核电厂)的组件。
附图说明
图1说明了根据本发明的一个实施例,安全装置的结构模型;
图2说明了根据本发明的一个实施例,包括在安全装置中的可编程逻辑器件的结构模型;
图3说明了根据本发明的一个实施例,用于验证安全装置的方法过程;
图4说明了验证实际的可编程逻辑器件的功能元件的示例性过程;
图5说明了根据本发明的一个实施例,用于验证安全装置的方法的比较示例;
图6说明了根据本发明的一个实施例,在安全装置的验证方法中,第一连接验证的示例性过程;
图7说明了根据本发明的一个实施例,在安全装置的验证方法中,第二连接验证的示例性过程;
图8是说明了第二连接验证的过程的特定示例的第一图;
图9是说明了第二连接验证的过程的特定示例的第二图;
图10说明了根据本发明的一个实施例,在安全装置的验证方法中,基于仿真的验证的示例性过程;
图11说明了根据本发明的一个实施例,在安全装置的验证方法中,基于仿真的验证的详细图;
图12说明了根据本发明的一个实施例,在安全装置的验证方法中,验证实际的装置的示例性过程(翻转覆盖测试(toggle coverage testing);
图13是根据本发明的一个实施例,在安全装置的验证方法中,验证实际的装置的详细过程(翻转覆盖测试)的第一图;
图14是根据本发明的一个实施例,在安全装置的验证方法中,验证实际的装置的详细过程(翻转覆盖测试)的第二图;
图15说明了根据本发明的一个实施例,在安全装置的验证方法中,翻转覆盖测试的测试系统。
具体实施方式
现在参考附图,描述根据本发明的一个实施例的安全装置的验证方法和由该验证方法验证的安全装置。
(1)安全装置的布置和系统体系结构
图1说明了根据本发明的一个实施例,安全装置1的示例性基本配置。图1也说明了连接到安全装置1的示例性外部装置。
安全装置1的示例包括一个装置,其监控安装在核电厂100中的核反应堆101的内部状态,并且如果异常事件发生或者预期发生异常事件,那么输出信号(例如,停堆信号(trip signal))以开始安全保护操作,该安全保护操作停止核反应堆101或从核反应堆101分离异常部件。
安全装置1的输入终端接收传感器2的输出。传感器2的示例包括安装在核反应堆101内的放射传感器。
安全装置1的输出终端输出停堆信号。当安全装置1基于传感器2的输出检查核反应堆101的安全并且当核反应堆101的异常事件发生或异常事件预期要发生时,从安全装置1输出该停堆信号。通过将停堆信号反馈到核电厂100,核电厂100例如停止核反应堆101或关闭异常部件以确保安全。
安全装置1包括模数(A/D)转换器3,其在对从传感器2输入的信号的波形进行整形之后,将该输入信号转换为数字值。A/D转换器3的输出是向FPGA4a的输入。
术语“FPGA”指可编程大规模集成电路。通过从外部将数据写入FPGA制造商提供的通用FPGA(也就是,其中还没有写数据的FPGA),用户可以根据用户定义的规格说明书实现多个功能。
FPGA是一类可编程逻辑器件(PLD)。高度集成的PLD称为FPGA,其已在近年来被广泛使用。
由写入FPGA 4a的功能(例如,数字滤波功能)将传感器2的输出转化为数字值,从而去除不必要的信号。接着,该数字值被输出到FPGA 4b,这是FPGA 4a的后继级。FPGA 4b提供例如用于将适当的设置值和传感器2的输出进行比较的功能,以便确定异常事件的发生。如果确定异常事件发生,FPGA 4b输出停堆信号。
图1仅说明了在工业应用领域中根据本发明的一个实施例的安全装置1的布置,并说明了安全装置1的主要部件包括可编程逻辑器件,诸如FPGA,但不是安全装置1的特定配置。
因此,向安全装置1输入信号的传感器的类型和数目可以是多个。同样,FPGA的类型和数目和FPGA的安装方法不局限于图1所示的那些。
为保证安全装置1所需的高可靠性,验证安全装置1的每个可编程逻辑器件的可靠性是非常重要的。
因此,这里现在描述用于验证可编程逻辑器件的方法。虽然可编程逻辑器件的示例也包括ASIC、门阵列、和PLD,但是仅参考FPGA来描述该方法。
如这里使用的,用于验证安全装置的方法指用于验证每个可编程逻辑器件的方法。
(2)用于验证FPGA的方法的过程
图2说明了FPGA 4a的示例性内部配置,其是图1中所示的一种类型的FPGA。虽然下面的描述特别指FPGA 4a,但是验证FPGA的方法可以应用到提供任何类型功能的FPGA。
近来,一些FPGA 4a已经包括多至数百万的门电路。虽然FPGA4a可以被认为是为高度集成的大规模集成电路(LSI),但是内部结构包括多个功能性分离的元件。
下文中,这些功能性分离的元件被称为“功能元件”。在图2中所示的FPGA 4a包括五种类型的功能元件5a、5b、5c、5d和5e。
每个功能元件5a至5e都包括逻辑电路,诸如AND(逻辑与)电路、OR(逻辑或)电路、触发器电路、加法器电路、和计数器电路。这些逻辑电路的组合提供每个功能元件5a至5e的预定功能。
通过使用连接线互相连接功能元件5a至5e,提供整个FPGA 4a的功能。
一般而言,以下列的步骤制造FPGA。
在第一步,FPGA实现的功能被定义为规格说明书。
在第二步,以被称为硬件描述语言的程序语言编写规格说明书所定义的功能。使用合适的文本编辑器以硬件描述语言编写硬件描述。将生成的功能数据存在计算机中。硬件描述语言的示例包括VHDL语言、System-C、Verilog语言及其它。尽管参考VHDL语言描述了该实施例,但是也可以使用另一语言。
在第三步中,使用被称为逻辑综合工具的通用软件将用硬件描述语言写成的功能数据转化为被称为网表的逻辑数据。这种转换处理被称为“逻辑综合”。网表包括与逻辑电路配置相关的数据。数据表示逻辑电路(例如,AND电路、OR电路、触发器电路、加法器电路、和计数器电路)的元件以及这些元件之间的连接。
此外,网表不仅包括与逻辑电路的元件之间的连接关系相关的数据,而且包括与元件的物理位置相关的数据。
实现在第二步中以硬件语言写成的功能的逻辑电路不是必须的一个。多个逻辑电路可以提供相同功能。例如,根据最快处理速度或根据最小规模逻辑电路(也就是,逻辑电路的器件的最小数)可以优化逻辑电路。因此,一般而言,作为选项,逻辑综合工具允许用户选择优化的执行和优化的类型。
在第四步,基于网表中的逻辑数据进行操作的仿真,以便确定逻辑电路是否正常工作。然而,可以根据逻辑电路的规模,除去该仿真步骤。
在第五步,基于网表数据将数据写入FPGA。这样,实现了可以实际工作的FPGA。此后,进行对实际的FPGA的测试和验证。
在上面的描述中,说明了用于生产广泛使用的FPGA的基本步骤。然而,对于根据本发明这个实施例的验证安全装置1的方法,需要极端高可靠性。因此,在关注确保可靠性的同时,提供步骤流程。
图3说明了根据本发明用于验证包括在安全装置1中的FPGA的方法过程的一个实施例。
在步骤ST1中,使用VHDL语言生成与每个功能元件5a至5e对应的数据(此后称为“功能元件(VHDL)”)。在预先在实际的FPGA中充分测试功能元件(VHDL)50a至50e之后,无需任何修改地生成功能元件(VHDL)50a至50e。图4说明了步骤ST1的详细过程。
也就是说,图4说明了生成一个功能元件(VHDL)(也就是,功能元件(VHDL)50a)的过程。
首先,在步骤ST10,通过基于功能元件5a的规格说明书以VHDL语言书写代码而生成功能元件(VHDL)50a。
随后,在步骤ST11,使用通用逻辑综合工具进行逻辑综合,以便成生对应于功能元件(VHDL)50a的网表51a。此时,通过从逻辑综合工具中提供的选项中选择将电路规模降低到最小的优化选项,可以生成实现功能元件5a的最小电路规模的逻辑电路数据。
此后,在步骤ST12,将网表51a的数据写入FPGA(用于测试的实际的FPGA)。在将数据写入FPGA之前,按需要添加基于网表51a的数据来验证工作的仿真步骤。
在步骤ST13,在FPGA(用于测试的实际的FPGA)上进行穷举测试。穷举测试指的是用于通过将对于所有输入和所有内部状态的输出与根据规格说明书计算出的估计值相比较来进行测试,以确保正常工作的方法。
一般而言,对于大规模数字电路,诸如整个FPGA,穷举测试实际上是不可能的,这是因为输入模式的数目和内部状态模式的数目以指数级增加。
然而,对于作为FPGA的精细划分的元件的功能元件5a,穷举测试是可能的。此外,因为穷举测试验证所有位模式,因而可以提前验证只有当输入高度特定离散值时才发生的异常工作。因此,对于可靠性,穷举测试是用于验证FPGA的最有效方法。
如果使用用于测试的实际的FPGA,根据穷举测试确保了正常工作(在步骤ST14为是),那么保证了功能元件(VHDL)50a的高数据可靠性(步骤ST15)。
相反,如果在穷举测试中发现异常事件,则调查原因。随后,修改功能元件(VHDL)50a(步骤ST16)。然后,处理返回到步骤ST11。
此外,对每个其它功能元件(VHDL)50b至50e,进行类似的穷举测试。
因此,在图3所示的步骤ST1,生成使用实际的FPGA验证的功能元件(VHDL)50a至50e。
在步骤ST2,使用逻辑综合工具对每个功能元件(VHDL)独立进行逻辑综合,以便生成分别对应于功能元件(VHDL)50a至50e的网表51a至51e(也就是,多个第一网表)。因为在图4中所示的流程中已经验证了该过程,因而新的缺陷因素混合进该过程的可能性很小。此外,在图4所示流程中也已经验证了逻辑综合工具的有效性。
为了配置完整的FPGA,功能元件(VHDL)50a至50e互相连接。在步骤ST3和ST4中生成该连接所需的数据。
在步骤ST3,基于定义功能元件5a至5e之间的连接的规格说明书,以VHDL语言描述连接功能。以与功能元件(VHDL)50a等相同的方式生成“连接功能(VHDL)”。
在步骤ST4,使用逻辑综合工具对连接功能(VHDL)进行逻辑综合,以便生成只定义功能元件之间的连接的网表(第二网表)61。
在步骤ST5,将指示功能元件5a至5e之间的连接关系的网表(第二网表)61与分别对应功能元件5a至5e的网表(第一网表)51a至51e进行综合,以便生成第三网表70。第三网表70作为表示整个FPGA 4a的连接状态的数据。
在步骤ST6,基于第三网表70的数据来验证逻辑电路的连接状态。为了验证连接状态,使用第三网表70输出连接图,并且首先进行诸如用眼睛检查的人工验证。
此时,根据图3所示的过程,因为在步骤ST1已验证了对应于最复杂的功能元件的网表51a至51e,因此基本上消除了验证网表51a至51e的需要。这里,仅需要关注对于功能元件之间的连接的验证。结果,连接的验证所需的时间显著地减少了,因此允许高效的连接验证。
(3)与另一个实施例的比较
图5说明了与图3的流程图所示的实施例相比,用于生产和验证同一个FPGA 4a的方法的另一个实施例。在图5所示的过程中,与图3所示的过程相比,除去了步骤ST2和ST3。图5所示的过程看上去比图3所示的过程更高效。然而,事实并不总是如此。原因描述如下。
在图5和3所示的两个过程中,在步骤ST1,在实际的FPGA上进行验证。
在图3所示的过程中,在对于每个功能元件(VHDL)独立地生成网表之后,对网表进行综合。因此,确保了该网表与在步骤ST1中在实际的FPGA上已验证的网表一样。
相反,在图5中所示的过程中,在步骤ST100一次利用连接功能对每个功能元件(VHDL)进行逻辑综合。因此,虽然验证已完成,但是不总是确保该网表与在步骤ST1中在实际的FPGA上已验证的网表一样。
如果在步骤ST100的逻辑综合的过程中,优化(诸如电路规模的最小化)未被指定为逻辑综合工具的选项,那么网表与在步骤ST1已验证的网表非常类似。然而,不完全确保两者是相同的。这样,在步骤ST6a的连接验证中,对每个功能元件内的部分需要验证连接。结果,连接验证是非常耗时的。
此外,因为优化被限制在步骤ST100的逻辑综合中,因而电路的规模不利地变得很大。
相反,根据图3所示的验证方法的实施例,在步骤ST2生成的网表(也就是,第一网表)与在步骤ST1中在实际的FPGA上已验证的网表相同。因此,在步骤ST6不需要对每个功能元件内的部分的连接进行验证。仅验证功能元件之间的连接是足够的。结果,减少了连接验证所需的时间,并因此可以高效地进行连接验证。
此外,如果在步骤ST1中对于用于测试的实际的FPGA的逻辑综合过程中设置了最小化电路规模的逻辑综合选项,那么可以以相同的设置生成网表51a至51e。因此,可以在保持与在步骤ST1中在实际的FPGA上验证的网表等效的同时,使电路规模最小化。
(4)连接验证
在步骤ST6的连接验证中,验证了功能元件5a至5e之间的连接。根据该实施例,进行以下两个连接验证。
图6说明了第一连接验证的过程。
在步骤ST60,可视化并显示对应于网表70(也就是,第三网表)的数据的逻辑电路图。结果,例如,显示或打印出图2所示的逻辑电路图。此时,为了增加电路图的可视性,可以用颜色将功能元件5a至5e内的逻辑电路与功能元件5a至5e之间的连接部分区分开来。
在步骤ST61,将可视化的逻辑电路与定义了功能元件之间的连接的规格说明书相比较。
如果根据比较确保了功能元件之间的连接的有效性(在步骤ST62为是),那么完成第一连接验证。
如果发现在功能元件之间的实际连接与规格说明书的之间不匹配(在步骤ST62为否),那么调查原因以便适当地改正该不匹配(步骤ST63)。
根据第一连接验证,因为以可视化逻辑电路图的形式提供网表(第三网表)70,所以可以高效地进行连接验证。
可以用人工系统执行步骤ST61的比较。然而,当功能元件的数目增加时,可以使用不同的用于比较的验证工具自动地执行比较。
图7说明了第二连接验证的过程。在第二连接验证中,相对于网表(第三网表)70中的功能元件的连接,验证根据规格说明书生成的连接功能(也就是,以VHDL语言写的连接功能)中的功能元件之间的连接。
首先,在步骤ST65,可视化并显示从网表(第三网表)70导出的功能元件之间的连接电路。
图8说明了连接电路120的可视化的并显示的电路图,该连接电路120是网表(第三网表)70中包括功能元件5a和5b的组XX的连接电路。在图8中,将每个功能元件5a和5b被看作是一个“黑盒”。只显示了功能元件之间的连接。
图9说明了指示用于生成组XX的连接电路的连接功能的数据110。数据110是以VHDL语言写的。
在图9中,第一至第三行定义了组“XX”。第四至第七行定义了功能元件“AA”(对应于功能元件5a)的输入和输出。“AAI”表示功能元件“AA”的输入而“AAO”表示功能元件“AA”的输出。
类似地,第八至第十一行定义了功能元件“BB”(对应于功能元件5b)的输入和输出。“BBI”表示功能元件“BB”的输入而“BBO”表示功能元件“BB”的输出。
第十二行定义了功能元件之间的连接线L1、L2和L3。
最后,第十三和第十四行定义了整个组XX的连接功能。特别是,第十三行定义了功能元件“AA”的输入“AAI”连接到连接线L1,而输出“AAO”连接到连接线L2。类似地,第十四行定义了功能元件“BB”的输入“BBI”连接到连接线L2,而输出“BBO”连接到连接线L3。
通过将图9所示的以VHDL语言写成的数据110与图8所示的连接电路120相比较(图7所示的步骤ST67),验证了在网表(第三网表)70中可靠地实现了功能元件之间的连接。
要注意的是,根据预定规则改变了在图8所示的连接电路120中的一些信号名称。更具体地说,通过将前缀“XX”(其是更高级组的名称)添加到以VHDL语言写成的数据110中指定的名称来确定信号的名称。例如,将名称“AAI”更改为名称“XXAAI”。因此,在图7中所示的步骤ST67的比较验证之前,增加了改变以VHDL语言写成的数据110的名称的步骤(步骤ST66)。
在该实施例中,因为在实际的FPGA上使用了穷举测试来验证每个功能元件的内部,所以即使在网表(第三网表)70的验证中将功能元件看作黑盒,也不会影响可靠性。因此,通过充分地只验证网表(第三网表)70上功能元件之间的连接,就能确保高可靠性。
在本实施例中,第一连接验证和第二连接验证可以提供功能元件之间的高度可靠的连接验证。
(5)基于仿真的验证
虽然对实际的FPGA上的每个功能元件的进行的穷举测试(图3所示的步骤ST1)和连接验证(图3所示的步骤ST6)确保了静态操作的功能性和性能,但是对于由轻微的定时改变引起的动态操作,诸如信号延迟时间的改变,这样的测试并不总是令人满意。
因此,在根据本实施例的用于验证安全装置1的方法中,使用网表(第三网表)70的数据通过仿真来获得延迟时间。通过确定延迟时间是否小于或等于预定值,进行对由定时改变引起的动态操作的验证。
图10说明了基于仿真的验证的过程。
此外,图11说明了用于更具体地描述基于仿真的验证的逻辑电路。
首先,在图10所示的步骤ST10中,使用网表(第三网表)70的数据和用于计算延迟时间的数据库通过仿真获得预定部分中的延迟时间。
在该实施例中,如图11所示,网表(第三网表)70包括两个功能元件5f和5g。每个功能元件5f和5g在其输出级包括触发器Q1和Q2。触发器Q1和Q2与外部时钟信号CLK同步地工作。
这里,在功能元件5g中引起信号延迟最大化的路径是通过AND电路A1和AND电路A2并通往触发器Q2的路径。
为了正常操作功能元件5f和5g,需要触发器Q1与外部时钟信号CLK同步地输出信号,并且需要与时钟周期tc相比,输出信号通过AND电路A1和A2到达触发器Q2所需的时间Td足够小。
因此,在图10所示的步骤ST70,通过仿真获得了从触发器Q1的输出(图11中所示的点(A))开始、经过AND电路A1和A2、并通往触发器Q2的输入(图11所示的点(B))的路径的延迟时间Td。
此时,可以按需要使用存储了AND电路A1和A2的延迟时间和在上述路径中的连接线的延迟时间的数据库。
一般而言,器件的延迟时间根据环境温度或电源电压而改变。已知改变比率对于标准使用环境是大约1.3X至1.5X,所述标准使用环境也就是在室内温度和额定的电源电压下的状态。
因此,通过仿真获得在标准使用环境中的延迟时间Td。如果延迟时间Td小于或等于一个时钟周期tc的50%,那么即使当环境温度或电源电压改变到使延迟时间最大的环境温度或电源电压时,也可以避免由定时问题引起的错误动态操作。
在图10所示的步骤ST71进行该确定。
如果通过仿真计算出的延迟时间Td小于或等于时钟周期tc的50%(在步骤ST71为是),那么完成该基于仿真的验证。
相反,如果延迟时间Td大于时钟周期tc的50%(步骤ST71为否),那么改变设计。更具体地说,增加时钟周期或者在路径上增加新的触发器以便改变该设计,所述路径例如在AND电路A1和A2之间。如果设计改变是可行的(步骤ST72为是),那么根据设计改变重新生成网表(第三网表)70。随后,再次执行仿真(步骤ST70)。如果例如因为另一限制导致设计改变不可行(步骤ST72为否),那么处理进行到步骤ST75。
在步骤ST75,通过实际上将更严格的条件强加到实际的FPGA来验证操作。即使当在标准环境下通过仿真计算出的延迟时间的容限小于50%,如果通过实际强加条件(例如,温度和电源电压)而保证了正常工作,那么也不削弱可靠性,其中所述条件在实际的FPGA上将延迟时间增加到最大。
如果在步骤ST76,保证了实际的FPGA的正常工作,那么完成处理(步骤ST76为是)。然而,如果不能保证实际的FPGA的正常工作(步骤ST76为否),那么需要附加的对策和处理。
另外,为了确保基于仿真的验证的可靠性,希望预先验证仿真自身。更具体地说,预先生成用于评估的合适的网表。使用网表数据和用于计算延迟时间的数据库通过仿真来确定延迟时间。此后,将使用用于评估的网表制造的用于评估的实际的FPGA的所测量的延迟时间与通过仿真确定的延迟时间相比较。这样,可以验证仿真自身。
(6)实际的FPGA的验证(翻转覆盖测试)
在图3所示的验证方法的过程中,在完成基于仿真的验证后,将网表(第三网表)70的数据写入实际的FPGA 4a(步骤ST8)。
随后,进行对实际的FPGA 4a的验证(步骤ST9)。在实际的FPGA的验证中,确定FPGA 4a是否提供了规格说明书所定义的功能性和性能。此外,进行被称为翻转覆盖测试的验证来增强可靠性。
翻转覆盖测试是指这样的测试,其被执行以使得被称为翻转覆盖的表示可靠性级别的标号变得大于或等于预定值,并且优选的是,值的100%。
如这里使用的,术语“翻转”指的是逻辑器件的连接线的逻辑值中从“0”到“1”或从“1”到“0”的改变。同样,术语“翻转覆盖”指的是FPGA 4a中逻辑器件之间翻转的连接线的数目与连接线的总数的比率。当预定的逻辑模式在顺序地发生改变的同时被输入到FPGA 4a时,并且当FPGA 4a中逻辑器件之间的连接线被翻转时,翻转的连接线的数目加一。
因此,“用100%翻转覆盖验证”意味着完成验证,其中FPGA 4a中逻辑器件之间的所有连接线都被翻转。
在根据该实施例的验证方法中,在图3所示的步骤ST1执行功能元件5a至5e的穷举测试。
因此,在步骤ST9的翻转覆盖测试中,不需要每个功能元件内的翻转覆盖的验证。只对功能元件之间的连接线的翻转覆盖测试是足够的。这也减少了验证时间。
图12说明了实际的FPGA的验证过程(翻转覆盖测试)。
首先,在步骤ST90,计算功能元件之间连接线的总数。例如,根据图13所示的FPGA 4a的功能元件的连接图可以计算出连接线的总数。如图13所示,以圆形指定的点指示连接线(也称为“节点”)。在图13所示的示例中,节点的总数是10。
在图13中,以黑圆指定翻转的节点,而以白圆指定未翻转的节点。因为节点总数是10而翻转的节点的数目是8,所以翻转覆盖是80%。
应该注意,有一种情况,其中从设计的观点上看,不论逻辑模式的类型怎样,功能元件之间的一些连接点显然不翻转。例如,如果将连接线连接到包括地线或电源的功能元件,那么将永远不翻转连接线的逻辑值。如果从设计的观点上看显然不翻转的连接线被进行计数以确定总数,那么会无意义地减少翻转覆盖。
因此,在图12所示的步骤ST91,从设计的观点上看不翻转的连接线被预先从连接线的总数中去除。
例如,在图14所示的连接图中,电源连接到了功能元件5d,因此,很明显功能元件5d的输入和输出不翻转。通过去除这样的连接线,用于翻转覆盖计算的连接线总数是8。在图14所示的示例中,翻转的节点的数目是8。因此,翻转覆盖是100%。
在如上所述计算出连接线的总数之后,开始翻转覆盖测试。
图15说明了翻转覆盖测试的测试系统。在实际的FPGA 4a和FPGA 4a的仿真的FPGA 201之间连接了适当的信号发生器200。可以根据例如网表(第三网表)70生成仿真的FPGA 201。
实际的FPGA 4a的输出连接到信号记录器(2)203,而仿真的FPGA 201的输出连接到信号记录器(1)202。这样,记录了这些输出。同时,比较器单元204确定这些输出是否相等。
在这样的测试系统中,信号发生器200生成顺序改变的逻辑模式(图12中所示的步骤ST92)。将逻辑模式并行地输入到实际的FPGA 4a和仿真的FPGA 201(步骤ST93)。
在仿真的FPGA 201中,确定每个连接线的翻转是否存在(步骤ST94),并自动计算翻转覆盖(步骤ST95)。
随后,确定翻转覆盖是否大于或等于预定值(步骤ST96)。如果确定翻转覆盖大于或等于预定值,那么停止测试。
此后,检查在信号记录器(2)203中记录的实际的FPGA 4a的输出。如果所有的输出都是正常的,那么完成翻转覆盖测试。
另外,仿真的FPGA 201可以包括显示单元,其显示图13中所示的电路图和节点的翻转状态。此外,当逻辑模式顺序地改变并被输入时,仿真的FPGA 201可以显示例如通过颜色区分的翻转的节点。
通过监控仿真的FPGA 201的显示屏,测试者可以容易地观看和检查未翻转的连接线。另外,因为测试者可以实时检查翻转覆盖,所以当翻转覆盖超出预定值时,测试者可以终止测试。因此,测试者可以高效地执行测试。而且,当翻转覆盖超出预定值时,仿真的FPGA201可以将该信息反馈到信号发生器以便自动停止逻辑模式的生成。该配置允许自动测量,因此提供了高效的测试。
此外,可以添加一个步骤,其中,指定FPGA 4a中的任一连接线,并从实际的FPGA 4a和仿真的FPGA 201中监控该指定的连接线上的波形。当某一异常事件发生时,这有助于调查原因。
虽然已参考指定的FPGA 4a描述了上述验证方法,但是根据本发明的一个实施例的验证方法并不限制于该指定的FPGA。该验证方法广泛应用于可编程逻辑器件。
根据本发明的验证方法和由该验证方法验证的安全装置,在将安全装置的可编程逻辑器件(FPGA)分割为功能元件之后,预先使用实际的FPGA对逻辑电路进行穷举测试,其中该逻辑电路是对每个功能元件优化过的。随后,独立地对验证过的功能元件进行逻辑综合。因此,维持了与实际的FPGA的测试的等效性。结果,优化了逻辑电路并使逻辑电路的规模最小化。因此,可以提供确保高可靠性的验证方法和由该验证方法验证的安全装置。
此外,根据本发明的验证方法和由该验证方法验证的安全装置,在综合了功能元件之后,只需要进行功能元件之间的连接的验证。结果,可以减少验证时间。因此,可以提供高效的验证方法和由该验证方法验证的安全装置。
此外,除了验证静态功能性和性能之外,通过预先仿真,通过提供用于验证动态功能和性能的步骤,确保了足够的容限,诸如定时电路的容限。因此,可以获得高可靠性。
进一步,根据本发明的验证方法和由该验证方法验证的安全装置,除了普通的规格说明书验证之外,还提供了在实际的硬件设备上进行翻转覆盖测试的步骤。因此,像对功能元件内的穷举测试一样,可以验证功能元件之间的连接线,而不忽视未验证的连接线。结果,可以获得高可靠性。此时,通过去除从设计的观点上看不翻转的连接线,可以减少验证时间,因此提供高效的验证。
虽然结合优选实施例描述了本发明,但是可以理解,这些优选实施例并不是用于将本发明限制于这些实施例。相反,通过在如权利要求定义的本发明的精神和范围内修改其组件,试图实现本发明。另外,通过从本发明的优选实施例中公开的多个组件中合并适当的组件,试图实现本发明。例如,可以从优选实施例中公开的所有组件去除一些组件。而且,多个优选实施例中的组件能够被适当地合并。
Claims (24)
1、一种用于验证包括可编程逻辑器件的安全装置的验证方法,所述可编程逻辑器件包括多个功能元件,所述方法包括以下步骤:
预先在实际的硬件上穷举地验证逻辑模式的所有输出是响应于每个功能元件的逻辑模式的所有输入而正常产生的;
使用预定的硬件描述语言,生成与在实际的硬件上验证的所述功能元件之一相同的功能元件;
将每个生成的功能元件独立地逻辑综合为多个第一网表,每个第一网表都对应于所述功能元件之一;
使用所述预定的硬件描述语言,生成所述功能元件之间的连接功能;
将所生成的连接功能逻辑综合为对应于所述连接功能的第二网表;
将所述多个第一网表与所述第二网表综合以生成第三网表;
以所述第三网表为基础将逻辑电路写入所述可编程逻辑器件;以及
在包括所写入的逻辑电路的所述实际的可编程逻辑器件上验证所述可编程逻辑器件的工作是正常的。
2、根据权利要求1所述的验证方法,还包括以下步骤:
以所生成的第三网表为基础验证所述功能元件之间的连接。
3、根据权利要求2所述的验证方法,其中所述验证所述功能元件之间的连接的步骤包括以下子步骤:
以所生成的第三网表的数据为基础,对实现了所述功能元件和所述连接功能的逻辑电路进行可视化并显示,以便以所显示的逻辑电路和定义了所述连接功能的规格说明书为基础,验证所述功能元件之间的连接是正确的。
4、根据权利要求2所述的验证方法,其中所述验证所述功能元件之间的连接的步骤包括以下子步骤:
对实现了所述连接功能的连接电路进行可视化并显示,以便以所显示的连接电路和用所述预定的硬件描述语言表示的连接功能为基础,验证所述功能元件之间的连接是正确的。
5、根据权利要求1所述的验证方法,还包括以下步骤:
以所生成的第三网表的数据为基础,对所述可编程逻辑器件的工作进行仿真,以便验证所述可编程逻辑器件的工作是正常的;
其中所述对所述可编程逻辑器件的工作进行仿真的步骤包括以下子步骤:通过仿真来评估处于以相同的时钟同步地工作的触发器器件之间的逻辑电路的延迟时间,以便验证在标准使用环境中,所评估的延迟时间小于或等于所述时钟的周期的50%。
6、根据权利要求5所述的验证方法,其中在所述对所述可编程逻辑器件的工作进行仿真的步骤中,对所述延迟时间的仿真包括一个仿真,该仿真的高效性被预先使用适当的用于评估的网表和以所述用于评估的网表为基础写入的可编程逻辑器件进行了验证。
7、根据权利要求1所述的验证方法,其中所述在实际的硬件上进行验证的步骤包括以下子步骤:
通过仿真来评估处于以相同的时钟同步地工作的触发器器件之间的逻辑电路的延迟时间;
如果在标准使用环境中,所评估的延迟时间大于所述时钟的周期的50%,那么在将使得所述延迟时间最大化的使用环境应用于所述可编程逻辑器件上的同时,在实际的硬件上验证所述可编程逻辑器件,以便验证所述可编程逻辑器件的工作是正常的。
8、根据权利要求1所述的验证方法,其中所述在实际的硬件上进行验证的步骤包括翻转覆盖测试,所述翻转覆盖测试包括以下子步骤:
预先计算所述功能元件之间的连接线的总数;
在预定的逻辑模式顺序地发生改变的同时,将所述逻辑模式输入到所述可编程逻辑器件中;
根据所输入的逻辑模式的改变,计算其逻辑值发生改变的连接线的数目;
计算翻转覆盖,所述翻转覆盖是其逻辑值发生改变的连接线的数目与所述连接线的总数的比率;以及
验证所述翻转覆盖大于或等于预定值。
9、根据权利要求8所述的验证方法,其中所述翻转覆盖测试包括用于计算所述连接线的总数、同时从所述连接线的总数中去除接地的连接线和接到电源的连接线的测试。
10、根据权利要求8所述的验证方法,其中所述翻转覆盖测试包括用于计算所述连接线的总数、同时去除从设计的观点来看不论输入的逻辑值如何其输出的逻辑值显然是固定值的连接线的测试。
11、根据权利要求8所述的验证方法,其中所述翻转覆盖测试包括以下子步骤:
并行地将所述逻辑模式顺序地输入到所述实际的可编程逻辑器件和仿真的可编程逻辑器件,以便监控所述实际的可编程逻辑器件的输出是正常的,其中所述仿真的可编程逻辑器件对所述实际的可编程逻辑器件进行仿真;
监控所述仿真的可编程逻辑器件内的连接线的逻辑值的改变,以便计算其逻辑值发生改变的连接线的数目;
响应于所述逻辑模式的输入,顺序地计算所述翻转覆盖;以及
当所述翻转覆盖大于或等于预定值时终止所述测试。
12、根据权利要求11所述的验证方法,其中所述翻转覆盖测试包括以下子步骤:选择任意的连接线并监控在所述实际的可编程逻辑器件和所述仿真的可编程逻辑器件中所选择的连接线上的波形。
13、一种安全装置,包括:
包括多个功能元件的可编程逻辑器件;
其中所述安全装置由一种验证方法进行验证,所述验证方法包括以下步骤:
预先在实际的硬件上穷举地验证逻辑模式的所有输出是响应于每个功能元件的逻辑模式的所有输入而正常产生的;
使用预定的硬件描述语言,生成与在实际的硬件上验证的所述功能元件之一相同的功能元件;
将每个生成的功能元件独立地逻辑综合为多个第一网表,每个第一网表都对应于所述功能元件之一;
使用所述预定的硬件描述语言,生成所述功能元件之间的连接功能;
将所生成的连接功能逻辑综合为对应于所述连接功能的第二网表;
将所述多个第一网表与所述第二网表综合以生成第三网表;
以所述第三网表为基础将逻辑电路写入所述可编程逻辑器件;以及
在包括所写入的逻辑电路的所述实际的可编程逻辑器件上验证所述可编程逻辑器件的工作是正常的。
14、根据权利要求13所述的安全装置,其中所述验证方法还包括以下步骤:以所生成的第三网表为基础验证所述功能元件之间的连接。
15、根据权利要求14所述的安全装置,其中所述验证所述功能元件之间的连接的步骤包括以下子步骤:
以所生成的第三网表的数据为基础,对实现了所述功能元件和所述连接功能的逻辑电路进行可视化并显示,以便以所显示的逻辑电路和定义了所述连接功能的规格说明书为基础,验证所述功能元件之间的连接是正确的。
16、根据权利要求14所述的安全装置,其中所述验证所述功能元件之间的连接的步骤包括以下子步骤:
对实现了所述连接功能的连接电路进行可视化并显示,以便以所显示的连接电路和用所述预定的硬件描述语言实现的连接功能为基础,验证所述功能元件之间的连接是正确的。
17、根据权利要求13所述的安全装置,其中所述验证方法还包括以下步骤:以所生成的第三网表的数据为基础,对所述可编程逻辑器件的工作进行仿真,以便验证所述可编程逻辑器件的工作是正常的,并且其中所述对所述可编程逻辑器件的工作进行仿真的步骤包括以下子步骤:通过仿真来评估处于以相同的时钟同步地工作的触发器器件之间的逻辑电路的延迟时间,以便验证在标准使用环境中,所评估的延迟时间小于或等于所述时钟的周期的50%。
18、根据权利要求17所述的安全装置,其中在所述对所述可编程逻辑器件的工作进行仿真的步骤中,对所述延迟时间的仿真包括一个仿真,该仿真的高效性被预先使用适当的用于评估的网表和以所述用于评估的网表为基础写入的可编程逻辑器件进行了验证。
19、根据权利要求13所述的安全装置,其中所述在实际的硬件上进行验证的步骤包括以下子步骤:
通过仿真来评估处于以相同的时钟同步地工作的触发器器件之间的逻辑电路的延迟时间;
如果在标准使用环境中,所评估的延迟时间大于所述时钟的周期的50%,那么在将使得所述延迟时间最大化的使用环境应用于所述可编程逻辑器件上的同时,在实际的硬件上验证所述可编程逻辑器件,以便验证所述可编程逻辑器件的工作是正常的。
20、根据权利要求13所述的安全装置,其中所述在实际的硬件上进行验证的步骤包括翻转覆盖测试,所述翻转覆盖测试包括以下子步骤:
预先计算所述功能元件之间的连接线的总数;
在预定的逻辑模式顺序地发生改变的同时,将所述逻辑模式输入到所述可编程逻辑器件中;
根据所述逻辑模式的改变,计算其逻辑值发生改变的连接线的数目;
计算翻转覆盖,所述翻转覆盖是其逻辑值发生改变的连接线的数目与所述连接线的总数的比率;以及
验证所述翻转覆盖大于或等于预定值。
21、根据权利要求20所述的安全装置,其中所述翻转覆盖测试包括用于计算所述连接线的总数、同时从所述连接线的总数中去除接地的连接线和接到电源的连接线的测试。
22、根据权利要求20所述的安全装置,其中所述翻转覆盖测试包括用于计算所述连接线的总数、同时去除从设计的观点来看不论输入的逻辑值如何其输出的逻辑值显然是固定值的连接线的测试。
23、根据权利要求20所述的安全装置,其中所述翻转覆盖测试包括以下子步骤:
并行地将所述逻辑模式顺序地输入到所述实际的可编程逻辑器件和仿真的可编程逻辑器件,以便监控所述实际的可编程逻辑器件的输出是正常的,其中所述仿真的可编程逻辑器件对所述实际的可编程逻辑器件进行仿真;
监控所述仿真的可编程逻辑器件内的连接线的逻辑值的改变,以便计算其逻辑值发生改变的连接线的数目;
响应于所述逻辑模式的输入,顺序地计算所述翻转覆盖;以及
当所述翻转覆盖大于或等于预定值时终止所述测试。
24、根据权利要求23所述的安全装置,其中所述翻转覆盖测试包括以下子步骤:选择任意的连接线并监控在所述实际的可编程逻辑器件和所述仿真的可编程逻辑器件中所选择的连接线上的波形。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP053016/2005 | 2005-02-28 | ||
JP2005053016A JP4568143B2 (ja) | 2005-02-28 | 2005-02-28 | 安全系装置の検証方法およびその検証方法で検証された安全系装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1900870A true CN1900870A (zh) | 2007-01-24 |
CN100454196C CN100454196C (zh) | 2009-01-21 |
Family
ID=36693572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100739748A Active CN100454196C (zh) | 2005-02-28 | 2006-02-28 | 验证安全装置的方法和由相同方法验证的安全装置 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7512917B2 (zh) |
EP (1) | EP1696328A3 (zh) |
JP (1) | JP4568143B2 (zh) |
CN (1) | CN100454196C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771408B (zh) * | 2010-01-05 | 2012-05-02 | 中国人民解放军信息工程大学 | 一种fpga硬件构件的生成方法及装置 |
CN107578835A (zh) * | 2017-08-31 | 2018-01-12 | 中广核工程有限公司 | 一种核电厂保护系统定期测试的监控系统及方法 |
CN112069749A (zh) * | 2020-09-14 | 2020-12-11 | 成都海光微电子技术有限公司 | 一种电源连接验证方法、装置、电子设备和存储介质 |
CN113408223A (zh) * | 2021-05-19 | 2021-09-17 | 无锡中微亿芯有限公司 | 一种基于智能分析的芯片设计方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4371856B2 (ja) * | 2004-03-04 | 2009-11-25 | 株式会社東芝 | 安全保護計装システムおよびその取扱方法 |
CN1938949A (zh) * | 2004-03-30 | 2007-03-28 | 日本电气株式会社 | 电路验证装置、电路验证方法以及用于其的信号分发方法 |
JP5057837B2 (ja) * | 2007-04-26 | 2012-10-24 | 株式会社東芝 | 冗長化システムおよび冗長化システムの製造方法 |
JP4586926B2 (ja) * | 2008-03-04 | 2010-11-24 | 日本電気株式会社 | 回路検証装置、回路検証プログラムおよび回路検証方法 |
JP5495336B2 (ja) * | 2009-03-03 | 2014-05-21 | 日本電気株式会社 | 遅延ライブラリ生成装置、遅延ライブラリ生成装置の制御方法、コンピュータプログラム、及び記録媒体 |
JP2010249559A (ja) * | 2009-04-13 | 2010-11-04 | Toshiba Corp | デジタル安全保護系システム |
JP5396143B2 (ja) * | 2009-05-12 | 2014-01-22 | パナソニック株式会社 | 多電源シミュレーション結果解析装置及びその結果解析方法 |
CA2707373A1 (en) | 2010-06-14 | 2011-12-14 | Ievgenii Bakhmach | Platform and method to implement safety critical instrumentation and control (i&c) functions |
JP5798736B2 (ja) * | 2010-11-05 | 2015-10-21 | 三菱重工業株式会社 | 原子力プラントの運転監視装置 |
US10558437B1 (en) * | 2013-01-22 | 2020-02-11 | Altera Corporation | Method and apparatus for performing profile guided optimization for high-level synthesis |
US11017907B2 (en) | 2013-12-31 | 2021-05-25 | Nuscale Power, Llc | Nuclear reactor protection systems and methods |
KR20150117775A (ko) * | 2014-04-10 | 2015-10-21 | 에스케이하이닉스 주식회사 | 테스트 장치 및 그의 동작 방법 |
JP6721423B2 (ja) * | 2016-06-14 | 2020-07-15 | 株式会社日立製作所 | アプリロジックおよびその検証方法 |
JP6663801B2 (ja) * | 2016-06-15 | 2020-03-13 | 株式会社日立製作所 | 半導体lsi設計装置および設計方法 |
PL3563391T3 (pl) * | 2016-12-30 | 2024-01-03 | Nuscale Power, Llc | Systemy i sposoby zabezpieczania reaktora jądrowego |
US10810336B2 (en) | 2017-10-06 | 2020-10-20 | Zglue, Inc. | Methods for automated hardware system synthesis |
CN111931445B (zh) | 2020-10-09 | 2020-12-29 | 芯华章科技股份有限公司 | 用于调试逻辑系统设计的方法、仿真器及存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2653522B2 (ja) | 1989-08-31 | 1997-09-17 | 株式会社東芝 | 原子炉中性子束監視装置 |
JPH06232259A (ja) * | 1993-02-08 | 1994-08-19 | Toshiba Corp | Fpga回路設計装置及び方法 |
JP2755237B2 (ja) * | 1995-11-29 | 1998-05-20 | 日本電気株式会社 | シミュレーション装置およびその方法 |
JPH1063700A (ja) * | 1996-08-22 | 1998-03-06 | Toshiba Corp | プリント板回路設計装置 |
JP2000090142A (ja) * | 1998-09-16 | 2000-03-31 | Fujitsu Ltd | 大規模集積回路の開発方法及び開発ツール |
US6678646B1 (en) * | 1999-12-14 | 2004-01-13 | Atmel Corporation | Method for implementing a physical design for a dynamically reconfigurable logic circuit |
JP2001243262A (ja) * | 2000-02-28 | 2001-09-07 | Sanyo Electric Co Ltd | 半導体集積回路のレイアウト変更方法及びレイアウト変更支援装置及びレイアウト変更支援プログラムが記録された記録媒体 |
CN1119819C (zh) * | 2000-11-10 | 2003-08-27 | 清华大学 | 基于硬件和软件并行处理的反应堆数字化保护系统 |
CN1293503C (zh) * | 2001-04-27 | 2007-01-03 | 株式会社鼎新 | 系统芯片的设计校验方法和装置 |
US20030120475A1 (en) * | 2001-12-26 | 2003-06-26 | Toshiba Tec Kabushiki Kaisha | Method of generating asic design database |
JP2003287587A (ja) | 2002-03-27 | 2003-10-10 | Toshiba Corp | プラント保護計装装置 |
JP2004038395A (ja) * | 2002-07-01 | 2004-02-05 | Fujitsu Ltd | 集積回路の開発方法及び開発装置 |
JP2004295403A (ja) * | 2003-03-26 | 2004-10-21 | Renesas Technology Corp | レイアウト設計装置 |
JP2004318254A (ja) | 2003-04-11 | 2004-11-11 | Toshiba Corp | 安全保護計測装置の試験装置 |
JP4509489B2 (ja) | 2003-04-14 | 2010-07-21 | 株式会社東芝 | 安全保護用放射線測定監視装置 |
US7210116B2 (en) * | 2003-06-27 | 2007-04-24 | Robert Zeidman | Method and apparatus for synthesizing a hardware system from a software description |
US7343579B2 (en) * | 2004-11-30 | 2008-03-11 | Physical Sciences | Reconfigurable environmentally adaptive computing |
-
2005
- 2005-02-28 JP JP2005053016A patent/JP4568143B2/ja active Active
-
2006
- 2006-02-23 EP EP06003734A patent/EP1696328A3/en not_active Ceased
- 2006-02-24 US US11/360,617 patent/US7512917B2/en active Active
- 2006-02-28 CN CNB2006100739748A patent/CN100454196C/zh active Active
-
2009
- 2009-02-17 US US12/372,518 patent/US20090164955A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771408B (zh) * | 2010-01-05 | 2012-05-02 | 中国人民解放军信息工程大学 | 一种fpga硬件构件的生成方法及装置 |
CN107578835A (zh) * | 2017-08-31 | 2018-01-12 | 中广核工程有限公司 | 一种核电厂保护系统定期测试的监控系统及方法 |
CN112069749A (zh) * | 2020-09-14 | 2020-12-11 | 成都海光微电子技术有限公司 | 一种电源连接验证方法、装置、电子设备和存储介质 |
CN112069749B (zh) * | 2020-09-14 | 2021-07-20 | 成都海光微电子技术有限公司 | 一种电源连接验证方法、装置、电子设备和存储介质 |
CN113408223A (zh) * | 2021-05-19 | 2021-09-17 | 无锡中微亿芯有限公司 | 一种基于智能分析的芯片设计方法 |
CN113408223B (zh) * | 2021-05-19 | 2022-08-30 | 无锡中微亿芯有限公司 | 一种基于智能分析的芯片设计方法 |
Also Published As
Publication number | Publication date |
---|---|
US7512917B2 (en) | 2009-03-31 |
US20090055784A1 (en) | 2009-02-26 |
JP2006236214A (ja) | 2006-09-07 |
EP1696328A3 (en) | 2008-08-13 |
EP1696328A2 (en) | 2006-08-30 |
US20090164955A1 (en) | 2009-06-25 |
CN100454196C (zh) | 2009-01-21 |
JP4568143B2 (ja) | 2010-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1900870A (zh) | 验证安全装置的方法和由相同方法验证的安全装置 | |
CN1241118C (zh) | 实现自动开关机测试的系统及方法 | |
CN1737598A (zh) | 用于配置在线测试的自动化调试的方法和装置 | |
CN1906619A (zh) | 断言产生系统及其程序、电路验证系统以及断言产生方法 | |
CN1703703A (zh) | 用于检验用来命令装备特别是站场装备的铁路逻辑软件引擎的设备和方法 | |
CN1781082A (zh) | 高性能串行总线测试方法 | |
US20120204150A1 (en) | System and method for usage pattern analysis and simulation | |
CN1292360C (zh) | 一种实现自动读写内部集成电路设备的装置和方法 | |
AU2012231363A1 (en) | System and method for verification and validation of redundancy software in PLC systems | |
CN1916920A (zh) | 一种功能覆盖率测试度量系统和方法 | |
CN1703657A (zh) | 在多事件同时发生期间确定竞争性原因事件的概率和/或系统有效性的方法 | |
CN1867921A (zh) | 静电放电测试装置和方法 | |
Tshagharyan et al. | An effective functional safety solution for automotive systems-on-chip | |
CN1748153A (zh) | 边界扫描控制器、半导体装置、半导体装置的半导体电路芯片识别方法及其控制方法 | |
CN1372204A (zh) | 信息处理器和实时分布式处理系统 | |
CN1598608A (zh) | 调试电路 | |
JP2010140084A (ja) | 検査モデル生成装置、モデル検査装置、及び検査モデル生成方法 | |
CN1264109C (zh) | 半导体加工机床检测的自动化管理系统及方法 | |
JP4831375B2 (ja) | 検証装置、検証方法、及びプログラム | |
CN1607658A (zh) | 半导体设计装置 | |
CN1595187A (zh) | 半导体装置的测试方法 | |
CN101078997A (zh) | 半导体集成电路系统、半导体集成电路、操作系统和半导体集成电路的控制 | |
Dhareula et al. | Prevalent criteria's in regression test case selection techniques: An exploratory study | |
Salman et al. | An improved method of obtaining basic path testing for test case based on uml state chart | |
KR101399412B1 (ko) | 고장정보마스터수목을 이용한 설비유형별 고장분류테이블 생성 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |