一种跨时钟域数据接口的实现方法技术

技术编号:25803395 阅读:40 留言:0更新日期:2020-09-29 18:37
本发明专利技术公开了一种跨时钟域数据接口的实现方法,属于数据传输技术领域。所述方法包括:设计同步器:将两级同步器修改成在原时钟域内的一个脉冲宽度只对目标时钟域的单个脉冲输出有效;设计FIFO缓存器:在缓存器中设置一个寄存器prt_gap,用于指示指针间的间隙;设计控制模块及时序:设置两级移位寄存器同步电路,使得在原时钟域中产生的信号write被同步到目标时钟域上;提升异步FIFO通用性:设置一个32位串并移位寄存器,并通过串并移位寄存器状态机控制所述32位串并移位寄存器,将串行信号转换成32位并行信号。本发明专利技术在深入分析跨时钟域数据传输的基础上,设计了基于异步FIFO的跨时钟数据接口,解决了跨时钟域数据传输问题。

【技术实现步骤摘要】
一种跨时钟域数据接口的实现方法
本专利技术涉及数据传输
,特别涉及一种跨时钟域数据接口的实现方法。
技术介绍
随着信息时代的来临以及我国航空航天事业的高速发展,近年来不断的国外制裁,使得我国现在十分重视集成电路工艺。而集成电路工艺的飞速发展,也推动着片上系统的发展,集成电路的发展史可以追溯到世界上第一台计算机ENIAC在1946年的诞生,并且一直遵循摩尔定律来飞速发展,如今已经进入了深亚纳米的阶段,因为微电子自身的发展以及市场的需求,使得集成电路特征尺寸越来越小,在进入纳米加工时代时,在一个集成电路芯片上可以实现一个复杂的电子系统,从而产生了片上系统。片上系统的技术开始于20世纪90年代中期,是在集成电路向集成系统转变下产生的,它是基于多个知识产权(IntellectualProperty,简称IP)核间的组合而构成的。IP核是数字电路中常用的,但较为复杂的功能块设计成可修改的模块。随着片上系统的规模越来越大,设计越来越复杂,为了在规定时间内完成复杂的设计,避免大量重复的劳动,减少设计工程师的负担,一个片上系统中IP核的数量也越来越多。而随着IP核的数量越来越多,部分IP核的工作时钟域不同,导致IP核之间的数据交互发生在不同的时钟域,而跨时钟域处理是一件很困难的事情,无论是在设计的前端还是步入设计的后端,都没有很好的工具去保证,只能靠设计人员的经验进行最大的保证,然而若这个问题处理不好,整个设计可能就完全报废,而最怕的就是设计出来的东西时好时坏,有时稳定,有时出错,所以需要一个数据接口,从而保证IP核之间的数据交互的稳定性。现有技术中,处理跨时钟域的方法有:少量的数据用边沿检测电路,脉冲检测电路,电平检测电路或两级触发器;比较多的数据时,大多数用异步先入先出(FristInFristOut,简称FIFO)。然而近年来,随着数据越来越多,对芯片的要求越来越高,异步FIFO的接口使用也越来越多,目前我国众多设备的芯片都是依靠于国外进口,国内也有部分厂商和研究院开发FIFO接口,但并不成体系,而且并不能满足我国设备的使用需求,而FIFO缓存器的过度依赖进口会严重影响国家的安全。因而,抓紧研发异步FIFO是一项要紧的任务,也对国内集成电路的发展有着重大意义。
技术实现思路
为了实现跨时钟域数据传输,本专利技术实施例提供了一种跨时钟域数据接口的实现方法,所述方法包括:设计同步器:将两级同步器修改成在原时钟域内的一个脉冲宽度只对目标时钟域的单个脉冲输出有效;设计FIFO缓存器:在缓存器中设置一个寄存器prt_gap,用于指示指针间的间隙;设计控制模块及时序:设置两级移位寄存器同步电路,使得在原时钟域中产生的信号write被同步到目标时钟域上;提升异步FIFO通用性:设置一个32位串并移位寄存器,并通过串并移位寄存器状态机控制所述32位串并移位寄存器,将串行信号转换成32位并行信号。可选地,所述将两级同步器修改成在原时钟域内的一个脉冲宽度只对目标时钟域的单个脉冲输出有效,包括:在所述两级同步器的中间插入一个选路复用器。可选地,所述方法还包括:对所述同步器进行仿真;对所述FIFO缓存器进行仿真;对所述32位串并移位寄存器进行仿真;对所述FIFO总体进行仿真。本专利技术实施例提供的技术方案带来的有益效果是:值得说明的是,本专利技术在深入分析跨时钟域数据传输的基础上,设计了基于异步FIFO的跨时钟数据接口,首先,分析了不同时钟域间数据传输的特点,采用异步FIFO作为跨时钟域的数据接口;其次,在深入理解异步FIFO工作原理的基础上给出了结构框图、控制模块和时序要求;最后,对异步FIFO进行仿真,并进行测试验证,仿真结果显示,本专利技术所设计的异步FIFO可以解决跨时钟域数据传输问题。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种同频同相位的两个同步时钟波形;图2是本专利技术实施例提供的一种同频不同相位的两个同步时钟波形;图3是本专利技术实施例提供的一种跨时钟域数据传输示意图;图4是本专利技术实施例提供的一种跨时钟域数据接口的实现方法的流程图;图5是本专利技术实施例提供的一种异步写脉冲区间的示意图;图6是本专利技术实施例提供的一种同步时钟电路的设计示意图;图7是本专利技术实施例提供的一种堆栈及指针结构示意图;图8是本专利技术实施例提供的一种异步FIFO的总体设计示意图;图9是本专利技术实施例提供的一种串并移位寄存器状态机的工作流程图;图10是本专利技术实施例提供的一种同步电路仿真结果图;图11是本专利技术实施例提供的一种同步电路37ns和48ns时仿真结果图;图12是本专利技术实施例提供的一种FIFO堆栈的仿真结果图;图13是本专利技术实施例提供的一种FIFO堆栈0ns到84ns的仿真结果图;图14是FIFO堆栈92ns到180ns的仿真结果图;图15是FIFO堆栈188ns到235ns的仿真结果图;图16是FIFO堆栈236ns以后的仿真结果;图17是32位串并移位寄存器仿真图;图18是32位串并移位寄存器在10ns时的仿真图;图19是32位串并移位寄存器在20ns到120ns时的仿真图;图20是32位串并移位寄存器在140ns到240ns时的仿真图;图21是32位串并移位寄存器在260ns到345ns时的仿真图;图22是异步FIFO仿真结果图;图23是异步FIFO前92ns时的仿真结果图;图24是异步FIFO52ns到300ns时的仿真结果图;图25是异步FIFO300ns到2103ns时的仿真结果图;图26是异步FIFO2534ns时的仿真结果图;图27是异步FIFO2703ns时的仿真结果图;图28是异步FIFO3981ns到4209ns时的仿真结果图;图29是异步FIFO4452ns到4492ns时的仿真结果图;图30是异步FIFO6003ns到6255ns时的仿真结果图;图31是异步FIFO6255ns到7779ns的仿真结果图;图32是异步FIFO7766ns到7788ns的仿真结果图;图33是异步FIFO7791ns到10000ns的仿真结果图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。应用场景在对本专利技术提供的一种跨时钟域数据接口的实现方法进行详细的解释说明之前,先对本专利技术的应用场景进行介绍:近年来,随着数据越来越多,对芯片的要求越来越高,异步FIFO的接口使本文档来自技高网
...

