一种FPGA及其时序收敛方法技术

技术编号:23446216 阅读:24 留言:0更新日期:2020-02-28 20:17
本发明专利技术涉及一种FPGA及其时序收敛方法,属于FPGA及嵌入式开发技术领域,方法采用ODDR模块使FPGA内部同步采样时钟的路径固定,且走线延时可以预测,方便时序收敛的实现;通过全局时钟资源模块获取基准时钟,对基准时钟进行两路锁相环的时钟偏移调节,用于调整时钟与数据走线的相位关系,通过调节合适的第一时钟偏移和第二时钟偏移,使在FPGA输入数据的路径最大、最小延时范围,以及FPGA输出数据的路径最大、最小延时范围均满足一定条件,从而达到时序收敛。本发明专利技术通过两次时钟偏移分别确定了FPGA输出至从芯片的工作时钟,以及输出数据寄存器的同步时钟,分别用于提升FPGA的数据输入接口及数据输出接口的时序收敛余量,以防止发送和接收公用系统时钟导致的时序冲突。

A FPGA and its time sequence convergence method

【技术实现步骤摘要】
一种FPGA及其时序收敛方法
本专利技术涉及一种FPGA及其的时序收敛方法,属于FPGA及嵌入式开发

技术介绍
传统的FPGA与从芯片的接口通信有两种同步方式,一种是系统同步方式,一种是源同步方式,其中,系统同步方式下的接口通信原理如图1所示,晶振的时钟分成两路,分别给FPGA及从芯片提供系统时钟,针对系统同步方式,FPGA开发工具有成熟的时序约束及收敛方法。另外一种源同步方式下的接口通信原理如图2所示,时钟线和数据线都由数据发送端提供,当FPGA发送数据时,FPGA同时提供数据的同步接口(用于发送同步时钟),当接FPGA的从芯片发送数据时,由从芯片提供数据和时钟,这种方式被称为源同步方式,针对这种方式,FPGA开发工具也有成熟的时序约束及收敛方法。如图3所示,是系统同步方式的时序收敛及约束的原理图,FPGA开发工具默认的系统同步时序约束,分为输入约束和输出约束,输入约束用来约束从FPGA管脚输入到FPGA内部第一级输入寄存器的数据走线的长度,输出约束用来约束FPGA的最后一级发送寄存器到输出管脚的数据走线长度。这两种约束值(即输入/输出管脚约束值)通过系统同步固有的公式将电路中的一些参数代入,可直接计算出其走线的最大延时长度和最小延时长度范围(走线延时正比于走线长度),将计算出的走线延时范围告诉FPGA开发工具,FPGA开发工具在布局布线时需要按照预先设定的值,满足其最大和最小的范围,如果FPGA最终布局布线的范围满足预先设定,则实现了设计的时序收敛,如果不能满足,则不能实现时序收敛。传统的源同步的约束原理基本类似,不再做详细描述。但是,目前相当一部分芯片,比如AD,DA,PHY,flash等芯片,其数字接口采用了类似SPI的接口,其与FPGA的接口方式如图4所示,其系统时钟由晶振外部提供,经过FPGA内部同步及调整后输出给从芯片,作为与从芯片进行数据收发的同步时钟,这种接线方式不同于传统的时钟同步方法,因此定义为第三种时钟同步方式,FPGA开发工具没有成熟的时序收敛方法及模型,需要开发者在完成FPGA内部的布局布线后,通过人工计算外围电路及FPGA内部路径及寄存器的各级延时后,得出时序参数,通过人工判断是否满足时序收敛。这种方法每次进行FPGA的布局布线后都需要重新计算参数,不具备通用性,而且每次计算的时钟和数据延时都是不可预测,没有成熟的计算公式,最终无法自动实现时序收敛。
技术实现思路
本专利技术的目的在于提供一种FPGA及其时序收敛方法,用于解决现有第三种时钟同步方式无法实现时序收敛的问题。本专利技术的一种FPGA的时序收敛方法采用如下技术方案:获取由晶振发送的基准时钟;将所述基准时钟经过第一锁相环进行第一时钟偏移调节,再通过ODDR模块输出工作时钟至从芯片;将所述基准时钟经过第二锁相环进行第二时钟偏移调节,调节后的时钟作为输出数据寄存器的同步时钟;根据第一时钟偏移、ODDR模块的最大路径延时、从芯片时钟到数据输出的最大延时、FPGA输入数据的路径最大延时、全局时钟偏斜与接收从芯片发送数据的建立时间的关系,计算得到FPGA输入数据的路径最大延时范围;根据第一时钟偏移、ODDR模块的最小路径延时、从芯片时钟到数据输出的最小延时、FPGA输入数据的路径最小延时、全局时钟偏斜与接收从芯片发送数据的保持时间的关系,计算得到FPGA输入数据的路径最小延时范围;根据第一时钟偏移、ODDR模块的最小路径延时、第二时钟偏移、FPGA输出数据的路径最大延时、从芯片接收数据的建立时间、全局时钟偏斜与向从芯片输出数据的建立时间的关系,计算得到FPGA输出数据的路径最大延时范围;根据第一时钟偏移、ODDR模块的最大路径延时、第二时钟偏移、FPGA输出数据的路径最小延时、从芯片接收数据的保持时间、全局时钟偏斜与向从芯片输出数据的保持时间的关系,计算得到FPGA输出数据的路径最小延时范围;调整所述第一时钟偏移和第二时钟偏移,使所述FPGA输入数据的路径最大延时范围、路径最小延时范围,以及FPGA输出数据的路径最大延时范围、路径最小延时范围均满足相应的设定范围。基于上述目的,一种FPGA的技术方案如下:全局时钟资源模块,用于获取由晶振发送的基准时钟;第一锁相环,用于将所述基准时钟进行第一时钟偏移调节;ODDR模块,用于转发进行第一时钟偏移调节后的时钟,输出工作时钟至从芯片;第二锁相环,用于将所述基准时钟进行第二时钟偏移调节,调节后的时钟作为输出数据寄存器的同步时钟;计算单元,用于根据第一时钟偏移、ODDR模块的最大路径延时、从芯片时钟到数据输出的最大延时、FPGA输入数据的路径最大延时、全局时钟偏斜与接收从芯片发送数据的建立时间的关系,计算得到FPGA输入数据的路径最大延时范围;以及,用于根据第一时钟偏移、ODDR模块的最小路径延时、从芯片时钟到数据输出的最小延时、FPGA输入数据的路径最小延时、全局时钟偏斜与接收从芯片发送数据的保持时间的关系,计算得到FPGA输入数据的路径最小延时范围;以及,用于根据第一时钟偏移、ODDR模块的最小路径延时、第二时钟偏移、FPGA输出数据的路径最大延时、从芯片接收数据的建立时间、全局时钟偏斜与向从芯片输出数据的建立时间的关系,计算得到FPGA输出数据的路径最大延时范围;以及,用于根据第一时钟偏移、ODDR模块的最大路径延时、第二时钟偏移、FPGA输出数据的路径最小延时、从芯片接收数据的保持时间、全局时钟偏斜与向从芯片输出数据的保持时间的关系,计算得到FPGA输出数据的路径最小延时范围;控制单元,用于在所述FPGA输入数据的路径最大延时范围、路径最小延时范围,以及FPGA输出数据的路径最大延时范围、路径最小延时范围不满足相应的设定范围时,控制所述第一锁相环和第二锁相环进行时钟偏移调节,直至满足所述相应的设定范围。上述两个技术方案的有益效果是:本专利技术的时序收敛方法采用ODDR模块,使FPGA内部同步采样时钟的路径固定,且走线延时可以预测,方便时序收敛的实现;并且,通过全局时钟资源模块获取晶振发送的基准时钟,对基准时钟进行两路锁相环的时钟偏移调节,用于调整时钟与数据走线的相位关系,通过调节合适的第一时钟偏移和第二时钟偏移,使在FPGA输入数据的路径最大、最小延时范围,以及FPGA输出数据的路径最大、最小延时范围均满足一定的条件,从而达到时序收敛。并且,本专利技术通过两次时钟偏移,分别确定了FPGA输出至从芯片的工作时钟,以及输出数据寄存器的同步时钟,分别用于提升FPGA的数据输入接口及数据输出接口的时序收敛余量(即数据输入/输出的建立和保持时间余量),以防止发送和接收公用系统时钟(即晶振发送的基准时钟)导致的时序冲突(发送数据和接收数据的相位不一致,且具有随机性,如果公用一个系统时钟进行数据采集,没法同时调节之间的相位关系,因此,发送时钟和接收时钟需要在系统时钟的基础上做不同的相位偏移)。具体的,所述FPGA输入数据的路径最小延时范围的本文档来自技高网
...

