CN117608951B - 一种用于大规模fpga平台的跨时钟域采样电路及方法 - Google Patents
一种用于大规模fpga平台的跨时钟域采样电路及方法 Download PDFInfo
- Publication number
- CN117608951B CN117608951B CN202311634324.6A CN202311634324A CN117608951B CN 117608951 B CN117608951 B CN 117608951B CN 202311634324 A CN202311634324 A CN 202311634324A CN 117608951 B CN117608951 B CN 117608951B
- Authority
- CN
- China
- Prior art keywords
- clock
- ith
- sampling
- gating
- clk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000005070 sampling Methods 0.000 title claims abstract description 98
- 238000000034 method Methods 0.000 title claims abstract description 14
- 238000012795 verification Methods 0.000 claims description 11
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 238000004088 simulation Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000003745 diagnosis Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 1
- 101100003180 Colletotrichum lindemuthianum ATG1 gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种用于大规模FPGA平台的跨时钟域采样电路及方法,本发明的跨时钟域采样电路包括数字时钟管理模块DCM、计数器、信号采样模块以及N个门控时钟及其对应的分频控制器,数字时钟管理模块DCM用于获取频率为M的全局主时钟,数字时钟管理模块DCM的输出端分别与计数器、N个门控时钟以及信号采样模块相连,本发明旨在解决现有FPGA调试中Xinlinx ChipScope技术无法在统一波形窗口展示多个时钟域的分频信号的技术问题,而且基于本发明产生的所有分频时钟的有效时钟周期和全局主时钟gclk完全同步,只需通过主时钟即可对分频时钟域的数据进行采样,不必担心亚稳态的出现。
Description
技术领域
本发明涉及大规模FPGA验证的时钟采样技术,具体涉及一种用于大规模FPGA平台的跨时钟域采样电路及方法。
背景技术
FPGA仿真验证是大规模芯片验证的重要手段。基于FPGA仿真验证平台对系统功能验证和故障诊断可以在系统验证阶段协助实现故障迅速定位和修复,尽早发现和排除芯片深层次设计隐患,并观察和记录系统内部各功能部件之间的数据传输状态,对于掌握整系统的功能和性能特征,进行系统分析和优化设计,提供良好的使用界面和用户体验至关重要。随着高性能芯片性能的不断提升,单个芯片封装内可以实现数百亿甚至更多晶体管,相当于上百亿门,针对上百亿门大规模芯片验证任务,往往需要将一个大容量芯片设计划分到多个FPGA上运行,FPGA仿真验证平台将多块大容量FPGA通过特定连接关系互连在一起,用户大容量芯片通过逻辑分块映射方式,将硬件逻辑行为分布式映射至FPGA阵列上面,通过多块FPGA分布式并行协同仿真来模拟整芯片或整机真实行为,开展功能仿真和性能统计分析。另一方面,大规模FPGA原型验证系统包括多个结点,每个结点又包含多个时钟信号域。
对于逻辑划分后的多个FPGA必须处于同一个时钟域,多个FPGA之间保持时钟同步关系,而且复位信号也保持同步,从而使得各功能部件的状态能够保持同步。现有XinlinxChipScope技术进行FPGA调试时,在一个波形窗口只能显示单一时钟域的波形界面,对多个时钟域的信号需要开启多个窗口分开显示。面对当前大规模FPGA平台多个时钟域的调试诊断任务,需要在统一波形窗口展示多个时钟域的分频信号,方便多个时钟域的调试诊断。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种用于大规模FPGA平台的跨时钟域采样电路及方法,本发明旨在解决现有FPGA调试中Xinlinx ChipScope技术无法在统一波形窗口展示多个时钟域的分频信号的技术问题,而且基于本发明产生的所有分频时钟的有效时钟周期和主时钟gclk完全同步,只需通过主时钟即可对分频时钟域的数据进行采样,不必担心亚稳态的出现。
为了解决上述技术问题,本发明采用的技术方案为:
一种用于大规模FPGA平台的跨时钟域采样电路,包括数字时钟管理模块DCM、计数器、信号采样模块以及N个门控时钟及其对应的分频控制器,所述数字时钟管理模块DCM与大规模FPGA平台中所有FPGA共用的时钟同步模块相连以用于获取频率为M的全局主时钟gclk,所述数字时钟管理模块DCM的输出端分别与计数器、N个门控时钟以及信号采样模块相连,所述计数器用于产生用于全局同步触发和恢复的时间戳tc,各个门控时钟的控制端分别与其对应的分频控制器的输出端相连,各个门控时钟的输出端分别与FPGA中的用户逻辑模块相连以提供不同频率的时钟,所述信号采样模块与FPGA中的用户逻辑模块相连以用于对不同时钟域的数据进行采样得到不同时钟域的采样数据,并将时间戳tc和不同时钟域的采样数据写入指定的存储器以用于对时钟信号和采样数据进行重建与恢复。
可选地,所述N个门控时钟及其对应的分频控制器分别包括第一门控时钟~第N门控时钟,第一分频控制器~第N分频控制器,任意第i门控时钟的控制端与第i分频控制器的输出端相连。
可选地,所述第i分频控制器用于产生控制第i门控时钟的第i使能信号cei,第i门控时钟产生的第i分频时钟clki的频率为Ni,Ni小于全局主时钟gclk的频率M,全局主时钟gclk和第i分频时钟clki的分频比为M/Ni,1≤i≤N,i、M、Ni、N均为自然数。
可选地,所述不同时钟域的采样数据是指N个分频时钟clk1~clkN对应的时钟域的采样数据data1~dataN。
可选地,第i分频控制器产生控制第i门控时钟的第i使能信号cei包括:步骤(1),初始化计数器的计数cnt;步骤(2),基于计数器的计数cnt,以每M个时钟周期为一个循环,输出第i使能信号cei:当1≤cnt≤Ni时,输出cei=1;当Ni+1≤cnt≤M时,输出cei=0;步骤(3),当cnt>M时,cnt=cnt%M,转步骤(2),其中“%”为求余操作符。
可选地,第i门控时钟产生第i分频时钟clki包括:当第i使能信号cei的值为1时,第i门控时钟打开其门控,第i输出时钟clki信号值与全局主时钟gclk相同;当第i使能信号cei的值为0时,第i门控时钟关闭其门控,第i输出时钟clki信号值为0。
此外,本发明还提供一种FPGA仿真验证平台,包括多个FPGA以及多个FPGA共用的、用于产生频率为M的全局主时钟gclk的时钟同步模块,每一个FPGA中均包括所述的用于大规模FPGA平台的跨时钟域采样电路。
此外,本发明还提供一种所述的用于大规模FPGA平台的跨时钟域采样电路的应用方法,包括:通过时钟同步模块产生的全局主时钟gclk进入FPGA,首先缓冲到数字时钟管理模块DCM中的缓冲器中,然后分别输入到各个时钟域的门控时钟,而门控时钟的使能信号则由各个时钟域的分频控制器产生,门控时钟根据经过分频控制器的控制,产生用户逻辑所需的各个时钟域的时钟信号clk1~clkN,用户逻辑模块根据全局主时钟gclk对各个时钟域的数据进行采样得到采样数据data1~dataN,信号采样模块将采样数据及当前时间戳tc一起写入存储器,并记录每个采样信号所对应的时钟分频比M/Ni已用于对时钟信号和采样数据进行重建与恢复。
可选地,所述对时钟信号和采样数据进行重建与恢复时,对时钟信号的恢复与重建包括遍历所有的时钟域,且针对每一个当前时钟域输出相应时钟波形进行下述处理:若当前时钟域为主时钟域,则以全局主时钟gclk的周期T为周期,50%占空比输出全局主时钟gclk的波形;否则,说明当前时钟域为非主时钟域,且分频比为M/Ni,则从记录的时间戳tc序列中的第一个采样时间戳tc0开始遍历所有时间戳,且针对遍历得到的每一个当前时间戳tci:若当前时间戳(tci%M)<Ni,则以全局主时钟gclk的周期T为周期,50%占空比输出一个正常周期的时钟波形;否则,说明Ni≤(tci%M)<M,则以全局主时钟gclk的周期T为周期输出一个时钟周期的0。
可选地,所述对时钟信号和采样数据进行重建与恢复时,对采样数据的恢复与重建包括:若当前时钟域为主时钟域,则在主时钟域gclk显示当前的采样信号值val;若当前时钟域为非主时钟域,则确定当前时钟域对应的第i分频时钟clki及其分频比为M/Ni,若当前时间戳(tci%M)<Ni,则在第i分频时钟clki的显示区域显示当前采样信号值val;若当前时间戳(tci%M)==Ni-1,则通过val_tmp[i]=val将当前采样信号值val赋值给第i分频时钟clki对应的临时数据val_tmp[i],将当前采样信号值val保存;否则,说明Ni≤(tci%M<M),在第i分频时钟clki的显示区域显示第i分频时钟clki对应的临时数据val_tmp[i]。
和现有技术相比,本发明主要具有下述优点:
1.本发明用于大规模FPGA平台的跨时钟域采样电路通过分频控制器生成使能信号进而周期性关断主时钟gclk的部分周期,从而实现不同域时钟信号的生成,相当于全系统仅有主时钟一个时钟。因此只要关闭主时钟,即可同时关闭所有的分频时钟。简化了时钟生成逻辑。
2.本发明通过N个门控时钟和分频控制器可以根据全局主时钟生成N个分频时钟,并在一个波形窗口同时显示N个时钟域的波形信号,便于在同一的时间维度观察波形状态信息,从而快速定位问题,提高调试诊断效率。
3.基于本发明用于大规模FPGA平台的跨时钟域采样电路产生的所有分频时钟的有效时钟周期和主时钟gclk完全同步,只需通过主时钟即可对分频时钟域的数据进行采样,不必担心亚稳态的出现。因此,时钟域clki的采样信号直接输入到信号采样模块,用全局主时钟信号gclk进行采样即可,无需进行跨时钟域转换。
附图说明
图1为本发明实施例中跨时钟域采样电路的结构示意图。
图2为本发明实施例中产生的多种分频比的门控时钟的波形图。
具体实施方式
如图1所示,本实施例用于大规模FPGA平台的跨时钟域采样电路包括数字时钟管理模块DCM(Digital Clock Manager)、计数器、信号采样模块以及N个门控时钟及其对应的分频控制器,所述数字时钟管理模块DCM与大规模FPGA平台中所有FPGA共用的时钟同步模块相连以用于获取频率为M的全局主时钟gclk,所述数字时钟管理模块DCM的输出端分别与计数器、N个门控时钟以及信号采样模块相连,所述计数器用于产生用于全局同步触发和恢复的时间戳tc,各个门控时钟的控制端分别与其对应的分频控制器的输出端相连,各个门控时钟的输出端分别与FPGA中的用户逻辑模块相连以提供不同频率的时钟,所述信号采样模块与FPGA中的用户逻辑模块相连以用于对不同时钟域的数据进行采样得到不同时钟域的采样数据,并将时间戳tc和不同时钟域的采样数据写入指定的存储器以用于对时钟信号和采样数据进行重建与恢复。图1中,本实施例中涉及的大规模FPGA平台包含P个FPGA,每个FPGA采用相同的基于门控时钟的跨时钟域采样电路进行时钟同步。P个FPGA记为FPGA1,…,FPGAk,…,FPGAP,1≤k≤P,k、P均为自然数。
如图1所示,本实施例中N个门控时钟及其对应的分频控制器分别包括第一门控时钟~第N门控时钟,第一分频控制器~第N分频控制器,任意第i门控时钟的控制端与第i分频控制器的输出端相连。
如图1所示,本实施例中第i分频控制器用于产生控制第i门控时钟的第i使能信号cei,第i门控时钟产生的第i分频时钟clki的频率为Ni,Ni小于全局主时钟gclk的频率M,全局主时钟gclk和第i分频时钟clki的分频比为M/Ni,1≤i≤N,i、M、Ni、N均为自然数。本实施例中记全局主时钟gclk的频率为M,周期为T。如图1所示,本实施例中不同时钟域的采样数据是指N个分频时钟clk1~clkN对应的时钟域的采样数据data1~dataN。全局时钟信号gclk在进入每个FPGA后,经过数字时钟管理模块DCM后,一方面输入计数器,产生用于全局同步触发和恢复的时间戳tc;同时,输入到用户逻辑模块、信号采样模块以及N个门控时钟。第i门控时钟根据第i分频控制器生成的第i使能信号cei产生用户逻辑模块所需的第i分频时钟clki;用户逻辑模块根据主时钟gclk对分频时钟clk1,…,clki,…,clkN的数据进行采样,得到采样数据data1,…,datai,…,dataN。信号采样模块将采样数据data1,…,datai,…,dataN及当前时间戳tc一起写入存储器;软件记录每个采样信号所对应的时钟分频比M/N,对时钟信号和采样数据进行重建与恢复。
本实施例中,第i分频控制器产生控制第i门控时钟的第i使能信号cei包括:步骤(1),初始化计数器的计数cnt;步骤(2),基于计数器的计数cnt,以每M个时钟周期为一个循环,输出第i使能信号cei:当1≤cnt≤Ni时,输出cei=1;当Ni+1≤cnt≤M时,输出cei=0;步骤(3),当cnt>M时,cnt=cnt%M,转步骤(2),其中“%”为求余操作符。
本实施例中,第i门控时钟产生第i分频时钟clki包括:当第i使能信号cei的值为1时,第i门控时钟打开其门控,第i输出时钟clki信号值与全局主时钟gclk相同;当第i使能信号cei的值为0时,第i门控时钟关闭其门控,第i输出时钟clki信号值为0。
参见图1,本实施例还提供一种FPGA仿真验证平台,包括多个FPGA以及多个FPGA共用的、用于产生频率为M的全局主时钟gclk的时钟同步模块,每一个FPGA中均包括前述用于大规模FPGA平台的跨时钟域采样电路。
此外,本实施例还提供一种前述用于大规模FPGA平台的跨时钟域采样电路的应用方法,通过时钟同步模块产生的全局主时钟gclk进入FPGA,首先缓冲到数字时钟管理模块DCM中的缓冲器中,然后分别输入到各个时钟域的门控时钟,而门控时钟的使能信号则由各个时钟域的分频控制器产生,门控时钟根据经过分频控制器的控制,产生用户逻辑所需的各个时钟域的时钟信号clk1~clkN,用户逻辑模块根据全局主时钟gclk对各个时钟域的数据进行采样得到采样数据data1~dataN,信号采样模块将采样数据及当前时间戳tc一起写入存储器,并记录每个采样信号所对应的时钟分频比M/Ni已用于对时钟信号和采样数据进行重建与恢复。
本实施例中对时钟信号和采样数据进行重建与恢复时,对时钟信号的恢复与重建包括遍历所有的时钟域,且针对每一个当前时钟域输出相应时钟波形进行下述处理:若当前时钟域为主时钟域,则以全局主时钟gclk的周期T为周期,50%占空比输出全局主时钟gclk的波形;否则,说明当前时钟域为非主时钟域,且分频比为M/Ni,则从记录的时间戳tc序列中的第一个采样时间戳tc0开始遍历所有时间戳,且针对遍历得到的每一个当前时间戳tci:若当前时间戳(tci%M)<Ni,则以全局主时钟gclk的周期T为周期,50%占空比输出一个正常周期的时钟波形;否则,说明Ni≤(tci%M)<M,则以全局主时钟gclk的周期T为周期输出一个时钟周期的0。
本实施例中对时钟信号和采样数据进行重建与恢复时,对采样数据的恢复与重建包括:若当前时钟域为主时钟域,则在主时钟域gclk显示当前的采样信号值val;若当前时钟域为非主时钟域,则确定当前时钟域对应的第i分频时钟clki及其分频比为M/Ni,若当前时间戳(tci%M)<Ni,则在第i分频时钟clki的显示区域显示当前采样信号值val;若当前时间戳(tci%M)==Ni-1,则通过val_tmp[i]=val将当前采样信号值val赋值给第i分频时钟clki对应的临时数据val_tmp[i],将当前采样信号值val保存;否则,说明Ni≤(tci%M<M),在第i分频时钟clki的显示区域显示第i分频时钟clki对应的临时数据val_tmp[i]。
经过各个分频控制器的控制,可产生用户逻辑所需的各个时钟域的时钟信号clk1,…,clki,…,clkN。假设全局主时钟gclk为1GHz,图2给出了经本实施例方法分频产生的分频比的门控时钟波形图,其中clk(1G)表示全局主时钟gclk,clk1(500)表示分频比为10/5=2/1的clk1,clk2(700)表示分频比为10/7的clk2,clk3(800)表示分频比为10/8=5/4的clk3。例如,假设分频后的目标时钟为800M,即分频比为5/4,如图2中最后一行的clk3(800)所示,分频后的时钟以5个时钟周期为一个循环,前4个时钟周期和主时钟完全一致,第5个时钟周期则被拉成低电平。基于本实施例分频方法产生的所有分频时钟的有效时钟周期和全局主时钟gclk完全同步,只需通过全局主时钟gclk即可对分频时钟域的数据进行采样,不必担心亚稳态的出现。因此,第i时钟域clki的采样信号,直接输入到信号采样模块,用全局主时钟gclk进行采样即可,无需进行跨时钟域转换。
综上所述,针对现有FPGA调试中Xinlinx ChipScope技术无法在统一波形窗口展示多个时钟域的分频信号的技术问题,本实施例用于大规模FPGA平台的跨时钟域采样电路能够实现在一个波形窗口产生系统的各个时钟域的时钟信号,便于在同一时间维度观察波形状态信息,从而快速定位问题,提高调试诊断效率。基于本实施例用于大规模FPGA平台的跨时钟域采样电路产生的所有分频时钟的有效时钟周期和主时钟gclk完全同步,只需通过主时钟即可对分频时钟域的数据进行采样,不必担心亚稳态的出现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1. 一种用于大规模FPGA平台的跨时钟域采样电路,其特征在于,包括数字时钟管理模块DCM、计数器、信号采样模块以及N个门控时钟及其对应的分频控制器,所述数字时钟管理模块DCM与大规模FPGA平台中所有FPGA共用的时钟同步模块相连以用于获取频率为M的全局主时钟gclk,所述数字时钟管理模块DCM的输出端分别与计数器、N个门控时钟以及信号采样模块相连,所述计数器用于产生用于全局同步触发和恢复的时间戳tc,各个门控时钟的控制端分别与其对应的分频控制器的输出端相连,各个门控时钟的输出端分别与FPGA中的用户逻辑模块相连以提供不同频率的时钟,所述信号采样模块与FPGA中的用户逻辑模块相连以用于对不同时钟域的数据进行采样得到不同时钟域的采样数据,并将时间戳tc和不同时钟域的采样数据写入指定的存储器以用于对时钟信号和采样数据进行重建与恢复;对采样数据的恢复与重建包括:若当前时钟域为主时钟域,则在主时钟域gclk显示当前的采样信号值val;若当前时钟域为非主时钟域,则确定当前时钟域对应的第i分频时钟clki及其分频比为M/Ni,若当前时间戳(tci %M)< Ni,则在第i分频时钟clki的显示区域显示当前采样信号值val;若当前时间戳(tci %M)== Ni -1,则通过val_tmp[i] = val将当前采样信号值val赋值给第i分频时钟clki对应的临时数据val_tmp[i],将当前采样信号值val保存;否则,说明Ni≤(tci %M <M),在第i分频时钟clki的显示区域显示第i分频时钟clki对应的临时数据val_tmp[i]。
2.根据权利要求1所述的用于大规模FPGA平台的跨时钟域采样电路,其特征在于,所述N个门控时钟及其对应的分频控制器分别包括第一门控时钟~第N门控时钟,第一分频控制器~第N分频控制器,任意第i门控时钟的控制端与第i分频控制器的输出端相连。
3.根据权利要求2所述的用于大规模FPGA平台的跨时钟域采样电路,其特征在于,所述第i分频控制器用于产生控制第i门控时钟的第i使能信号cei,第i门控时钟产生的第i分频时钟clki的频率为Ni,Ni小于全局主时钟gclk的频率M,全局主时钟gclk和第i分频时钟clki的分频比为M/Ni,1≤i≤N,i、M、Ni、N均为自然数。
4.根据权利要求3所述的用于大规模FPGA平台的跨时钟域采样电路,其特征在于,所述不同时钟域的采样数据是指N个分频时钟clk1~clkN对应的时钟域的采样数据data1~dataN。
5. 根据权利要求4所述的用于大规模FPGA平台的跨时钟域采样电路,其特征在于,第i分频控制器产生控制第i门控时钟的第i使能信号cei包括:步骤(1),初始化计数器的计数cnt;步骤(2),基于计数器的计数cnt,以每M个时钟周期为一个循环,输出第i使能信号cei:当1≤cnt≤Ni时,输出cei = 1;当Ni +1≤cnt≤M时,输出cei = 0;步骤(3),当cnt > M时,cnt = cnt % M,转步骤(2),其中“%”为求余操作符。
6.根据权利要求5所述的用于大规模FPGA平台的跨时钟域采样电路,其特征在于,第i门控时钟产生第i分频时钟clki包括:当第i使能信号cei的值为1时,第i门控时钟打开其门控,第i输出时钟clki信号值与全局主时钟gclk相同;当第i使能信号cei的值为0时,第i门控时钟关闭其门控,第i输出时钟clki信号值为0。
7.一种FPGA仿真验证平台,其特征在于,包括多个FPGA以及多个FPGA共用的、用于产生频率为M的全局主时钟gclk的时钟同步模块,每一个FPGA中均包括权利要求1~6中任意一项所述的用于大规模FPGA平台的跨时钟域采样电路。
8.一种权利要求1~6中任意一项所述的用于大规模FPGA平台的跨时钟域采样电路的应用方法,其特征在于,包括:通过时钟同步模块产生的全局主时钟gclk进入FPGA,首先缓冲到数字时钟管理模块DCM中的缓冲器中,然后分别输入到各个时钟域的门控时钟,而门控时钟的使能信号则由各个时钟域的分频控制器产生,门控时钟根据经过分频控制器的控制,产生用户逻辑所需的各个时钟域的时钟信号clk1~clkN,用户逻辑模块根据全局主时钟gclk对各个时钟域的数据进行采样得到采样数据data1~dataN,信号采样模块将采样数据及当前时间戳tc一起写入存储器,并记录每个采样信号所对应的时钟分频比M/Ni已用于对时钟信号和采样数据进行重建与恢复。
9. 根据权利要求8项所述的用于大规模FPGA平台的跨时钟域采样电路的应用方法,其特征在于,所述对时钟信号和采样数据进行重建与恢复时,对时钟信号的恢复与重建包括遍历所有的时钟域,且针对每一个当前时钟域输出相应时钟波形进行下述处理:若当前时钟域为主时钟域,则以全局主时钟gclk的周期T为周期,50%占空比输出全局主时钟gclk的波形;否则,说明当前时钟域为非主时钟域,且分频比为M/Ni,则从记录的时间戳tc序列中的第一个采样时间戳tc0开始遍历所有时间戳,且针对遍历得到的每一个当前时间戳tci:若当前时间戳(tci % M) < Ni,则以全局主时钟gclk的周期T为周期,50%占空比输出一个正常周期的时钟波形;否则,说明Ni ≤ (tci % M ) < M,则以全局主时钟gclk的周期T为周期输出一个时钟周期的0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311634324.6A CN117608951B (zh) | 2023-11-30 | 2023-11-30 | 一种用于大规模fpga平台的跨时钟域采样电路及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311634324.6A CN117608951B (zh) | 2023-11-30 | 2023-11-30 | 一种用于大规模fpga平台的跨时钟域采样电路及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117608951A CN117608951A (zh) | 2024-02-27 |
CN117608951B true CN117608951B (zh) | 2024-05-10 |
Family
ID=89957752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311634324.6A Active CN117608951B (zh) | 2023-11-30 | 2023-11-30 | 一种用于大规模fpga平台的跨时钟域采样电路及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117608951B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649176A (en) * | 1995-08-10 | 1997-07-15 | Virtual Machine Works, Inc. | Transition analysis and circuit resynthesis method and device for digital circuit modeling |
CN103105889A (zh) * | 2013-01-21 | 2013-05-15 | 杭州乔微电子科技有限公司 | 一种fpga原型验证板堆叠的时钟同步装置及系统 |
US9600018B1 (en) * | 2014-06-09 | 2017-03-21 | Xilinx, Inc. | Clock stoppage in integrated circuits with multiple asynchronous clock domains |
CN113238610A (zh) * | 2021-05-13 | 2021-08-10 | 北京东土军悦科技有限公司 | 一种计数器信号同步的方法、装置、设备及存储介质 |
CN115543051A (zh) * | 2022-09-15 | 2022-12-30 | 中国人民解放军国防科技大学 | Fpga全局复位同步电路、芯片、验证仿真系统及方法 |
CN116795172A (zh) * | 2023-08-29 | 2023-09-22 | 芯耀辉科技有限公司 | 一种用于高速数字传输的跨时钟域处理方法、介质及装置 |
CN116931658A (zh) * | 2023-07-31 | 2023-10-24 | 成都中微达信科技有限公司 | 一种基于数模转换器的多板同步时钟架构及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9170603B2 (en) * | 2012-03-16 | 2015-10-27 | Tektronix, Inc. | Time-correlation of data |
US9354658B2 (en) * | 2014-05-09 | 2016-05-31 | Apple Inc. | Method for asynchronous gating of signals between clock domains |
US10969821B2 (en) * | 2018-05-29 | 2021-04-06 | Xilinx, Inc. | Latency synchronization across clock domains |
US11683149B2 (en) * | 2020-09-11 | 2023-06-20 | Apple Inc. | Precise time management using local time base |
US11687115B2 (en) * | 2021-09-22 | 2023-06-27 | Apple Inc. | Precise time management for peripheral device using local time base |
-
2023
- 2023-11-30 CN CN202311634324.6A patent/CN117608951B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5649176A (en) * | 1995-08-10 | 1997-07-15 | Virtual Machine Works, Inc. | Transition analysis and circuit resynthesis method and device for digital circuit modeling |
CN103105889A (zh) * | 2013-01-21 | 2013-05-15 | 杭州乔微电子科技有限公司 | 一种fpga原型验证板堆叠的时钟同步装置及系统 |
US9600018B1 (en) * | 2014-06-09 | 2017-03-21 | Xilinx, Inc. | Clock stoppage in integrated circuits with multiple asynchronous clock domains |
CN113238610A (zh) * | 2021-05-13 | 2021-08-10 | 北京东土军悦科技有限公司 | 一种计数器信号同步的方法、装置、设备及存储介质 |
CN115543051A (zh) * | 2022-09-15 | 2022-12-30 | 中国人民解放军国防科技大学 | Fpga全局复位同步电路、芯片、验证仿真系统及方法 |
CN116931658A (zh) * | 2023-07-31 | 2023-10-24 | 成都中微达信科技有限公司 | 一种基于数模转换器的多板同步时钟架构及方法 |
CN116795172A (zh) * | 2023-08-29 | 2023-09-22 | 芯耀辉科技有限公司 | 一种用于高速数字传输的跨时钟域处理方法、介质及装置 |
Non-Patent Citations (1)
Title |
---|
高性能计算技术及标准现状分析;陆平静;计算机科学;20230930;第Vol.50卷(第No.11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117608951A (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7904859B2 (en) | Method and apparatus for determining a phase relationship between asynchronous clock signals | |
EP2165280B1 (en) | Recording of emulation states using replicated memory elements | |
US7908574B2 (en) | Techniques for use with automated circuit design and simulations | |
US8756557B2 (en) | Techniques for use with automated circuit design and simulations | |
JPS633344B2 (zh) | ||
US11726899B2 (en) | Waveform based reconstruction for emulation | |
US20140281735A1 (en) | System and method for multicore processing | |
CN101493847A (zh) | 一种通讯片上系统芯片追踪调试的方法及装置 | |
US20140281775A1 (en) | System on a Chip FPGA Spatial Debugging Using Single Snapshot | |
EP0718763A1 (en) | System and method of debugging in a data processor | |
US8832500B2 (en) | Multiple clock domain tracing | |
CN117608951B (zh) | 一种用于大规模fpga平台的跨时钟域采样电路及方法 | |
Chuang et al. | Hybrid approach to faster functional verification with full visibility | |
CN103592599A (zh) | 基于usb逻辑分析仪触发装置 | |
US8144828B2 (en) | Counter/timer functionality in data acquisition systems | |
Laxman | Discovering frequent episodes: fast algorithms, connections with HMMs and generalizations | |
Ulrich et al. | Speed and accuracy in digital network simulation based on structural modeling | |
WO2008075702A1 (ja) | 信号測定装置および信号測定方法 | |
US6789242B1 (en) | Method and system for integrated circuit design and diagnosis | |
US20140053027A1 (en) | Multiple clock domain debug capability | |
US20090105993A1 (en) | Histogram generation with multiple increment read-modify-write cycles | |
CN112968698B (zh) | 异步清零电路和方法 | |
Obrizan et al. | Multiversion parallel synthesis of digital structures based on SystemC specification | |
JP2016075493A (ja) | 集積回路、集積回路のテスト装置及びテスト方法 | |
US7412370B2 (en) | Modeling linear and non-linear system response to a pulse train |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |