跨时钟域信号同步技术研究资料下载.pdf
- 文档编号:5975530
- 上传时间:2023-05-05
- 格式:PDF
- 页数:63
- 大小:4.21MB
跨时钟域信号同步技术研究资料下载.pdf
《跨时钟域信号同步技术研究资料下载.pdf》由会员分享,可在线阅读,更多相关《跨时钟域信号同步技术研究资料下载.pdf(63页珍藏版)》请在冰点文库上搜索。
与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。
申请学位论本人签名:
不实之处,本人承担一切的法律责任。
日期手型7西安电子科技大学关于论文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:
研究生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。
学校有权保留送交论文的复印件,允许查阅和借阅论文;
学校可以公布论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。
同时本人保证,毕业后结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。
(保密的论文在解密后遵守此规定)本学位论文本人签名:
导师签名:
年解密后适第一章绪论第一章绪论11研究背景9在微电子技术高速发展的今天,ASIC和FPGA已经深入到我们生活的方方面面,从仪器仪表,到网络通信,再到日用家电,我们都可以看到集成电路的身影。
面对越来越多不同种类的需求,集成电路本身的规模越来越大,功能也在越来越复杂。
在这样的环境背景下,现代的数字电路设计,基本都采用同步时序设计,所有触发器都是在同一个时钟节拍下翻转,这样的设计方式带来的好处是显而易见的,它不仅简化了设计本身,也给后端的综合、布局布线带来了极大的方便。
在这些EDA工具的帮助下,可以轻松地实现千万门甚至更大规模的集成电路;
同时,由于功能的复杂性,现代集成电路内部已经不可能只使用单一的时钟,根据功能的需要,不同时钟之间的频率和相位是有很大区别的,如果在这样两个时钟域之间直接传递数据,将会发生诸多问题,发生亚稳态的传播,引起功能错误,甚至是整个系统的崩溃。
而对于现在大多数的综合工具而言,由于它们不能确定触发器处于亚稳态的时间,因此,在判定这样的异步信号是否满足触发器的时序要求时,就变得不可靠了。
所以,我们必须采取某些机制来减轻跨时钟域信号给整个系统带来的影响,我们把这一机制称为跨时钟域信号的同步技术,这也是本文讨论的核心内容。
随着芯片制造工艺的不断进步,已经可以在同样的面积上,集成更多的晶体管,这也就为单芯片解决方案提供了可能。
因此基于ARM(AdvancedRISCMachines)的嵌入式单芯片系统,以它低成本、低功耗的优势,被广泛应用于通信、消费类电子、汽车和家电等领域。
这样的系统由一个或者多个ARM核以及外围电路组成。
外围电路完成某种特定的功能,ARM核作为中央处理器,负责组织、协调、控制外围电路的工作,再加上运行在ARM上的软件,最终形成一个完整的系统。
系统对某种功能的控制,是软件通过ARM对某一外围电路的控制寄存器的读写,以及外围电路本身对这些寄存器的操作来完成的。
因为ARM与外围电路工作在不同的时钟域,如何实现不同时钟域控制信号对同一寄存器的操作,并保持它们的一致性和协调性,就成为了设计中的难点。
对于这类问题,以往的设计中,不是同步逻辑的功能不够完备,就是用于同步的逻辑开销太大,增大了系统功耗。
而本文在总结这些方法的基础上,提出了一种新颖的同步机制,很好地实现了上述两个方面的平衡,即在实现功能的基础上,精简了用于同步的逻辑,对同类设计有着借鉴和指导的意义。
10跨时钟域信号同步技术研究12研究现状随着数字电路规模的不断扩大,跨时钟域信号的同步技术以及相应的验证技术,越来越被关注。
设计出一种有效的同步机制,并保证它的可靠性,是保证芯片最终流片成功的必要手段,同时这也就意味着可以缩短芯片的研发周期,提高产品的竞争力。
虽然,验证技术本身已经有了很大的发展,并且针对其他问题也有了较完善的方法,但对于跨时钟域信号的验证技术,国际上依然没有很成熟的解决方法。
因为不能在RTL级准确模拟触发器的亚稳态行为,也就意味着不能再现跨时钟域传递数据时出现的种种问题,这就给验证带来了很大的难度。
国外对这方面的研究相对广泛,各大EDA公司也相继在2006年前后推出了自己的跨时钟域同步验证的工具,如Mentor公司的0一In、Synopsys公司的Lcda以及Atrenta公司的spyglass等。
虽然这些工具从一定程度上提高了跨时钟域同步的验证的自动化程度,但是也都存在或多或少的局限,因此并没有在1C设计中被广泛采用。
而国内则缺少对跨时钟域信号同步的系统研究。
只有零散的关于同步电路设计的报道,而且缺少系统性,缺少对这些方法的总结和归纳,这就使得设计人员在处理同步问题时由于缺少一些指导性的原则而变得盲目。
针对基于ARM的嵌入式系统中不同类型寄存器操作之间的同步问题,更是鲜有报道。
而对于验证问题,国内则处于刚刚起步的阶段,几乎是一片空白。
13本文研究内容和安排本文基于上述背景和研究现状,在阐述了跨时钟域数据同步原理,深入分析亚稳态问题的基础上,根据时钟域之间关系和信号宽度的不同,讨论和总结了各种同步机制,分析了它们各自的优缺点。
针对一个基于ARM嵌入式系统中不同类型寄存器操作之间的同步问题,提出了一种新颖的同步机制,之后阐述了在跨时钟域数据同步问题上采用的验证方法,并提出了一个相对完备的验证流程。
具体内容如下:
第二章,阐述了数字电路跨时钟域传递数据同步的基本原理,分析了它可能带来的问题,并根据时钟之间关系的不同,分析了产生这些问题的原因。
第三章,首先深入分析了引发各种同步问题的根本原因,即亚稳态的传播,介绍了MTBF的概念;
然后根据时钟域之间关系和信号宽度的不同,讨论和总结了数字电路中经常采用的同步机制;
最后,针对一个基于ARM嵌入式系统中不同类型寄存器操作之间的同步问题,提出了解决的一般方法。
第四章,在讨论了一些基本验证方法的基础上,结合功能检查和静态验证的方法,提出了一个较完备的针对跨时钟域数据传递同步问题的验证流程,并把它第一章绪论应用到基于ARM嵌入式系统中不同类型寄存器操作之间的同步问题上。
对于同类问题,有一定借鉴意义。
第五章,总结与展望。
第二章跨时钟域同步机理第二章跨时钟域同步机理21时钟域同步一个完整的数字系统内部完全可以按照同步的方式来进行设计,但同时,这个同步系统必须与外界进行通讯,才可能实现这个系统的部分或全部功能,而这种通讯往往是异步的。
当信号从一个时钟域传送到另一个时钟域时,出现在新时钟域的信号是异步信号。
这个异步的输入可以在相对于该系统时钟的任意时刻翻转。
以手机键盘的输入为例,假定手机内部通过一个统一的时钟来协调各种事件及执行各种操作(当然,实际手机内部有多个时钟),。
同时我们用一个变量a来表示键盘被按下的事件:
a=l表示键盘被按下;
a=O表示键盘未被按下;
系统以一定频率的时钟来查询这个输入的事件,而按下键盘这一事件,与手机内部系统之间完全独立的,也就是说,变量a可能在任意时刻发生0-1的转变。
如果这个转变恰好发生在查询的时候(输入a的跳变恰好发生在时钟沿采样的时候),那么,当这样的一个值进入系统内部后,a到底是1还是0便是未知的,是一个不确定的值。
当把这个不确定的值引入系统内部后,会引起很多的问题。
例如,一个功能模块认为这个健已经被按下,而开始相应的操作:
同时,另一个模块倾向于认为a=O,即这个健没有被按下,然后,开始对应的动作。
这两种截然相反的操作往往会发生竞争,引起系统冲突,甚至是系统的崩溃。
所以,从解决问题的角度出发,当一个异步信号进入同步环境前,必须判定它是低电平还是高电平,只有这样,系统内部的各个部分之间才能够协调一致地工作,而实现这种判定功能的电路,就称为同步电路,我们会在第三章中详细讨论这类电路的各种形式。
另一方面,从寻找引起这一问题的原因出发,我们将会发现,其根源是因为异步的信号可能会违反触发器的建立保持时间的要求,使寄存器的输出为一个不确定的值,即触发器处于亚稳态。
我们也会在第三章中详细分析引发亚稳态的各种要素。
而在接下来的小节,我们会对跨时钟域数据传递引发的问题,从不同的角度,详细讨论。
14_一跨时钟域信号同步技术研究一thl一tsu一图21建立时间与保持时间如图21所示,建立时间t锄是指,当时钟有效沿到来之前,数据必须稳定的时间;
而保持时间t11是指,数据必须在时钟有效沿之后必须稳定的时间。
我们将在接下来的章节中进行详细的讨论。
22跨时钟域信号分析在SOC越来越复杂的今天,越来越多的功能被集成到芯片里,同时,数据也更加频繁地在不同的时钟域之间传递。
如图22所示,当数据在不同时钟驱动的触发器之间传递的时候,就会发生跨时钟域的问题。
elklclk2图22数据在不同时钟驱动的寄存器之间传递221跨时钟域信号带来的问题一、亚稳态的传播:
第二章跨时钟域同步机理旦图23亚稳态现象如图23所示,当输入din的变化距离elk2的有效沿非常近的时候,就会违反触发器的建立保持时间,导致输出dout产生振荡,并持续一段时间,所以当elk2的第二个有效沿来到的时候,dout有可能已经稳定,也有可能继续震荡,因此就会给系统带来以下的问题【l】【2】:
1、不同的扇出会把不稳定的dout判定为不同的值,这样就使得系统进入了一个未知的状态,导致某些功能失效。
2、最终的输出稳定在高电平doutl或者稳定在低电平dout2。
但无论怎样都可能造成至少一个周期的传播延时,导致时序问题。
由于违反了触发器的建立保持时间而导致的亚稳态传播问题,是所有跨时钟域问题的核心,在第二章会对这一问题进行更深入的讨论。
二、数据丢失f3】cIIn厂卜卜1卜厂h厂厂uL门-广UL厂Ln,u乙d腔hHh厂ao小fiL土一;
:
圆,d黼握王如16跨时钟域信号同步技术研究当个新的数据产生的时候,如果不能够保持足够的时间,就有可能不能被目的时钟域的时钟所捕获。
如图24所示:
假设clkl的频率是clk2频率的2倍,并且它们之间没有相位差,din在clkl的上升沿产生,为序列“00101111”,注意观察图24,输入序列的第三个值0-)l的变化,没有被clk2捕获,这样就造成了数据的丢失。
三、多b“数据的不连贯3】clkl厂厂厂厂厂图25多bit数据的不连贯当一个新的数据在源时钟域产生的时候,由于在目的时钟域有可能出现亚稳态,这时候就需要一个或者多个时钟周期,使其成为有效数据,这决定于目的时钟域时钟有效沿到来的时间。
考虑如下情形,当一个多bit信号跨时钟域传递时,每一位都单独采用简单同步方法,那么就有可能有一些位,经过一个周期就稳定了,而有一些位需要2个或者更多的周期才能稳定,这样就造成了数据的不连贯,即在一定的时间内,某些位是稳定的,而某些位不是。
然而,在大部分数字设计中这样的多bit数据都应当是同时有效的。
当这样的情况发生时,必然会引起系统的错误。
例如,如图25所示,“oo”和“11”是d的两个由产生的有效intO:
1clkl数据。
dintO:
1第一个1专O的变化被elk2正确捕捉,所以dOUt1:
0】由初始的“11”变成“00”;
接着,dintO:
1的所有位都有一次0专1的变化,因为clk2的有效沿距离dintO:
1的这次变化非常近,doutO】在第一个elk2有效沿之后稳定,而d】out1则在第二个elk2有效沿才稳定,这样就产生了一个中间值“01”,这是不希望发生的。
由上述问题可以看出,跨时钟域问题很大一部分依赖于源时钟域时钟和目的时钟域时钟之间的关系。
根据时钟之间关系的不同,我们可以分为同步时钟域和异步时钟域,我们会在下一个小节,根据时钟之间这样的关系分别对问题作深入的讨论。
第二章跨时钟域同步机理222在不同类型的时钟域之间传递数据由上一个小节的分析,我们认识到,两个时钟域之间的时钟有着怎样的关系,直接决定着跨时钟域的数据传递。
我们将以两个时钟是否同源,它们之间的频率相位关系是否可以预测为出发点,分别讨论在同步时钟域和异步时钟域下的数据传递。
一、同步时钟域如果两个时钟域时钟的频率和频率、相位和相位之间是相关的,我们就称这两个时钟域是同步时钟域【jJ。
为了满足上述的要求,这两个时钟应该是同源时钟。
下面,我们根据相位与频率的具体关系,做以下分类,为了便于描述,我们把两个时钟分别称为clkl和clk2,并进一步假设时钟clkl与时钟clk2有相同的时钟偏差:
1、时钟clkl与时钟clk2之间频率相同,相位差为02、时钟clkl与时钟clk2之间频率相同,有固定的相位差3、时钟clkl与时钟clk2之间频率不同,有可变的相位差我们分别对上述情况进行讨论:
1、时钟clkl与时钟clk2之间频率相同,相位差为0clkldk2i厂一dn。
u,ll厂一图25频率与相位都没有差别的两个时钟域因为clkl与clk2从同一个源时钟产生,并且频率相位相同,所以我们可以认为clkl与clk2是同一个时钟,当数据在这样的两个时钟域之间传递的时候,唯一的要求就是两个时钟域之间的组合逻辑满足建立保持时间,这样就不会出现上一节描述的各种问题。
2、时钟clkl与时钟clk2之间频率相同,有固定的相位差跨时钟域信号同步技术研究时钟clkl和时钟clk2之间频率相同、并且有着固定的相位差。
这样的设计常见于芯片的一些外部接口,例如,MMCSD接口,USB接口等,clk2常作为反馈时钟输入。
如图26,假定clkl与clk2之间有固定的34的相位差,这时,只要两个时钟域之间的组合逻辑满足建立保持时间的要求,就可以正确传递数据。
clkli厂广厂厂厂厂厂厂cIk2厂阳厂厂厂厂厂厂3,4Td_inl厂1一一i广一d_outy图26两个时钟之间频率相同,有着固定的相位差3、时钟clkl与时钟elk2之间频率不同,有可变的相位差当时钟频率不同时,情况变得复杂起来,为了清楚地认识问题,可以进一步把这一问题细化:
clkl的频率大于elk2的频率的,并且频率差是整数倍的。
clklr厂广厂广广厂厂厂厂一;
TdinI厂r一_。
___-。
-______-____。
_一:
一do还I图27源时钟域频率是目的时钟域的整数倍因为两个时钟之间的频率差是整数倍的,因此最小的可能相位差就为较快时钟的一个周期。
如图27所示,假定elkl的周期是T,频率是clk2的3倍,那么对于clk2而言,建立时间至少为T,只要T大于触发器的建立时间,就不会有亚稳态发生。
对于这种情况而言,唯一可能发生的是数据丢失,因此,数据应该至少保持clk2的两个周期,即clkl的6个周期,这样,clk2就可以正确的采集到数据。
clk2的频率大于clkl的频率的,并且频率差是整数倍的。
第二章跨时钟域同步机理19clkl厂广厂厂一clk2厂厂厂广厂厂厂厂厂厂:
Tdn;
厂r_一dout厂二一I图28目的时钟域频率是源时钟的整数倍两个时钟之间的可能的最小的相位差依然为T,与上面情况不同的是,因为数据是由较慢的时钟域向较快的时钟域传递,因此不会发生数据丢失的问题。
只要T大于触发器的建立时间,数据就可以正确传递。
clk的频率大于elk2的频率的,并且频率差是非整数倍的。
clkl厂厂厂厂厂1厂厂厂:
Id=!
门d:
!
垡叭图29源时钟域频率是目的时钟域的非整数倍当两个时钟的频率差不是整数倍的时候,意味着它们之间的最小相位差可以足够的小,就有可能出现亚稳态的情况。
如图29所示,ckl_的频率是clk2频率的17倍,它们之间的最小相位差已经使ctk2捕获数据时出现了亚稳态,并且ctk2的第一个有效沿也违反了触发器的建立一保持时间要求。
同时,由于是由较快的时钟域向较慢的时钟域传递数据,由于数据没有在源时钟域保持足够的时间,在clk2时钟域也发生了数据丢失的情况。
要在这样的两个时钟域之间传递数据并且避免上述问题的出现,必须使数据在源时钟域保持足够的时间,至少为目的时钟域时钟周期的两倍。
clk2的频率大于cll(1的频率的,并且频率差是非整数倍的。
跨时钟域信号同步技术研究cI!
厂广厂厂厂厂d_!
i_;
r卜一d!
卜弋lf一d!
;
f弋lf一如图210,同上一种情况类似,当clkl与elk2的频率差不是整数倍的时候,两个时钟之间的相位差就有可能很小,造成亚稳态的问题,为了在这种情况下正确传递数据,也要求数据保持目的时钟域时钟的两个周期。
虽然我们对于同步时钟域之间数据传递的讨论只局限于单bit数据,对于多bit数据,为了避免前面提到的数据不一致情况的出现,需要采用握手机制或者FIFO,但从理论意义上讲,在同步时钟域之间传递数据,因为我们对于两个时钟之间的相位关系是可以预知的,所以,我们就可以知道目的时钟域的时钟有效沿何时到达,只要使数据在源时钟域保持足够的时间,那么数据就可以在这样的两个时钟域之间正确传递,并不需要任何其他的电路结构。
而当数据在异步时钟域之间传输的时候,必须用某种具有特殊功能的电路,来完成跨时钟域数据的传递,我们把具有这种功能的电路成为同步电路或同步器。
二、异步时钟域异步时钟域是指两个时钟域的时钟之间是不相关的,它们之间的相位关系是不可以预知的。
因此,前面讨论的诸如亚稳态、数据丢失、多bit数据不一致等问题都会出现,并且这些问题都是不可预知的,因此我们必须用同步电路来完成数据在这样两个时钟域之间的传递。
对于大多数设计而言,这种情况是最常见的,我们会在第二章讨论同步电路的各种形式以及一些其他同步机制。
23ARM及TSMU模块简介231ARM以及TSMU模块功能简介在了解了跨时钟域信号同步的基本原理,以及由此可能引发的问题之后,我们把目光集中到一个具体问题基于ARM的嵌入式系统中,不同类型寄存器操作之间的同步问题。
ARM1】f41(AdvancedRISCMachines),既可以认为是个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。
1991年ARM第二章跨时钟域同步机理2l公司成立于英国剑桥,主要出售芯片设计技术的授权。
目前,采用ARM技术知识产权(P)核的微处理器,即我们通常所说的ARM微处理器,因为体积小、低功耗、低成本、高性能的特点已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。
ARM公司是专门从事基于RISC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 时钟 信号 同步 技术研究