【技术保护点】
1.一种FPGA的时序收敛方法,其特征在于,包括以下步骤:/n获取由晶振发送的基准时钟;/n将所述基准时钟经过第一锁相环进行第一时钟偏移调节,再通过ODDR模块输出工作时钟至从芯片;/n将所述基准时钟经过第二锁相环进行第二时钟偏移调节,调节后的时钟作为输出数据寄存器的同步时钟;/n根据第一时钟偏移、ODDR模块的最大路径延时、从芯片时钟到数据输出的最大延时、FPGA输入数据的路径最大延时、全局时钟偏斜与接收从芯片发送数据的建立时间的关系,计算得到FPGA输入数据的路径最大延时范围;/n根据第一时钟偏移、ODDR模块的最小路径延时、从芯片时钟到数据输出的最小延时、FPGA输入数据的路径最小延时、全局时钟偏斜与接收从芯片发送数据的保持时间的关系,计算得到FPGA输入数据的路径最小延时范围;/n根据第一时钟偏移、ODDR模块的最小路径延时、第二时钟偏移、FPGA输出数据的路径最大延时、从芯片接收数据的建立时间、全局时钟偏斜与向从芯片输出数据的建立时间的关系,计算得到FPGA输出数据的路径最大延时范围;/n根据第一时钟偏移、ODDR模块的最大路径延时、第二时钟偏移、FPGA输出数据的路径最小延时、从芯片接收数据的保持时间、全局时钟偏斜与向从芯片输出数据的保持时间的关系,计算得到FPGA输出数据的路径最小延时范围;/n调整所述第一时钟偏移和第二时钟偏移,使所述FPGA输入数据的路径最大延时范围、路径最小延时范围,以及FPGA输出数据的路径最大延时范围、路径最小延时范围均满足相应的设定范围,以实现FPGA的时序收敛。/n...

