看一下多片FPGA原型验证系统的时钟同步

时间:2025-07-27  作者:Diven  阅读:0

      SoC设计是一个整体的芯片设计,最终整个设计将在统一到一块硅片上完成整个芯片,但是,原型验证中,这个SoC的设计要分布在多个FPGA芯片上,因此整体的设计连续性会受到影响。将我们的RTL设计分别映射到多个FPGA芯片上有三个特别的方面,我们需要特别关注。时钟、复位和启动条件。为了尽可能实现FPGA原型平台和最终SoC之间的完全保真度,时钟、重置和启动应表现为FPGA之间的硬边界不存在。

看一下多片FPGA原型验证系统的时钟同步

      这篇文章,我们来看一下多片FPGA原型验证系统的时钟同步。先从多片FPGA原型平台上综合时钟网络时会存在的两个潜在问题说起:  
时钟偏移和时钟不确定性:常见的设计方法是使用FPGA硬件板上的PLL来生成所需的时钟,并将其作为主要输入分配给每个FPGA。由于到达FPGA所采用的路径不同,板载PCB轨迹线和缓冲器可能会在相关时钟之间引入一些不确定性和时钟偏移。
如果忽略,这种偏移可能会在这些相关时钟之间的短路径上导致保持时间违例。后端布局布线工具通常可以解决FPGA内的保持时间违例,但目前无法导入从综合之前引入的时钟偏斜和不确定性信息。为了解决这个问题,FPGA拥有PLL(通常是FPGA中MCMM的一部分)可以与板的PLL结合使用或代替板的PLL。后端工具了解MCMM的偏斜和不确定性,并可以在布局过程中解决这些问题。分布式MCMM的使用可能会带来上述第二个潜在问题。
时钟同步:当在每个FPGA上本地重新生成相关时钟时,存在一个潜在的时钟同步问题,该问题确实会影响原始SoC设计,其中时钟是从公共源生成和不受信任的。当一个N分频时钟的多个拷贝来自一个基本时钟,但由于复位或初始启动条件以及刚好不走运遇到硬件故障,就不同步。  
经过分割设计的时钟网络分布在相应的FPGA以及板上的其时钟组件上。通过成功的时钟门转换,可以使跨越所有FPGA的大量不同时钟变得更容易,从而减少时钟的数量和复杂性。仍有许多时钟驱动器需要在多个FPGA中复制。重要的是,这些复制时钟保持同步,并且在主时钟的正确边缘上生成任何分频时钟。这取决于每个FPGA在同一时钟边缘上的复位应用。有通用的FPGA之间的时钟分布,如图所示,
在该图中,我们看到在板上生成的源时钟,而在每个FPGA中使用本地MMCM来重新同步,然后通过BUFG全局缓冲器重新分配时钟。在许多情况下,这种小型FPGA时钟树需要手动插入设计中。一般分割软件将会引入自动将公共时钟电路插入每个FPGA的功能。
一般SoC在顶层会设计具有全时钟管理的CRG模块,只需要在一个顶层模块上进行更改,然后使用复制将相同的结构分区到每个FPGA中。即使SoC 的RTL中的时钟分布在整个设计过程中,复制也将帮助我们将更改限制为比其情况下可能需要的更少的RTL文件。 如果我们使用按时钟域进行分割设计,则可以避免复制时钟缓冲区。这种方法的成功将取决于不同时钟的相对扇出以及时钟域之间的路径数量。
无论采用何种分割策略,每个FPGA都是一个离散的实体,为了时钟同步,每个FPGA必须有自己的时钟生成,而不是依赖于来自另一个FPGA中的生成器的时钟。时钟发生器必须在每个FPGA中实例化,即使SoC设计的一小部分在那里被划分。
时钟发生器在原型平台中如何帮助我们?MMCM的PLL具有可以锁定的最小频率,因此FPGA的输入时钟必须至少以该速率驱动。比如某型号的MCMM的最小锁定频率为10MHz,而之前的技术为30MHz或更高,这使得对我们的用途特别有用。能够产生比可以接受的输入慢得多的时钟。我们的任务是在原型上组装一个时钟树,在那里我们在FPGA外部保持较高的频率,然后在内部分频,同时保持内部时钟同步。 我们通过以下方式实现:      
如果SoC设计中在顶层具有时钟发生CRG模块,则在RTL中例化创建时钟生成器块,以替换SoC中CRG模块时钟的等效部分。我们使用全局基准时钟来驱动MCMM,MCMM通过其除以n的输出生成较慢的导数。      
选择板上生成的任何一个全局系统时钟;其频率必须高于最小MMCM锁定频率。      
用全局时钟驱动新RTL时钟树的输入。      
在新的时钟生成器RTL中,创建MMCM和BUFG实例树,以创建所有必要的子时钟。      
在分割软件中,根据需要将MMCM和BUFG复制到每个FPGA中,以驱动分配到那里的逻辑。      
在IO的trace分组分配期间,必须将全局时钟分配给FPGA的全局时钟输入。      
如果时钟产生或者门控更加分布,那么我们可能需要将BUFG和MMCM组件直接实例化到不同的RTL文件中,但我们应该始终关注复制如何使此过程更容易。        
对于多FPGA原型验证系统,我们可能需要时钟树中额外的层次结构。我们应该使用板载PLL驱动每个板的主时钟,并在每个板上使用PLL重新同步,使用板的本地PLL输出驱动每个FPGA,通过使用PLL和匹配的延迟时钟PCB迹线和电缆来避免FPGA板之间的时钟偏移。因为可以使用多个PLL和MCMM,所以本地慢时钟必须与全局时钟同步。这是通过使用基准时钟作为每个MMCM的反馈时钟输入来实现的。             
为什么不使用板载全局时钟资源生成所有时钟。毕竟,我们可能在电路板上安装了专门的PLL设备,例如,最低锁定频率甚至更低。这里需要注意的问题是,根据电路板的不同,时钟到达每个FPGA的时间之间可能存在一定的偏差,特别是对于不太复杂的电路板,这些电路板不是专门为此设计和布置的。这种影响将在更大的系统中被放大,并可能导致FPGA之间传递信号的保持时间违规问题。  