【技术保护点】
1.一种跨时钟域数据接口的实现方法,其特征在于,所述方法包括:/n设计同步器:将两级同步器修改成在原时钟域内的一个脉冲宽度只对目标时钟域的单个脉冲输出有效;/n设计FIFO缓存器:在缓存器中设置一个寄存器prt_gap,用于指示指针间的间隙;/n设计控制模块及时序:设置两级移位寄存器同步电路,使得在原时钟域中产生的信号write被同步到目标时钟域上;/n提升异步FIFO通用性:设置一个32位串并移位寄存器,并通过串并移位寄存器状态机控制所述32位串并移位寄存器,将串行信号转换成32位并行信号。/n

【技术特征摘要】
1.一种跨时钟域数据接口的实现方法,其特征在于,所述方法包括:
设计同步器:将两级同步器修改成在原时钟域内的一个脉冲宽度只对目标时钟域的单个脉冲输出有效;
设计FIFO缓存器:在缓存器中设置一个寄存器prt_gap,用于指示指针间的间隙;
设计控制模块及时序:设置两级移位寄存器同步电路,使得在原时钟域中产生的信号write被同步到目标时钟域上;
提升异步FIFO通用性:设置一个32位串并移位寄存器,并通过串并移位寄存器状态机控制所述32位串并...

【专利技术属性】
技术研发人员:王九鑫赵一诺郭斯林戈嘉艺
申请(专利权)人:西安九天孵化器科技有限公司
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1