【技术特征摘要】
1.一种FPGA的时序收敛方法,其特征在于,包括以下步骤:
获取由晶振发送的基准时钟;
将所述基准时钟经过第一锁相环进行第一时钟偏移调节,再通过ODDR模块输出工作时钟至从芯片;
将所述基准时钟经过第二锁相环进行第二时钟偏移调节,调节后的时钟作为输出数据寄存器的同步时钟;
根据第一时钟偏移、ODDR模块的最大路径延时、从芯片时钟到数据输出的最大延时、FPGA输入数据的路径最大延时、全局时钟偏斜与接收从芯片发送数据的建立时间的关系,计算得到FPGA输入数据的路径最大延时范围;
根据第一时钟偏移、ODDR模块的最小路径延时、从芯片时钟到数据输出的最小延时、FPGA输入数据的路径最小延时、全局时钟偏斜与接收从芯片发送数据的保持时间的关系,计算得到FPGA输入数据的路径最小延时范围;
根据第一时钟偏移、ODDR模块的最小路径延时、第二时钟偏移、FPGA输出数据的路径最大延时、从芯片接收数据的建立时间、全局时钟偏斜与向从芯片输出数据的建立时间的关系,计算得到FPGA输出数据的路径最大延时范围;
根据第一时钟偏移、ODDR模块的最大路径延时、第二时钟偏移、FPGA输出数据的路径最小延时、从芯片接收数据的保持时间、全局时钟偏斜与向从芯片输出数据的保持时间的关系,计算得到FPGA输出数据的路径最小延时范围;
调整所述第一时钟偏移和第二时钟偏移,使所述FPGA输入数据的路径最大延时范围、路径最小延时范围,以及FPGA输出数据的路径最大延时范围、路径最小延时范围均满足相应的设定范围,以实现FPGA的时序收敛。


2.根据权利要求1所述的FPGA的时序收敛方法,其特征在于,所述FPGA输入数据的路径最小延时范围的计算关系式如下:
delay1+max_delay2+slave_clk_to_data_max_delay+fpga_data_in_max_delay+clk_skew<CLK_PERIOD
其中,delay1为第一时钟偏移,max_delay2为ODDR模块的最大路径延时,slave_clk_to_data_max_delay为从芯片时钟到数据输出的最大延时,fpga_data_in_max_delay为FPGA输入数据的路径最大延时,clk_skew为全局时钟偏斜,CLK_PERIOD为所述基准时钟的周期。


3.根据权利要求1所述的FPGA的时序收敛方法,其特征在于,所述FPGA输入数据的路径最小延时范围的计算关系式如下:
delay1+min_delay2+slave_clk_to_data_min_delay+fpga_data_in_min_delay-clk_skew>0
其中,delay1为第一时钟偏移,min_delay2为ODDR模块的最小路径延时,slave_clk_to_data_min_delay为从芯片时钟到数据输出的最小延时,fpga_data_in_min_delay为FPGA输入数据的路径最小延时,clk_skew为全局时钟偏斜。


4.根据权利要求1所述的FPGA的时序收敛方法,其特征在于,所述FPGA输出数据的路径最小延时范围的计算关系式如下:
delay3+fpga_data_out_max_delay+slave_set_up+clk_skew-(delay1+min_delay2)<CLK_PERIOD
其中,delay3为第二时钟偏移,fpga_data_out_max_delay为FPGA输出数据的路径最大延时,slave_set_up为从芯片接收数据的建立时间,clk_skew为全局时钟偏斜,delay1为第一时钟偏移,min_delay2为ODDR模块的最小路径延时,CLK_PERIOD为所述基准时钟的周期。


5.根据权利要求1所述的FPGA的时序收敛方法,其特征在于,所述FPGA输出数据的路径最小延时范围的计算关系式如下:
delay3+fpga_data_out_min_delay-slave_hold_on-clk_skew-(delay1+max_delay2)>0
其中,delay3为第二时钟偏移,fpga_data_out_min_delay为FPGA输出数据的路径最小延时,slave_hold_on为从芯片接收数据的保持时间,clk_skew为全局时钟偏斜,delay1为第一时钟偏移,max_delay2为ODDR模块的最大路径延时。


6.一种FPGA,其...

【专利技术属性】
技术研发人员:牟涛王振华周东杰李超赵会斌吕玄兵马志敏朱付强蔡娆娆
申请(专利权)人:许继集团有限公司许继电气股份有限公司许昌许继软件技术有限公司国家电网有限公司
类型:发明
国别省市:河南;41

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

1
相关领域技术
  • 暂无相关专利