本发明涉及软件领域,尤其涉及一种多个fpga芯片之间计数器同步的装置、系统及方法。
背景技术:
系统上电时,同一主板上的不同fpga存在启动时间会有一定的差异,导致各fpga内计数器不能同步,在一些需要时间同步的应用中就会出现时间误差。
目前多个fpga芯片之间计数器同步的方法一般为外部cpu或其他芯片同时给各fpga发触发信号,这种方法占用cpu的gpio资源,增加cpu运行负担。
技术实现要素:
本发明提供了一种多个fpga芯片之间计数器同步的装置,该装置包括定时器、反相器、mos管、计数器、信号驱动电路模块,所述定时器的输出端与所述反相器一端相连,所述反相器另一端与所述mos管栅级相连,所述mos管源级接地,所述mos管漏级输出同步触发信号,所述计数器的输入端输入clk信号,所述计数器的输出端与所述信号驱动电路模块一端相连,所述信号驱动电路模块另一端与所述mos管漏极相连;每个触发信号在fpga芯片内部设置为inout类型,及漏极电路开路结构;系统上电后,每个fpga芯片内部output信号输出0,经漏级开路电路,拉低触发信号,维持设定时间后,释放总线,即fpga芯片内部output信号输出1。
作为本发明的进一步改进,所述漏极开路电路是指mos管的漏极在fpga芯片内部悬空,在fpga芯片外部上拉电阻。
作为本发明的进一步改进,所述设定时间为0.5秒。
作为本发明的进一步改进,每个fpga芯片内部计数器检测clear信号的上升延时,进行重置。
本发明还公开了一种多个fpga芯片之间计数器同步的系统,该系统包括执行以下单元:
第1单元:每个触发信号在fpga芯片内部设置为inout类型,及漏极开路结构;
第2单元:系统上电后,每个fpga芯片内部output信号输出0,经反相器和mos管,拉低触发信号,维持设定时间后,释放总线,即fpga芯片内部output信号输出1。
作为本发明的进一步改进,在所述第2单元中,所述设定时间为0.5秒。
作为本发明的进一步改进,该系统还包括以下单元:
第3单元:每个fpga芯片内部计数器检测clear信号的上升延时,进行重置。
本发明还公开了一种多个fpga芯片之间计数器同步的方法,该方法将多个fpga芯片的触发信号连接在一起,其执行步骤具体如下:
第一步骤:每一个触发信号在fpga芯片内部设置为inout类型,及漏极开路结构;
第二步骤:系统上电后,每个fpga芯片内部output信号输出0,经反相器和mos管,拉低触发信号,维持设定时间后,释放总线,既fpga芯片内部output信号输出1。
作为本发明的进一步改进,所述设定时间为0.5秒。
作为本发明的进一步改进,该方法还包括执行以下步骤:
第三步骤:每个fpga芯片内部计数器检测clear信号的上升延时,进行重置。
本发明的有益效果是:在无需其他芯片的参与情况下,可以消除系统启动时,因为各fpga芯片上电时间差异、从flash加载代码时间差异而引起的计数器不同步的问题。
附图说明
图1是本发明的工作原理框图;
图2是本发明的fpga芯片内部结构原理图。
具体实施方式
如图1-2所示,本发明公开了一种多个fpga芯片之间计数器同步的装置,该装置包括定时器、反相器、mos管、计数器、信号驱动电路模块,所述定时器的输出端与所述反相器一端相连,所述反相器另一端与所述mos管栅级相连,所述mos管源级接地,所述mos管漏级输出同步触发信号,所述计数器的输入端输入clk信号,所述计数器的输出端与所述信号驱动电路模块一端相连,所述信号驱动电路模块另一端与所述mos管漏极相连;clk信号是计数器的触发时钟信号。
每个触发信号在fpga芯片内部设置为inout类型,及漏极电路开路结构;
inout类型是输入输出类型,fpga芯片的信号脚被定义为该类型后,就会被配置为漏极开路电路模式。
系统上电后,每个fpga芯片内部output信号输出0,经反相器和mos管,拉低触发信号,维持设定时间(设定时间为0.5秒)后,释放总线,即fpga芯片内部output信号输出1。
所述漏极开路电路是指mos管的漏极在fpga芯片内部悬空,在fpga芯片外部上拉电阻。
每个fpga芯片内部计数器检测clear信号的上升延时,进行重置;此时计数器清零,重新从零开始计数。
本发明还公开了一种多个fpga芯片之间计数器同步的系统,该系统包括执行以下单元:
第1单元:每个触发信号在fpga芯片内部设置为inout类型,及漏极开路结构;
第2单元:系统上电后,每个fpga芯片内部output信号输出0,经反相器和mos管,拉低触发信号,维持设定时间后,释放总线,即fpga芯片内部output信号输出1。
在所述第2单元中,所述设定时间为0.5秒。
该系统还包括以下单元:
第3单元:每个fpga芯片内部计数器检测clear信号的上升延时,进行重置。
本发明还公开了一种多个fpga芯片之间计数器同步的方法,该方法将多个fpga芯片的触发信号连接在一起,其执行步骤具体如下:
第一步骤:每一个触发信号在fpga芯片内部设置为inout类型,及漏极开路结构;
第二步骤:系统上电后,每个fpga芯片内部output信号输出0,经反相器和mos管,拉低触发信号,维持设定时间后,释放总线,即fpga芯片内部output信号输出1。
所述设定时间为0.5秒。
该方法还包括执行以下步骤:
第三步骤:每个fpga芯片内部计数器检测clear信号的上升延时,进行重置。
本发明还公开的一种多个fpga芯片之间计数器同步的方法,由于触发信号为漏极开路模式,所以只有当最后启动的fpga芯片释放总线时,总线电平才会由0转变到1,这样就完成的所以fpga芯片内部计数器的同步。
本发明的有益效果是:在无需其他芯片的参与情况下,可以消除系统启动时,因为各fpga芯片上电时间差异、从flash加载代码时间差异而引起的计数器不同步的问题。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
1.一种多个fpga芯片之间计数器同步的装置,其特征在于:该装置包括定时器、反相器、mos管、计数器、信号驱动电路模块,所述定时器的输出端与所述反相器一端相连,所述反相器另一端与所述mos管栅级相连,所述mos管源级接地,所述mos管漏级输出同步触发信号,所述计数器的输入端输入clk信号,所述计数器的输出端与所述信号驱动电路模块一端相连,所述信号驱动电路模块另一端与所述mos管漏极相连;
每个触发信号在fpga芯片内部设置为inout类型,及漏极电路开路结构;
系统上电后,每个fpga芯片内部output信号输出0,经反相器和mos管,拉低触发信号,维持设定时间后,释放总线,即fpga芯片内部output信号输出1。
2.根据权利要求1所述的装置,其特征在于:所述漏极开路电路是指mos管的漏极在fpga芯片内部悬空,在fpga芯片外部上拉电阻。
3.根据权利要求1所述的装置,其特征在于,所述设定时间为0.5秒。
4.根据权利要求1所述的装置,其特征在于,每个fpga芯片内部计数器检测clear信号的上升延时,进行重置。
5.一种多个fpga芯片之间计数器同步的系统,其特征在于,该系统包括执行以下单元:
第1单元:每个触发信号在fpga芯片内部设置为inout类型,及漏极开路结构;
第2单元:系统上电后,每个fpga芯片内部output信号输出0,经反相器和mos管,拉低触发信号,维持设定时间后,释放总线,即fpga芯片内部output信号输出1。
6.根据权利要求5所述的系统,其特征在于,在所述第2单元中,所述设定时间为0.5秒。
7.根据权利要求5所述的系统,其特征在于,该系统还包括以下单元:
第3单元:每个fpga芯片内部计数器检测clear信号的上升延时,进行重置。
8.一种多个fpga芯片之间计数器同步的方法,其特征在于,该方法将多个fpga芯片的触发信号连接在一起,其执行步骤具体如下:
第一步骤:每一个触发信号在fpga芯片内部设置为inout类型,及漏极开路结构;
第二步骤:系统上电后,每个fpga芯片内部output信号输出0,经反相器和mos管,拉低触发信号,维持设定时间后,释放总线,即fpga芯片内部output信号输出1。
9.根据权利要求8所述的方法,其特征在于:所述设定时间为0.5秒。
10.根据权利要求8所述的方法,其特征在于,该方法还包括执行以下步骤:第三步骤:每个fpga芯片内部计数器检测clear信号的上升延时,进行重置。
技术总结