审核编辑:刘清

猜您喜欢

你是否担心电子元件中的铅会对环境和健康造成危害? 对于贴片电阻来说,这方面的顾虑可以打消了。虽然铅经常与有害物质联系在一起,但贴片电阻中的铅实际上是获得豁免的。...
2024-11-29 10:25:55

电子设备的奇妙世界里,电源管理就像是一位幕后英雄,默默地为各种元器件提供稳定可靠的能量。而在电源管理领域,线性稳压和开关稳压是两种最常见的技术,就像两条不同的路...
2024-07-15 00:00:00

电路保护元件的重要性日益凸显。熔断器作为常见的过流保护器件,应用于各种电子电器中。本文将重点介绍SEISO熔断器的基本概念、封装参数以及主流品牌,帮助读者全面了...
2022-03-25 14:15:30

电子电路中,二极管是非常重要的元件。主要功能是允许电流在一个方向流动,而阻止反向电流。二极管的导通电压是其正常工作的重要参数,了解如何计算和测量二极管的导通电压...
2025-03-31 13:30:35

金属膜电阻和贴片电阻都是常见的电子元件,主要区别在于结构和封装形式。金属膜电阻采用轴向引线结构,电阻体为金属膜,外层包裹绝缘材料,引脚从两端伸出。贴片电阻则采用...
2024-11-29 10:25:53

现代电子产品中,封装技术的选择直接影响到元器件的性能、可靠性和生产成本。WQFN(无引脚扁平封装)是一种广泛应用于各种电子设备的封装形式,尤其是WQFN16_3...
2025-02-24 15:21:48

升功率电阻在各种电子设备中的应用越来越。作为关键的电子元件,升功率电阻不仅影响电路的性能,还关系到设备的稳定性和寿命。选择合适的长兴电子升功率电阻品牌,对于保证...
2014-10-20 17:20:03

分流器作为电流测量和电路保护的重要元件,应用于各种电子设备和工业控制系统中。丽景电子作为国内知名的电子元件制造商,其分流器产品以高品质和稳定性能受到市场青睐。本...
2013-08-23 10:10:00


现代电子产品的设计与制造中,连接器作为重要的组成部分,起着非常重要的作用。CONN_6X4MM_TM是应用于各种行业的连接器,其优良的性能和可靠的质量使其成为众...
2025-04-23 22:30:09