CN110175091B - 一种Lockstep架构下的节点间信号同步方法、装置及电路 - Google Patents
一种Lockstep架构下的节点间信号同步方法、装置及电路 Download PDFInfo
- Publication number
- CN110175091B CN110175091B CN201811510227.5A CN201811510227A CN110175091B CN 110175091 B CN110175091 B CN 110175091B CN 201811510227 A CN201811510227 A CN 201811510227A CN 110175091 B CN110175091 B CN 110175091B
- Authority
- CN
- China
- Prior art keywords
- node
- signal
- fpga
- asic
- ready
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1604—Error detection or correction of the data by redundancy in hardware where the fault affects the clock signals of a processing unit and the redundancy is at or within the level of clock signal generation hardware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明提供一种Lockstep架构下的节点间信号同步方法、装置及电路,包括:接收表征所述第一节点准备是否就绪的第一就绪信号;对所述第一就绪信号进行n个时钟周期的延时,得到本地同步信号;所述n是大于1的整数;对所述第一就绪信号进行m个时钟周期的延时,得到所述第一节点的延时就绪信号,所述m是小于所述n的正整数;向第二节点发送所述第一节点的延时就绪信号;所述第二节点的结构与所述第一节点的结构完全相同;接收所述第二节点发送的第二节点的延时就绪信号;对所述第二节点的延时就绪信号进行n-m个时钟周期的延时,得到远端同步信号;当所述本地同步信号和所述远端同步信号同时有效时,将所述第一节点的目标关键信号置为有效。
Description
技术领域
本发明涉及高安全嵌入式计算领域,尤其涉及一种Lockstep架构下的节点间信号同步方法、装置及电路。
背景技术
锁步(Lockstep)技术是一种用于提高计算完整性的先进技术,主要应用于对安全性要求很高的嵌入式计算领域,例如民用飞机的航空电子系统。Lockstep技术使用冗余的多组硬件组件(处理器、FPGA/ASIC、内存等),通过运行中同步比对的方式,来让多个处理节点在同一时间内精确地同步执行相同的指令。
图1是一种典型的Lockstep技术架构。两组硬件组件锁步运行,每组硬件包含处理器,FPGA/ASIC,内存,设备等,两组硬件采用统一的参考时钟。使用FPGA或者ASIC芯片来对两个处理器的总线访问进行锁步控制和锁步比对,当正常锁步运行时,两个处理器总线是一致的,不会发生比对错误,而当某个硬件组件发生错误时,两个处理器总线上的读写访问就会发生差异,从而发生比对错误。这样的锁步运行和锁步比对机制可以及时监测到处理器总线上体现出的任何错误。由于处理器对内存、设备的访问都会体现为处理器总线上的读写操作,因此对于处理器总线的错误监控实际上覆盖了对处理器、内存、设备等相关硬件的故障监控。在监测到错误后,系统可以及时采取相应的措施,例如故障静默或者降级运行。Lockstep技术的故障检测有着很高的实时性和覆盖率,有效地阻止了故障蔓延,显著提高了系统硬件的完整性。
在Lockstep架构中,一般包含两组或三组硬件组件锁步运行,将每组硬件组件称之为一个节点。通常使用FPGA或者ASIC芯片来进行不同节点之间的锁步比对。锁步比对是以统一的参考时钟为基准进行的,所以在正常锁步运行时,不同节点的FPGA/ASIC其内部的关键信号应该是基于参考时钟彼此同步的。如果不同节点的FPGA/ASIC,其内部关键信号发生了彼此不同步的现象,就有可能导致锁步比对失败,进而触发系统故障。因此,在Lockstep架构下,必须保证不同节点的FPGA/ASIC其内部关键信号的彼此同步,这也是实现多处理器锁步运行的前提条件。
发明内容
本发明的目的:
针对背景技术中提到的在Lockstep架构下,不同节点的FPGA/ASIC其内部关键信号基于统一的参考时钟应当同步的需求,提出一种设计方法。使用了该设计方法的关键信号可以在不同节点之间完全同步,这就可以避免关键信号不同步带来的锁步比对错误,进而提高了Lockstep系统的运行稳定性。
本发明的技术方案:
第一方面,提供一种Lockstep架构下的节点间信号同步方法,应用于第一节点,所述方法包括:
接收表征所述第一节点准备是否就绪的第一就绪信号;
对所述第一就绪信号进行n个时钟周期的延时,得到本地同步信号;所述n是大于1的整数;
对所述第一就绪信号进行m个时钟周期的延时,得到所述第一节点的延时就绪信号,所述m是小于所述n的正整数;
向第二节点发送所述第一节点的延时就绪信号;所述第二节点的结构与所述第一节点的结构完全相同;
接收所述第二节点发送的第二节点的延时就绪信号;
对所述第二节点的延时就绪信号进行n-m个时钟周期的延时,得到远端同步信号;
当所述本地同步信号和所述远端同步信号同时有效时,将所述第一节点的目标关键信号置为有效。
进一步的,所述n是2,所述m是1。
第二方面,提供一种Lockstep架构下的节点间信号同步装置,包括:
第一接收模块,用于接收表征所述第一节点准备是否就绪的第一就绪信号;
第一延时模块,用于对所述第一就绪信号进行n个时钟周期的延时,得到本地同步信号;所述n是大于1的整数;
第二延时模块,用于对所述第一就绪信号进行m个时钟周期的延时,得到所述第一节点的延时就绪信号,所述m是小于所述n的正整数;
发送模块,用于向第二节点发送所述第一节点的延时就绪信号;所述第二节点的结构与所述第一节点的结构完全相同;
第二接收模块,用于接收所述第二节点发送的第二节点的延时就绪信号;
第三延时模块,用于对所述第二节点的延时就绪信号进行n-m个时钟周期的延时,得到远端同步信号;
设置模块,用于当所述本地同步信号和所述远端同步信号同时有效时,将所述第一节点的目标关键信号置为有效。
第三方面,提供一种Lockstep架构下的节点间信号同步电路,所述电路是所述第一节点的组成部分,包括:
锁相环、包括串联的n个触发器的第一组触发器、包括串联的m个触发器的第二组触发器、包括串联的n-m个触发器的第三组触发器和逻辑电路;所述n是大于1的整数;所述m是小于所述n的正整数;
所述锁相环的输入端输入时钟信号,所述锁相环的输出端连接所述第一组触发器、第二组触发器和第三组触发器的时钟端;
所述第一组触发器的输入端输入第一就绪信号;所述第一组触发器的输出端输出本地同步信号;
所述第二组触发器的输入端输入第一就绪信号;所述第二组触发器的输出端输出第一节点的延时就绪信号;
所述第三组触发器的输入端输入第二节点的延时就绪信号;所述第三组触发器的输出端输出远端同步信号;
所述逻辑电路在本地同步信号和远端同步信号同时有效时,将第一节点的目标关键信号置为有效。
进一步的,所述n是2,所述m是1。
第四方面,提供一种Lockstep架构下的节点间信号同步系统,包括:
第一Lockstep架构下的节点间信号同步电路、第二Lockstep架构下的节点间信号同步电路和时钟信号发生器;
其中,所述时钟信号发生器输出端连接所述第一Lockstep架构下的节点间信号同步电路中的锁相环的输入端和所述第二Lockstep架构下的节点间信号同步电路中的锁相环的输入端;所述第一Lockstep架构下的节点间信号同步电路的第二组触发器输出端与所述第二Lockstep架构下的节点间信号同步电路的的第三组触发器的输入端连接;所述第二Lockstep架构下的节点间信号同步电路的第二组触发器输出端与所述第一Lockstep架构下的节点间信号同步电路的的第三组触发器的输入端连接。
第五方面,提供一种计算机可读的存储介质,所述存储介质上存储有指令,所述指令被处理器执行时实现所述第一方面任一项所述方法的步骤。
本发明的优点与效果:
由于一些不可避免的原因,Lockstep架构中不同节点的FPGA/ASIC,其内部信号会产生不同步的情况,而关键信号的不同步可能会导致锁步比对错误,影响Lockstep系统的稳定运行。
本发明提出了一种设计方法,使用该设计方法可以实现Lockstep架构中不同节点的FPGA/ASIC内部关键信号的完全同步。这样,一方面可以避免关键信号不同步带来的锁步比对错误,另一方面也可以确保不同节点的FPGA/ASIC能够向处理器芯片给出完全同步的输出信号。这样便可以大大提高Lockstep系统的运行稳定性。
另外,本设计方法也可以实现FPGA/ASIC外部异步输入信号在不同节点的同步化处理,外部异步输入信号经同步化处理后在各个节点中表现出完全同步的行为,从而避免了异步信号可能引起的锁步比对错误,进一步提高了Lockstep系统的运行稳定性。
本发明的设计方法和实现细节与FPGA/ASIC内部的具体功能无关,是一种通用的设计方法,便于使用和移植。
对于如图1所示的典型的Lockstep硬件架构而言,其稳定运行的前提条件就是不同节点间关键信号的完全同步,因此本发明是该典型Lockstep硬件系统必须采用的设计技术。
附图说明
图1为典型的Lockstep硬件架构图;
图2为不同节点关键信号同步置为有效的原理图;
图3为内部信号在不同节点间进行同步的电路图;
图4为内部信号在不同节点间进行同步的时序图;
图5为异步输入信号在不同节点间进行同步的电路图。
具体实施方式
Lockstep架构中不同节点的FPGA/ASIC其内部信号会因为一些无法避免的客观原因产生节点间的不同步,这种不同步可能会导致锁步比对错误,影响Lockstep系统的稳定运行。本发明提出了一种Lockstep架构下的节点间信号同步方法,有效地解决了该问题。
本发明的设计方法可以实现Lockstep架构中不同节点的FPGA/ASIC内部关键信号的完全同步,这样一方面可以避免节点间关键信号不同步带来的锁步比对错误,另一方面也可以确保不同节点的FPGA/ASIC能够向处理器芯片给出完全同步的输出信号,从而提高了Lockstep系统的运行稳定性。另外,本发明的设计方法也可以实现FPGA/ASIC外部异步输入信号在不同节点的同步化处理,从而避免了异步信号可能引起的锁步比对错误,进一步提高了Lockstep系统的运行稳定性。
本发明的设计方法和实现细节与FPGA/ASIC内部的具体功能无关,是一种通用的设计方法,便于使用和移植。
在Lockstep硬件体系结构中,为了让不同节点可以稳定地锁步运行,需要尽力让不同节点的硬件电路在运行中保持同步。为了达成这一目的,通常尽量使两个节点的硬件采用相同的输入,并努力提高硬件电路的确定性,尽可能地使其在相同输入的情况下产生相同的输出。例如,通常让不同的节点采用统一的参考时钟,让不同节点的FPGA/ASIC尽量采用同源的输入信号,在FPGA/ASIC设计中尽量使用同步设计,避免异步设计等等。
但即便实施了上述举措,仍然无法完全保证两个节点之间信号的同步性。设想以下几种情况:
1.FPGA/ASIC虽然采用了同源的外部输入信号,并尽可能地进行了线路等长设计,但是如果外部输入信号与参考时钟是异步的,就有可能发生不同节点的输入信号经时钟沿采样后电平不一致的情况;
2.FPGA/ASIC内部存在多个时钟域,信号在不同时钟域之间进行传递时,由于时钟与时钟之间相位的不确定性,导致跨时钟域传递后的信号时序不确定(通常表现为提前一个周期或者推后一个周期),这也可能导致不同节点的跨时钟域信号彼此不同步的情况;
3.FPGA/ASIC外接的其他硬件(处理器、内存、设备等),虽然各节点采用的都是相同型号的芯片,并且尽力保证不同节点的芯片输入信号彼此同步,但仍然有可能因为温度、供电、芯片个体差异等原因,导致不同节点的芯片输出运行结果一致但时间上有所偏差的信号。这种小范围的偏差并不属于故障,而是Lockstep系统应该容忍的情况。因此,不同节点的其他硬件芯片输出到FPGA/ASIC的信号会存在信息相同但时间上不同步的情况。
这类原因都可能导致不同节点的FPGA/ASIC内部关键信号彼此不同步。要想维持Lockstep架构下多个节点的稳定锁步运行,一方面要力求各个节点的FPGA/ASIC内部硬件电路运行尽可能同步,另一方面要保证各个节点的FPGA/ASIC对处理器芯片的输出信号完全同步(对处理器之外的其他芯片的输出信号也要尽量同步)。这就要求不同节点的FPGA/ASIC,其内部的一些关键信号,例如复位释放信号、向处理器总线发出的应答信号、向处理器发出的中断信号等等,必须是完全同步的,否则就会导致锁步比对故障。例如复位释放信号不同步,会导致不同节点开始工作的时机不同步,进而导致锁步比对故障;向处理器发出的中断信号不同步,会导致不同节点处理器进入中断服务的时机不同步,也会导致锁步比对故障。
综上所述,由于一些不可避免的原因,Lockstep架构中不同节点的FPGA/ASIC,其内部信号会产生不同步的情况。但为了维持稳定的锁步运行,FPGA/ASIC内部的一些关键信号必须做到节点间同步,这就要求在FPGA/ASIC的设计中,对这些关键信号要进行专门的同步化处理。
图2是一种直观的解决方式——确保两个节点均就绪后,再将关键信号置为有效。每个节点在本节点已经准备好要将某关键信号置为有效时,产生“本节点就绪”信号,并把该信号输出到另一节点。每个节点在“本节点就绪”信号有效,并且收到的“另一节点就绪”信号也有效时,才将本节点内相应的关键信号置为有效。通过这样的方法,就可以确保两个节点中的关键信号是同步被置为有效的。
但图2的解决方法能够奏效的前提是,必须确保本节点内的“本节点就绪”信号,与另一节点内的“另一节点就绪”信号是完全同步的。如果这两个信号不同步,则没办法保证两个节点的关键信号是同步被置为有效。虽然本节点内的“本节点就绪”信号,与另一节点内的“另一节点就绪”信号是同源产生的,但是在经过不同的传输路径后(一个信号在本节点FPGA/ASIC内传输,另一个信号在节点之间传输,经过了芯片输入输出管脚以及印制电路板),两个信号往往存在时序上的差异。必须采取某种技术手段来确保这两个信号完全同步,图2的解决方法才可以确保两个节点中的关键信号被同步置为有效。
图3是解决该问题的具体实施方式。采用必要的时序设计约束(后文有详细解释)后,图3可以保证源自同一个信号M的“本地同步信号M”和“远端同步信号M”是基于参考时钟完全同步的,尽管它们分别处于不同节点的FPGA/ASIC中。A节点FPGA/ASIC和B节点FPGA/ASIC都采用同源的外部时钟CLK,外部时钟CLK在两个节点的PCB走线进行等长设计,并且在两个节点的FPGA/ASIC内部使用锁相环(PLL)电路来锁定时钟相位,这样便可以保证两个节点FPGA/ASIC内部所使用的参考时钟(PLL输出时钟)CLKA和CLKB具有相同的周期及相位。
以A节点的信号M为例,信号M应当是一个CLKA时钟域内的信号(即信号M相对于CLKA时钟有着足够的建立时间和保持时间),在经过两级触发器后,产生“本地同步信号M”。同时信号M经一级触发器FFA后输出到A节点FPGA/ASIC外部,并经PCB印制板走线后,进入到B节点FPGA/ASIC内,再经一级触发器FFB,产生“远端同步信号M”。如果FPGA/ASIC内部CLKA/CLKB的时钟周期时序约束被满足,并且“A节点FPGA/ASIC内触发器FFA到输出管脚的时延约束”+“M信号PCB印制板传输时延”+“B节点FPGA/ASIC内输入管脚到触发器FFB的时延约束”三者的时长总和小于CLK时钟周期的时长,则可以保证信号波形如图4所示。从图4可见,采取了这样的设计后,“本地同步信号M”和“远端同步信号M”是基于参考时钟CLKA/CLKB完全同步的。同理可知,源自同一个信号N的“本地同步信号N”和“远端同步信号N”也是基于参考时钟CLKA/CLKB完全同步的。
将图2中同源产生的本节点内的“本节点就绪”信号与另一节点内的“另一节点就绪”信号以图3的方式进行设计。本节点内的“本节点就绪”信号等同于“本地同步信号M”,另一节点内的“另一节点就绪”信号等同于“远端同步信号M”,就可以保证本节点内的“本节点就绪”信号与另一节点内的“另一节点就绪”信号是基于参考时钟完全同步的。进而,就可以确保两个节点中的关键信号是同步被置为有效的。
综上所述,使用图2和图3相结合的设计方案,就可以实现Lockstep架构中不同节点的FPGA/ASIC内部关键信号的完全同步。这样,一方面可以避免关键信号不同步带来的锁步比对错误,另一方面也可以确保不同节点的FPGA/ASIC能够向处理器芯片给出完全同步的输出信号。这样便可以大大提高Lockstep系统的运行稳定性。
另外,图3的这种设计方法也可以用于将FPGA/ASIC的异步输入信号在两个节点中进行同步,如图5所示。A节点的异步输入信号X进入FPGA/ASIC后,首先使用两级触发器进行同步,生成“初同步信号X”。“初同步信号X”是属于CLKA时钟域的同步信号,对其进行与图3相似的同步化处理,生成A节点内的“本地同步信号X”和B节点内的“远端同步信号X”,两者是完全同步的。同理,B节点的异步输入信号Y经同步化处理后生成的“本地同步信号Y”和“远端同步信号Y”,也是完全同步的。这就实现了Lockstep架构中FPGA/ASIC的异步输入信号在各个节点的同步化处理。使用该设计方案后,即便是与参考时钟没有确定时序关系的异步输入信号,在各个节点中也可以表现出完全同步的行为,从而避免了异步信号可能引起的锁步比对错误,提高了Lockstep系统的运行稳定性。
本发明的工作步骤:
对于Lockstep架构下,FPGA/ASIC内部关键信号在不同节点之间同步化处理的工作步骤如下:
1.A节点准备好将FPGA内的某个关键信号置为有效时,产生内部信号M(信号M属于CLKA时钟域);
2.信号M在A节点内经过两级触发器后,产生“本地同步信号M”,即A节点的“本节点就绪信号”;
3.同时信号M经一级触发器后输出到A节点FPGA/ASIC外部,并经PCB印制板走线后,进入到B节点FPGA/ASIC内,再经一级触发器,产生“远端同步信号M”,即B节点内的“另一节点就绪信号”;
4.同样的,B节点准备好将FPGA内的相应关键信号置为有效时,产生内部信号N(信号N属于CLKB时钟域);
5.信号N在B节点内经过两级触发器后,产生“本地同步信号N”,即B节点的“本节点就绪信号”;
6.同时信号N经一级触发器后输出到B节点FPGA/ASIC外部,并经PCB印制板走线后,进入到A节点FPGA/ASIC内,再经一级触发器,产生“远端同步信号N”,即A节点内的“另一节点就绪信号”;
7.当A节点内的“本节点就绪信号(本地同步信号M)”和“另一节点就绪信号(远端同步信号N)”都有效时,将A节点的关键信号置为有效;
8.当B节点内的“本节点就绪信号(本地同步信号N)”和“另一节点就绪信号(远端同步信号M)”都有效时,将B节点的关键信号置为有效;
9.通过以上步骤,A节点和B节点的关键信号同步被置为有效。
对于Lockstep架构下,FPGA/ASIC外部异步输入信号在不同节点之间同步化处理的工作步骤如下:
1.A节点FPGA/ASIC外部的异步输入信号X在进入FPGA/ASIC后,先经过两级触发器,生成“初同步信号X”;
2.“初同步信号X”在A节点内再经过两级触发器后,产生“本地同步信号X”;
3.同时“初同步信号X”经一级触发器后输出到A节点FPGA/ASIC外部,并经PCB印制板走线后,进入到B节点FPGA/ASIC内,再经一级触发器,产生“远端同步信号X”;
4.A节点的“本地同步信号X”与B节点的“远端同步信号X”是完全同步的;
5.同样的,B节点FPGA/ASIC外部的异步输入信号Y在进入FPGA/ASIC后,先经过两级触发器,生成“初同步信号Y”;
6.“初同步信号Y”在B节点内再经过两级触发器后,产生“本地同步信号Y”;
7.同时“初同步信号Y”经一级触发器后输出到B节点FPGA/ASIC外部,并经PCB印制板走线后,进入到A节点FPGA/ASIC内,再经一级触发器,产生“远端同步信号Y”;
8.B节点的“本地同步信号Y”与A节点的“远端同步信号Y”是完全同步的。
以上工作步骤可以正确运行的前提是:
1.两个节点FPGA/ASIC的参考时钟信号源自于同一个外部时钟,并且外部走线进行了等长设计,同时都在内部使用了锁相环电路来锁定相同的时钟相位;
2.FPGA/ASIC内部参考时钟CLKA/CLKB的时钟周期时序约束被满足,并且信号在节点间传输时,“输出方节点的FPGA/ASIC内触发器到输出管脚的时延约束”+“信号PCB印制板传输时延”+“输入方节点的FPGA/ASIC内输入管脚到触发器的时延约束”三者的时长总和小于参考时钟周期的时长。
由于一些不可避免的原因,Lockstep架构中不同节点的FPGA/ASIC,其内部信号会产生不同步的情况,而关键信号的不同步可能会导致锁步比对错误,影响Lockstep系统的稳定运行。
本发明提出了一种设计方法,使用该设计方法可以实现Lockstep架构中不同节点的FPGA/ASIC内部关键信号的完全同步。这样,一方面可以避免关键信号不同步带来的锁步比对错误,另一方面也可以确保不同节点的FPGA/ASIC能够向处理器芯片给出完全同步的输出信号。这样便可以大大提高Lockstep系统的运行稳定性。
另外,本设计方法也可以实现FPGA/ASIC外部异步输入信号在不同节点的同步化处理,外部异步输入信号经同步化处理后在各个节点中表现出完全同步的行为,从而避免了异步信号可能引起的锁步比对错误,进一步提高了Lockstep系统的运行稳定性。
本发明的设计方法和实现细节与FPGA/ASIC内部的具体功能无关,是一种通用的设计方法,便于使用和移植。
对于如图1所示的典型的Lockstep硬件架构而言,其稳定运行的前提条件就是不同节点间关键信号的完全同步,因此本发明是该典型Lockstep硬件系统必须采用的设计技术。
Claims (7)
1.一种Lockstep架构下的节点间信号同步方法,其特征在于,应用于第一节点,所述方法包括:
接收表征第一节点准备是否就绪的第一就绪信号;
对第一就绪信号进行n个时钟周期的延时,得到本地同步信号;所述n是大于1的整数;
对第一就绪信号进行m个时钟周期的延时,得到第一节点的延时就绪信号,所述m是小于所述n的正整数;
向第二节点发送第一节点的延时就绪信号,以便于第二节点产生第二节点的远端同步信号,第二节点准备好将FPGA内的相应关键信号置为有效时,产生内部信号N,信号N在第二节点内经过两级触发器后,产生第二就绪信号,即第二节点的本地同步信号;当第二节点的本地同步信号和第二节点的远端同步信号都有效时,将第二节点的关键信号置为有效;第二节点的结构与第一节点的结构完全相同;第二节点的结构与第一节点的结构完全相同;
接收第二节点发送的第二节点的延时就绪信号;
对第二节点的延时就绪信号进行n-m个时钟周期的延时,得到第一节点的远端同步信号;
当第一节点的本地同步信号和第一节点的远端同步信号同时有效时,将第一节点的目标关键信号置为有效;
两个节点FPGA/ASIC的参考时钟信号源自于同一个外部时钟,并且外部走线进行了等长设计,同时都在内部使用了锁相环电路来锁定相同的时钟相位;
FPGA/ASIC内部参考时钟CLKA/CLKB的时钟周期时序约束被满足,并且信号在节点间传输时,“输出方节点的FPGA/ASIC内触发器到输出管脚的时延约束”+“信号PCB印制板传输时延”+“输入方节点的FPGA/ASIC内输入管脚到触发器的时延约束”三者的时长总和小于参考时钟周期的时长。
2.根据权利要求1所述的方法,其特征在于,所述n是2,所述m是1。
3.一种Lockstep架构下的节点间信号同步装置,其特征在于,包括:
第一接收模块,用于接收表征第一节点准备是否就绪的第一就绪信号;
第一延时模块,用于对第一就绪信号进行n个时钟周期的延时,得到本地同步信号;所述n是大于1的整数;
第二延时模块,用于对第一就绪信号进行m个时钟周期的延时,得到第一节点的延时就绪信号,所述m是小于所述n的正整数;
发送模块,用于向第二节点发送第一节点的延时就绪信号,以便于第二节点产生第二节点的远端同步信号,第二节点准备好将FPGA内的相应关键信号置为有效时,产生内部信号N,信号N在第二节点内经过两级触发器后,产生第二就绪信号,即第二节点的本地同步信号;当第二节点的本地同步信号和第二节点的远端同步信号都有效时,将第二节点的关键信号置为有效;第二节点的结构与第一节点的结构完全相同;第二节点的结构与第一节点的结构完全相同;
第二接收模块,用于接收第二节点发送的第二节点的延时就绪信号;
第三延时模块,用于对第二节点的延时就绪信号进行n-m个时钟周期的延时,得到第一节点的远端同步信号;
设置模块,用于当第一节点的本地同步信号和第一节点的远端同步信号同时有效时,将第一节点的目标关键信号置为有效;
两个节点FPGA/ASIC的参考时钟信号源自于同一个外部时钟,并且外部走线进行了等长设计,同时都在内部使用了锁相环电路来锁定相同的时钟相位;
FPGA/ASIC内部参考时钟CLKA/CLKB的时钟周期时序约束被满足,并且信号在节点间传输时,“输出方节点的FPGA/ASIC内触发器到输出管脚的时延约束”+“信号PCB印制板传输时延”+“输入方节点的FPGA/ASIC内输入管脚到触发器的时延约束”三者的时长总和小于参考时钟周期的时长。
4.一种Lockstep架构下的节点间信号同步电路,所述电路是第一节点的组成部分,其特征在于,包括:
锁相环、包括串联的n个触发器的第一组触发器、包括串联的m个触发器的第二组触发器、包括串联的n-m个触发器的第三组触发器和逻辑电路;所述n是大于1的整数;所述m是小于所述n的正整数;
所述锁相环的输入端输入时钟信号,所述锁相环的输出端连接第一组触发器、第二组触发器和第三组触发器的时钟端;
第一组触发器的输入端输入第一就绪信号;第一组触发器的输出端输出本地同步信号;
第二组触发器的输入端输入第一就绪信号;第二组触发器的输出端输出第一节点的延时就绪信号;
第三组触发器的输入端输入第二节点的延时就绪信号;第三组触发器的输出端输出远端同步信号;
逻辑电路在本地同步信号和远端同步信号同时有效时,将第一节点的目标关键信号置为有效;
两个节点FPGA/ASIC的参考时钟信号源自于同一个外部时钟,并且外部走线进行了等长设计,同时都在内部使用了锁相环电路来锁定相同的时钟相位;
FPGA/ASIC内部参考时钟CLKA/CLKB的时钟周期时序约束被满足,并且信号在节点间传输时,“输出方节点的FPGA/ASIC内触发器到输出管脚的时延约束”+“信号PCB印制板传输时延”+“输入方节点的FPGA/ASIC内输入管脚到触发器的时延约束”三者的时长总和小于参考时钟周期的时长。
5.根据权利要求4所述的电路,其特征在于,所述n是2,所述m是1。
6.一种Lockstep架构下的节点间信号同步系统,其特征在于,包括:
第一Lockstep架构下的节点间信号同步电路、第二Lockstep架构下的节点间信号同步电路和时钟信号发生器;节点间信号同步电路如权利要求4或5所述,时钟信号发生器如权利要求4或5所述;
其中,所述时钟信号发生器输出端连接第一Lockstep架构下的节点间信号同步电路中的锁相环的输入端和第二Lockstep架构下的节点间信号同步电路中的锁相环的输入端;第一Lockstep架构下的节点间信号同步电路的第二组触发器输出端与第二Lockstep架构下的节点间信号同步电路的第三组触发器的输入端连接;第二Lockstep架构下的节点间信号同步电路的第二组触发器输出端与第一Lockstep架构下的节点间信号同步电路的第三组触发器的输入端连接;
两个节点FPGA/ASIC的参考时钟信号源自于同一个外部时钟,并且外部走线进行了等长设计,同时都在内部使用了锁相环电路来锁定相同的时钟相位;
FPGA/ASIC内部参考时钟CLKA/CLKB的时钟周期时序约束被满足,并且信号在节点间传输时,“输出方节点的FPGA/ASIC内触发器到输出管脚的时延约束”+“信号PCB印制板传输时延”+“输入方节点的FPGA/ASIC内输入管脚到触发器的时延约束”三者的时长总和小于参考时钟周期的时长。
7.一种计算机可读的存储介质,所述存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现所述权利要求1-2任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811510227.5A CN110175091B (zh) | 2018-12-11 | 2018-12-11 | 一种Lockstep架构下的节点间信号同步方法、装置及电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811510227.5A CN110175091B (zh) | 2018-12-11 | 2018-12-11 | 一种Lockstep架构下的节点间信号同步方法、装置及电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110175091A CN110175091A (zh) | 2019-08-27 |
CN110175091B true CN110175091B (zh) | 2023-06-23 |
Family
ID=67688978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811510227.5A Active CN110175091B (zh) | 2018-12-11 | 2018-12-11 | 一种Lockstep架构下的节点间信号同步方法、装置及电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110175091B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5249188A (en) * | 1991-08-26 | 1993-09-28 | Ag Communication Systems Corporation | Synchronizing two processors as an integral part of fault detection |
US5487092A (en) * | 1994-12-22 | 1996-01-23 | International Business Machines Corporation | System for high-speed synchronization across clock domains |
CN1983225A (zh) * | 2006-05-09 | 2007-06-20 | 华为技术有限公司 | 一种在异步时钟域传输数据的装置及其方法 |
WO2011129960A1 (en) * | 2010-04-15 | 2011-10-20 | Xilinx, Inc. | System and method for lockstep synchronization |
EP3334090A1 (en) * | 2016-12-08 | 2018-06-13 | InCoax Networks Europe AB | Method and system for synchronization of node devices in a coaxial network |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2340627B (en) * | 1998-08-13 | 2000-10-04 | Plessey Telecomm | Data processing system |
US7240231B2 (en) * | 2002-09-30 | 2007-07-03 | National Instruments Corporation | System and method for synchronizing multiple instrumentation devices |
US8156371B2 (en) * | 2009-06-16 | 2012-04-10 | Honeywell International Inc. | Clock and reset synchronization of high-integrity lockstep self-checking pairs |
JP5925507B2 (ja) * | 2012-02-07 | 2016-05-25 | 株式会社日立製作所 | データ照合装置、照合方法及びそれを用いた安全保安システム |
-
2018
- 2018-12-11 CN CN201811510227.5A patent/CN110175091B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5249188A (en) * | 1991-08-26 | 1993-09-28 | Ag Communication Systems Corporation | Synchronizing two processors as an integral part of fault detection |
US5487092A (en) * | 1994-12-22 | 1996-01-23 | International Business Machines Corporation | System for high-speed synchronization across clock domains |
CN1983225A (zh) * | 2006-05-09 | 2007-06-20 | 华为技术有限公司 | 一种在异步时钟域传输数据的装置及其方法 |
WO2011129960A1 (en) * | 2010-04-15 | 2011-10-20 | Xilinx, Inc. | System and method for lockstep synchronization |
CN102939591A (zh) * | 2010-04-15 | 2013-02-20 | 吉林克斯公司 | 用于锁步同步的系统和方法 |
EP3334090A1 (en) * | 2016-12-08 | 2018-06-13 | InCoax Networks Europe AB | Method and system for synchronization of node devices in a coaxial network |
Non-Patent Citations (1)
Title |
---|
FPGA 设计中跨时钟域信号同步方法;邹晨;《航空计算技术》;第第 44 卷卷(第第 4 期期);第131-134页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110175091A (zh) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7617409B2 (en) | System for checking clock-signal correspondence | |
US7089442B2 (en) | Fault-tolerant clock generator | |
US8275977B2 (en) | Debug signaling in a multiple processor data processing system | |
US5537655A (en) | Synchronized fault tolerant reset | |
US8205110B2 (en) | Synchronous operation of a system with asynchronous clock domains | |
US7089462B2 (en) | Early clock fault detection method and circuit for detecting clock faults in a multiprocessing system | |
US10248156B2 (en) | Data processing device | |
US8156371B2 (en) | Clock and reset synchronization of high-integrity lockstep self-checking pairs | |
US6545508B2 (en) | Detection of clock signal period abnormalities | |
US10547311B2 (en) | Reducing glitches that occur when multiplexing of asynchronous clocks using flip-flops and logic gates | |
JP5925507B2 (ja) | データ照合装置、照合方法及びそれを用いた安全保安システム | |
CN110175091B (zh) | 一种Lockstep架构下的节点间信号同步方法、装置及电路 | |
US7706484B2 (en) | Coherent frequency clock generation and spectrum management with non-coherent phase | |
US6892345B1 (en) | Integrated circuit including duplicated synchronous and asynchronous components | |
US6182237B1 (en) | System and method for detecting phase errors in asics with multiple clock frequencies | |
US10924091B2 (en) | Immediate fail detect clock domain crossing synchronizer | |
Azidehak et al. | Resilient two dimensional redundancy based fault-tolerant controller array for modular multi-level converters | |
US20120033772A1 (en) | Synchroniser circuit and method | |
JPH1011309A (ja) | プロセッサ出力比較方法およびコンピュータシステム | |
US9762248B1 (en) | Pre-synchronizer | |
Handl et al. | Adopting the Scan Approach for a Fault Tolerant Asynchronous Clock Generation Circuit | |
JP2023005569A (ja) | データ入出力装置及びデータ入出力方法 | |
EP4371234A1 (en) | Circuit for detecting timing violations in a digital circuit | |
JP2003224550A (ja) | タイミング信号発生回路、信号伝送システム、および、タイミング信号発生方法 | |
GB2608396A (en) | Sampling signals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |