一种用于原型验证系统的时钟对齐系统及方法与流程

文档序号:23717122发布日期:2021-01-24 06:02阅读:104来源:国知局
一种用于原型验证系统的时钟对齐系统及方法与流程

[0001]
本公开涉及信号采集及传输技术领域,尤其涉及一种用于原型验证系统的时钟对齐系统及方法。


背景技术:

[0002]
集成电路在验证阶段一般会选择在fpga上做原型验证,用户设计会被切割成多个部分放在多颗fpga上,为了保证切割后的设计能够正常运行,需要保证多个fpga的时钟相位一致,一般的做法是在硬件上保证时钟缓冲到各个fpga走等长的路径,物理上保证相位的等长。但是,一般用户还使用该时钟生成更多路的派生时钟,其中还包括各种分频,虽然主时钟相位是完全一致的,但是当从高频时钟生成分频时钟的时候,分频时钟的相位可能会错位。
[0003]
如图1所示,fpga_clkdiv4是输入时钟的4分频时钟,同输入时钟沿对齐,但是图中三个fpga的时钟并不对齐,会影响设计间数据通讯,需要同步这些派生时钟的相位,以满足设计要求。


技术实现要素:

[0004]
有鉴于此,本公开实施例提供一种用于原型验证系统的时钟对齐系统及方法,该系统及方法可以实现多片fpga派生时钟的相位对齐。
[0005]
为了实现上述目的,本发明提供如下技术方案:本发明的一种用于原型验证系统的时钟对齐系统,包括:锁相环替换单元,用于分析出用户提供的设计网表中的时钟树,找出时钟树中的锁相环,并标记由锁相环生成的派生时钟,通过分割算法将设计分割为多片,分析各分片逻辑,判断分片逻辑是否使用标记的派生时钟,若是,则复制该派生时钟对应的锁相环及锁相环之上的时钟树,将用户分片后的网表中的锁相环替换为锁相环电路和相位调整模块;还包括相位检测逻辑模块和多个fpga芯片,所述fpga芯片上包括时钟生成器,所述时钟生成器包括所述锁相环电路和相位调整模块,所述相位检测逻辑模块包括异或逻辑电路和输出相位控制器;所述锁相环电路与所述异或逻辑电路通过时钟反馈线连接,用于将时钟信号传输至所述异或逻辑电路,所述异或逻辑电路用于判断多个时钟信号的相位是否一致,并将判断结果传输至所述输出相位控制器;所述输出相位控制器与所述相位调整模块连接,用于将控制信号传输至所述相位调整模块,所述相位调整模块与所述锁相环电路连接,用于控制锁相环电路的输出相位偏移,实现多个fpga芯片分频时钟信号的相位一致;进一步地,每个所述fpga芯片与所述相位检测逻辑模块之间的时钟反馈线长度均相同。
[0006]
进一步地,所述fpga芯片中还包括多路复用器,用于将时钟生成器产生的多个时钟信号通过同一时钟反馈线传输至所述异或逻辑电路。
[0007]
进一步地,所述异或逻辑电路通过判断是否检测到脉冲来确定多个时钟的相位是否一致。
[0008]
进一步地,所述异或逻辑电路包括多相位时钟生成器和脉冲计数逻辑单元,所述多相位时钟生成器采集到多个时钟相位的信号,通过脉冲计数逻辑单元判断是否检测到脉冲,确定多个时钟的相位是否一致。
[0009]
进一步地,所述异或逻辑电路能够检测大于等于1/4个采样时钟周期的脉冲信号。
[0010]
进一步地,所述相位调整模块包括输出相位步进脉冲生成器,用于将控制命令转换成脉冲信号,控制锁相环电路的输出相位偏移。
[0011]
本发明还提供一种应用于如上述的用于原型验证系统的时钟对齐系统的对齐方法,包括:分析出用户提供的设计网表中的时钟树,找出时钟树中的锁相环,并标记由锁相环生成的派生时钟,通过分割算法将设计分割为多片,分析各分片逻辑,判断分片逻辑是否使用标记的派生时钟,若是,则复制该派生时钟对应的锁相环及锁相环之上的时钟树,将用户分片后的网表中的锁相环替换为锁相环电路和相位调整模块;多个fpga芯片的时钟生成器产生时钟信号后,通过芯片上的锁相环电路将时钟信号的相位传至相位检测逻辑模块,经过相位检测逻辑模块中的异或逻辑电路判断每个芯片的时钟相位是否一致,若不一致,则通过输出相位控制器向相位调整模块发出控制信号,相位调整模块控制锁相环电路的输出相位偏移,实现多个fpga芯片分频时钟信号的相位一致。
[0012]
进一步地,输出相位控制器向相位调整模块发出控制信号,使相位调整模块以多个时钟信号中的任意一个时钟信号的相位为基准,控制其余锁相环电路的输出相位偏移,实现多个fpga芯片分频时钟信号的相位一致。
[0013]
本发明的一种用于原型验证系统的时钟对齐系统及方法,其有益效果在于:该系统及方法可以实现多片fpga派生时钟的相位对齐,给用户提供更灵活的时钟方案,减少用户处理时钟树的负担。
附图说明
[0014]
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0015]
图1为4分频时钟的相位错位示意图;图2为通过本发明将4分频时钟的fpga2_clkdiv的时钟同fpga1_clkdiv对齐示意图;图3为通过本发明将4分频时钟的fpga3_clkdiv的时钟同fpga1_clkdiv对齐示意图;图4为本发明的同步系统结构示意图;图5为时钟树结构示意图;图6为本发明的锁相环替换单元示意图。
具体实施方式
[0016]
下面结合附图对本公开实施例进行详细描述。
[0017]
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开
一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0018]
要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0019]
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0020]
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
[0021]
如图4-6所示,本公开实施例提供一种用于原型验证系统的时钟对齐系统,包括锁相环替换单元,用于分析出用户提供的设计网表中的时钟树,找出时钟树中的锁相环,并标记由锁相环生成的派生时钟,通过分割算法将设计分割为多片,分析各分片逻辑,判断分片逻辑是否使用标记的派生时钟,若是,则复制该派生时钟对应的锁相环及锁相环之上的时钟树,将用户分片后的网表中的锁相环替换为时钟生成器中的锁相环电路和相位调整模块。
[0022]
还包括相位检测逻辑模块30和多个fpga芯片,所述fpga芯片上包括时钟生成器10,所述时钟生成器10包括锁相环电路和相位调整模块,所述相位检测逻辑模块30包括异或逻辑电路和输出相位控制器;所述锁相环电路与所述异或逻辑电路通过时钟反馈线20连接,用于将时钟信号传输至所述异或逻辑电路,所述异或逻辑电路用于判断多个时钟信号的相位是否一致,并将判断结果传输至所述输出相位控制器;所述输出相位控制器与所述相位调整模块连接,用于将控制信号传输至所述相位调整模块,所述相位调整模块与所述锁相环电路连接,用于控制锁相环电路的输出相位偏移,实现多个fpga芯片分频时钟信号的相位一致。
[0023]
基于上述用于原型验证系统的时钟对齐系统的对齐方法为:首先,分析出用户提供的设计网表中的时钟树,找出时钟树中的锁相环,并标记由锁相环生成的派生时钟,通过分割算法将设计分割为多片,分析各分片逻辑,判断分片逻辑是否使用标记的派生时钟,若是,则复制该派生时钟对应的锁相环及锁相环之上的时钟树,将用户分片后的网表中的锁相环替换为锁相环电路和相位调整模块;接下来,多个fpga芯片的时钟生成器10产生时钟信号后,通过芯片上的锁相环电路将时钟信号的相位传至相位检测逻辑模块30,经过相位检测逻辑模块30中的异或逻辑电路判
断每个芯片的时钟相位是否一致,若不一致,则通过输出相位控制器向相位调整模块发出控制信号,相位调整模块控制锁相环电路的输出相位偏移,实现多个fpga芯片分频时钟信号的相位一致。具体地,输出相位控制器向相位调整模块发出控制信号,使相位调整模块以多个时钟信号中的任意一个时钟信号的相位为基准,控制其余锁相环电路的输出相位偏移,实现多个fpga芯片分频时钟信号的相位一致。
[0024]
本发明中,首先将用户网表中的锁相环替换为包含相位调整模块的锁相环。其原因在于:一个数字电路系统通常需要使用多路时钟,但是这些时钟通常并不是芯片io管脚来提供,而是通过一个基础时钟生成设计中所需时钟,基础时钟通过各种时钟变换生成所需时钟的树形结构称为时钟树。图5描述了一个简单的时钟树,基础时钟(时钟1)100m通过锁相环生成一个25m时钟(时钟2),锁相环的输出又经过一个反相器生成了一个同时钟2相位相差180度的时钟3。通常的设计还会在这个结构上继续扩展,生成更多的设计所需时钟。由一个时钟生成的另外一个时钟,称为派生时钟,例如时钟2就是基础时钟的派生时钟,比如时钟3也是基础时钟的派生时钟。
[0025]
因此,本发明的技术方案中,在进行时钟对齐前需要进行如下步骤:1、通过软件分析用户提供的设计网表,将设计网表中的时钟树分析出来,并以树型结构存储。
[0026]
2、遍历时钟树,找到所有的锁相环模块,并标记所有由各锁相环生成的所有派生时钟。
[0027]
3、通过分割算法将设计分割成多片,并分析各个分片后的逻辑,判断分片逻辑是否是使用到标记的派生时钟,以图5为例,如果分片的逻辑使用到时钟2或时钟3,那么就会复制该派生时钟对应的锁相环及锁相环之上的时钟树。
[0028]
4、将用户分片后的网表中的锁相环替换成包含相位调整模块的锁相环。
[0029]
本发明将时钟生成器进行了设计,在时钟生成器10中设置相位调整模块,通过将相位调整模块和锁相环电路一起封装成一个支持时钟相位调整的pll电路。在使用时,首先通过软件将用户设计中的pll模块识别出来,并替换成支持时钟相位调整的pll电路。具体的,fpga内的pll模块为厂家提供的标准单元,对一些标准名称进行调用,如果客户使用到这些单元,设计中一定会有该单元的实例引用,通过软件扫描客户设计代码,找到对应名称的实例引用,读取该pll的配置参数,将这些配置参数用于本发明提供的包含相位调整模块的pll上,即可做到pll的设置同客户原始功能一致,也可支持相位调整。
[0030]
在该pll电路的基础上,同时设计了包括相位检测逻辑模块30的硬件平台,能够将pll输出的时钟反馈给外部该硬件平台的控制芯片,该硬件平台还支持控制芯片访问每一颗连接的fpga,使时钟生成器10与外部的硬件平台之间形成信号反馈路径,硬件平台在通过反馈路径得到所有fpga各自生成的时钟,并通过异或电路来检测时钟相位是否一致。并将其中任意一颗fpga的反馈时钟作为参考点,用其他fpga的时钟分别同该时钟进行相位检测,如果相位不一致,则步进调整所比较fpga的时钟相位,直至同参考点相位一致。如图2和图3所示,基于图1中4分频时钟的错位相位,采用本发明的系统和方法先将fpga2_clkdiv的时钟同fpga1_clkdiv对齐,如图2所示;再将fpga3_clkdiv的时钟同fpga1_clkdiv对齐,如图3所示,最后达到所有fpga分频时钟的相位一致。
[0031]
进一步优选的,如图4所示,所述相位调整模块包括输出相位步进脉冲生成器,用
于将控制命令转换成脉冲信号,控制锁相环电路的输出相位偏移。具体地,相位检测逻辑模块30会发送步进相位指令给相位调整模块,该模块接收到该指令后,会将其按照pll的控制接口时序来产生相位调整命令,具体表现为相位步进脉冲生成器生成调整脉冲,控制pll做相位的微调。具体实现上,pll每接收到一个调整脉冲,会增加1/n的vco相位偏移,n由用户提供的pll参数决定。
[0032]
为了确保各个fpga芯片的时钟信号从fpga传送到相位检测逻辑模块30后仍然保持原来的相位关系,每个所述fpga芯片与所述相位检测逻辑模块30之间的时钟反馈线20长度均相同。
[0033]
由于用户的fpga内可能不只一个时钟需要对齐,进一步地,所述fpga芯片中还包括多路复用器,用于将时钟生成器10产生的多个不同的时钟信号通过同一时钟反馈线传输至所述异或逻辑电路。fpga内部通过多路复用器将需要对齐的时钟信号送出去,通过这样节约fpga的io资源,降低pcb设计难度。增加了该方法对用户设计的普适性。
[0034]
进一步地,所述异或逻辑电路包括多相位时钟生成器和脉冲计数逻辑单元,所述多相位时钟生成器采集到多个时钟相位的信号,通过脉冲计数逻辑单元判断是否检测到脉冲,确定多个时钟的相位是否一致。
[0035]
进一步地,所述异或逻辑电路能够检测大于等于1/4个采样时钟周期的脉冲信号。由于相位检测逻辑模块的检测电路的限制,如果检测电路由250m时钟驱动,且分别使用4个相位进行采样,采样分辨率为采样时钟周期的1/4,即为1ns,小于1ns的脉冲可能会检测不出。即对齐的时钟可能会存在小于1/4采样时钟周期的相位偏差,但该相位偏差在设计指标内,并不影响本发明的实施效果。
[0036]
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1