基于FPGA的数据采集系统中跨时钟域设计的研究
2017-12-29刘勇重庆电子工程职业学院
刘勇 重庆电子工程职业学院
基于FPGA的数据采集系统中跨时钟域设计的研究
刘勇 重庆电子工程职业学院
随着数字电路系统设计复杂性的增加,一个系统中存在多个时钟域,而信号在不同的时钟域之间进行传递时会带来由跨时钟域引起的亚稳态,从而导致对下一级逻辑电路的影响。本文论述了在基于FPGA的数据采集系统设计中对跨时钟域信号处理的几种方式,从而尽可能的保证了信号在跨时钟域设计中的稳定性。
数字电路 跨时钟域 FPGA 亚稳态
1 引言
随着数字电路设计复杂度的提高,设计中存在多个时钟域变得越来越普遍。由于多时钟的异步系统内含有多个时钟源的频率和相位存在差异,当信号跨时钟域时就可能违背建立时间和保持时间的要求,出现亚稳态的现象。数字设计中没有EDA工具能够智能的去考虑和解决电路中的跨时钟域引起的亚稳态问题,而需要工程师了解可靠性设计从而减小电路中跨时钟域同步失败的危险。跨时钟域同步问题可以分为两类:一是信号的跨时钟域同步;二是数据的跨时钟域同步。在该数据采集系统中存在大量的跨时钟域设计,本文重点讨论信号的跨时钟域同步问题。
2 亚稳态的产生
在数字电路中,触发器正常工作必须满足保持时间(Hold time)和建立时间(Setup time)。保持时间指在时钟沿之后,信号必须保持稳定的时间。建立时间指在时钟沿到来之前,触发器输入信号必须保持稳定的时间。因此,要使一个信号正确进入触发器,信号就必须满足建立时间与保持时间的规则,如果输入信号不满足,触发器的输出信号则会进入亚稳态。
3 信号跨时钟域同步
信号同步的目的是防止新时钟域中第一级触发器的亚稳态信号对下一级逻辑造成影响。简单的同步由两个触发器串联而成,中间没有其他组合电路。这种设计可以保证后面的触发器获得前一个触发器输出时,前一个触发器已退出了亚稳态,并且输出已稳定。设计中要注意将两个触发器放得尽可能近,以确保两者间有最小的时滞(clock skew)。在信号的跨时钟域设计中主要有三种类型:
①电平同步。电平同步适合用于信号从低时钟域到高时钟域的同步,跨时钟域的信号在新时钟域中要保持高电平或低电平两个时钟周期以上。这种电路的要求是,在再次成为有效信号前,信号需要先变成无效状态。每一次信号有效时,接收逻辑都会把它看作一个单个事件,而不管信号的有效状态保持了多久。
②边沿检测同步。边沿检测同步器在电平同步器的输出端增加了一个触发器,新增触发器的输出经反相后和电平同步器的输出进行与操作。这一电路会检测同步器输入的上升沿,产生一个与时钟周期等宽、高电平有效的脉冲。如果将与门的两个输入端交换使用,就可以构成一个检测输入信号下降沿的同步器。
③脉冲同步。脉冲同步器的输入信号是一个单时钟宽度脉冲,它触发原时钟域中的一个翻转电路。每当翻转电路接收到一个脉冲时,它就会在高、低电平间进行转换,然后通过电平同步器到达异或门的一个输入端,而另一个信号经一个时钟周期的延迟进入异或门的另一端。
在FPGA的数据采集系统中,由于MCU工作的时钟频率是USB提供的30MHz,而IF模块逻辑工作在DDR2控制器提供的125MHz频率下,同时数据采集输入输出接口时钟为62.5MHz和50MHz。因此MCU与IF模块之间的控制信号存在跨时钟域的问题,即xx_begin信号是从MCU的时钟域到DDR2的时钟域,而xx_ done信号恰好相反。在本系统设计的过程中xx_begin信号电平同步设计,而xx_done信号脉冲同步设计。
4 结论
在多时钟域系统设计中,跨时钟域信号的处理关系到系统设计的稳定性,如何有效的避免信号在跨时钟域时引起的亚稳态是现代大规模复杂数字电路和FPGA系统设计的难点和重点。
本文通过在基于FPGA数据采集系统中的实践表明,文中所述的三种时钟域电路能够有效处理信号跨时钟域传递的问题。但是在实际使用的过程中要结合三种电路的应用范围和限制,以及结合实际设计与实际需求来选择。
[1]Paradigm Works Inc.Crossing the abyss-asynchronous signal in a synchronous world.
[2]邹晨 ZOU Chen. FPGA设计中跨时钟域信号同步方法. 航空计算技术 2014[4]
[3]吴小蕻.跨时钟域若干问题的研究同步与亚稳态[D].合肥:中国科学技术大学,2008
[4]廖艳,王广君,高杨.FPGA异步时钟设计中的同步策略[J].自动化技术与用,2006,25(1):67-68
[5]Xilinx Virtex-5 User Guide [M]. Xilinx Inc., 2008
[6]Xilinx Memory Interface Generator(MIG) User Guide[M]. Xilinx Inc., 2008
[7]Xilinx Inc.Constraints Guide.Release 10.1
刘勇(1983-),男,汉族,重庆沙坪坝人,重庆电子工程职业学院应用电子学院,讲师。