一种实现时钟同步的方法及装置制造方法及图纸

技术编号:37866465 阅读:13 留言:0更新日期:2023-06-15 20:56
本申请提供了一种实现时钟同步的方法及装置,用于包含多个FPGA的原型验证系统,其中方法包括:先获取用户芯片设计中原有的时钟模块,在芯片设计被分割后,将所述时钟模块复制至分割后不包含所述时钟模块的FPGA中并建立正确的连接关系,同时将时钟生成器与每个FPGA中的时钟模块进行等长连接,从而可以使每个FPGA都能够接收到相位相同的时钟信号。本申请实施例通过对时钟模块等逻辑资源进行全局自动化的复制,可以为每个FPGA提供等相位的时钟,从而解决了芯片设计被分割后时钟信号跨FPGA传播而带来的时钟相位偏差问题,实现了分割后各FPGA时钟信号相位对齐。割后各FPGA时钟信号相位对齐。割后各FPGA时钟信号相位对齐。

【技术实现步骤摘要】
一种实现时钟同步的方法及装置


[0001]本申请涉及电子设计自动化领域,尤其涉及一种实现时钟同步的方法及装置。

技术介绍

[0002]芯片在投产之前,通常可以使用FPGA(FieldProgrammable Gate Array,现场可编程逻辑门阵列)原型验证系统对芯片设计(或称用户设计、原始设计)进行逻辑验证。由于芯片的集成度与复杂度一直在不断提升,单颗FPGA的计算容量显然已无法满足需求。为了解决芯片规模与单颗FPGA之间的矛盾,大型的原型验证系统中通常会用几颗甚至几十颗FPGA来配合工作,原始设计则被分割到这些FPGA中。
[0003]对于多颗FPGA配合工作的系统,通常需要系统同步时钟来保证系统中这些FPGA同步运行及总线交换数据的一致性。在现有技术中,在对原始设计进行分割时,原始设计中的时钟模块将会被分割到某一FPGA上,该FPGA可称为主设备,时钟生成器芯片通过晶振所产生的时钟信号会作为基准时钟输入到主设备的时钟模块,然后主设备的时钟模块再将分频后的相位相同的时钟信号通过物理层接口传送给其他FPGA(即从设备),从设备将接收到时钟信号作为自己的系统时钟,从而可实现各FPGA的时钟同步。
[0004]然而,专利技术人在实现本申请方案的过程中发现,由于各FPGA之间是通过线缆连接的,而时钟信号经过这些线缆传播时会产生比较大的延时,所以导致在实际中主、从设备之间的时钟相位存在偏差。

技术实现思路

[0005]本申请提供一种实现时钟同步的方法及装置,以解决原型验证系统中各FPGA之间的时钟相位偏差问题。
[0006]根据本申请实施例的第一方面,提供一种实现时钟同步的方法,所述方法用于包含多个现场可编程逻辑门阵列FPGA的原型验证系统,所述原型验证系统用于验证用户的芯片设计;所述方法包括:获取所述芯片设计中的时钟模块,其中,所述时钟模块的输入端用于接收时钟生成器发出的时钟信号,所述时钟模块的输出端用于为指定FPGA提供分频后的时钟信号,所述指定FPGA为所述多个FPGA中不包含所述时钟模块的FPGA;在所述芯片设计被分割至所述多个FPGA后,根据得到的顶层文件获取分割后的FPGA实例信息,其中所述FPGA实例信息包括FPGA实例数量和FPGA实例名称;根据所述FPGA实例信息,将所述时钟模块复制至分割后的所述指定FPGA的实例中,并对分割后的每个FPGA与所含时钟模块的连接关系进行适应性重构;将所述时钟生成器与分割后的每个FPGA中的时钟模块等长连接以使分割后的每个FPGA接收到相位相同的时钟信号。
[0007]可选的,获取所述芯片设计中的时钟模块,包括:通过读取指定文件获取所述时钟模块的名称信息;
使用解析器对所述芯片设计进行解析以生成语法树;根据所述时钟模块的名称信息遍历所述语法树以获取所述时钟模块。
[0008]可选的,根据所述时钟模块的名称信息遍历所述语法树以获取所述时钟模块,包括:遍历所述语法树,在遍历过程中根据所述时钟模块的名称信息判断是否找到所述时钟模块;当找到所述时钟模块时,判断所述时钟模块是否为黑盒;如果所述时钟模块不为黑盒,则获取所述时钟模块的内容及接口信息。
[0009]可选的,对分割后的每个FPGA与所含时钟模块的连接关系进行适应性重构,包括:对于分割后已包含了所述时钟模块的FPGA:将所述时钟模块的输出信号从该FPGA实例的端口声明中删除并重定义为内部连线;对于分割后通过复制得到所述时钟模块的FPGA:将所述时钟模块输入端口的声明增加至当前FPGA实例的顶层端口中,以及,将所述时钟模块的输出信号与当前FPGA的内部连线连接。
[0010]可选的,对分割后的每个FPGA与所含时钟模块的连接关系进行适应性重构,还包括:根据重构后的每个FPGA与所含时钟模块的连接关系,修改所述顶层文件中实例化的FPGA的端口,以生成新的顶层文件。
[0011]可选的,将所述时钟生成器与分割后的每个FPGA中的时钟模块等长连接,包括:将所述时钟生成器与分割后的每个FPGA的时钟模块通过信号线连接;获取每条所述信号线的时延;补偿所述信号线中时延较小的走线,以使每条所述信号线的时延相同。
[0012]可选的,所述方法还包括:获取所述芯片设计中的复位模块,以及,将所述复位模块复制至分割后的所述指定FPGA实例中,并对分割后的每个FPGA与所含复位模块的连接关系进行适应性重构。
[0013]根据本申请实施例的第二方面,提供一种实现时钟同步的装置,所述装置用于包含多个现场可编程逻辑门阵列FPGA的原型验证系统,所述原型验证系统用于验证用户的芯片设计;所述装置包括:模块获取单元,用于获取所述芯片设计中的时钟模块,其中,所述时钟模块的输入端用于接收时钟生成器发出的时钟信号,所述时钟模块的输出端用于为指定FPGA提供分频后的时钟信号,所述指定FPGA为所述多个FPGA中不包含所述时钟模块的FPGA;FPGA实例信息获取单元,用于在所述芯片设计被分割至所述多个FPGA后,根据得到的顶层文件获取分割后的FPGA实例信息,其中所述FPGA实例信息包括FPGA实例数量和FPGA实例名称;模块复制单元,用于根据所述FPGA实例信息,将所述时钟模块复制至分割后的所述指定FPGA的实例中,并对分割后的每个FPGA与所含时钟模块的连接关系进行适应性重构;等长处理单元,用于将所述时钟生成器与分割后的每个FPGA中的时钟模块等长连接以使分割后的每个FPGA接收到相位相同的时钟信号。
[0014]可选的,所述模块获取单元具体用于:通过读取指定文件获取所述时钟模块的名称信息;使用解析器对所述芯片设计进行解析以生成语法树;根据所述时钟模块的名称信息遍历所述语法树以获取所述时钟模块。
[0015]可选的,所述模块获取单元在根据所述时钟模块的名称信息遍历所述语法树以获取所述时钟模块时,具体用于:遍历所述语法树,在遍历过程中根据所述时钟模块的名称信息判断是否找到所述时钟模块;当找到所述时钟模块时,判断所述时钟模块是否为黑盒;如果所述时钟模块不为黑盒,则获取所述时钟模块的内容及接口信息。
[0016]可选的,所述模块复制单元在对分割后的每个FPGA与所含时钟模块的连接关系进行适应性重构时,具体用于:对于分割后已包含了所述时钟模块的FPGA:将所述时钟模块的输出信号从该FPGA实例的端口声明中删除并重定义为内部连线;对于分割后通过复制得到所述时钟模块的FPGA:将所述时钟模块输入端口的声明增加至当前FPGA实例的顶层端口中,以及,将所述时钟模块的输出信号与当前FPGA的内部连线连接。
[0017]可选的,所述模块复制单元还用于:根据重构后的每个FPGA与所含时钟模块的连接关系,修改所述顶层文件中实例化的FPGA的端口,以生成新的顶层文件。
[0018]可选的,所述等长处理单元具体用于:将所述时钟生成器与分割后的每个FPGA的时钟模块通过信号线连接;获取每条所述信号线的时延;补偿所述信号线中时延较小的走线,以使每条所述信号线的时延相同。
[0019]可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现时钟同步的方法,其特征在于,所述方法用于包含多个现场可编程逻辑门阵列FPGA的原型验证系统,所述原型验证系统用于验证用户的芯片设计;所述方法包括:获取所述芯片设计中的时钟模块,其中,所述时钟模块的输入端用于接收时钟生成器发出的时钟信号,所述时钟模块的输出端用于为指定FPGA提供分频后的时钟信号,所述指定FPGA为所述多个FPGA中不包含所述时钟模块的FPGA;在所述芯片设计被分割至所述多个FPGA后,根据得到的顶层文件获取分割后的FPGA实例信息,其中所述FPGA实例信息包括FPGA实例数量和FPGA实例名称;根据所述FPGA实例信息,将所述时钟模块复制至分割后的所述指定FPGA的实例中,并对分割后的每个FPGA与所含时钟模块的连接关系进行适应性重构;将所述时钟生成器与分割后的每个FPGA中的时钟模块等长连接以使分割后的每个FPGA接收到相位相同的时钟信号。2.根据权利要求1所述的方法,其特征在于,获取所述芯片设计中的时钟模块,包括:通过读取指定文件获取所述时钟模块的名称信息;使用解析器对所述芯片设计进行解析以生成语法树;根据所述时钟模块的名称信息遍历所述语法树以获取所述时钟模块。3.根据权利要求2所述的方法,其特征在于,根据所述时钟模块的名称信息遍历所述语法树以获取所述时钟模块,包括:遍历所述语法树,在遍历过程中根据所述时钟模块的名称信息判断是否找到所述时钟模块;当找到所述时钟模块时,判断所述时钟模块是否为黑盒;如果所述时钟模块不为黑盒,则获取所述时钟模块的内容及接口信息。4.根据权利要求1所述的方法,其特征在于,对分割后的每个FPGA与所含时钟模块的连接关系进行适应性重构,包括:对于分割后已包含了所述时钟模块的FPGA:将所述时钟模块的输出信号从该FPGA实例的端口声明中删除并重定义为内部连线;对于分割后通过复制得到所述时钟模块的FPGA:将所述时钟模块输入端口的声明增加至当前FPGA实例的顶层端口中,以及,将所述时钟模块的输出信号与当前FPGA的内部连线连接。5.根据权利要求4所述的方法,其特征在于,对分割后的每个FPGA与所含时钟模块的连接关系进行适应性重构,还包括:根据重构后的每个FPGA与所含时钟模块的连接关系,修改所述顶层文件中实例化的FPGA的端口,以生成新的顶层文件。6.根据权利要求1所述的方法,其特征在于,将所述时钟生成器与分割后的每个FPGA中的时钟模块等长连接,包括:将所述时钟生成器与分割后的每个FPGA的时钟模块通过信号线连接;获取每条所述信号线的时延;补偿所述信号线中时延较小的走线,以使每条所述信号线的时延相同。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取所述芯片设计中的复位模块,以及,将所述复位模块复制至分割后的所述指定
FPGA实例中,并对分割后的每个FPGA与所含复位模块的连接关系进行适应性重构。8.一种实现时钟同步的装置,其特征在于,所述...

【专利技术属性】
技术研发人员:肖慧张吉锋邵中尉
申请(专利权)人:上海思尔芯技术股份有限公司
类型:发明
国别省市:

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

1