CN109981084B - 基于fpga的窄脉冲输出系统及方法 - Google Patents
基于fpga的窄脉冲输出系统及方法 Download PDFInfo
- Publication number
- CN109981084B CN109981084B CN201711453508.7A CN201711453508A CN109981084B CN 109981084 B CN109981084 B CN 109981084B CN 201711453508 A CN201711453508 A CN 201711453508A CN 109981084 B CN109981084 B CN 109981084B
- Authority
- CN
- China
- Prior art keywords
- narrow pulse
- variable delay
- signal
- module
- width
- 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
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/01—Shaping pulses
- H03K5/04—Shaping pulses by increasing duration; by decreasing duration
- H03K5/05—Shaping pulses by increasing duration; by decreasing duration by the use of clock signals or other time reference signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/01—Shaping pulses
- H03K5/04—Shaping pulses by increasing duration; by decreasing duration
- H03K5/06—Shaping pulses by increasing duration; by decreasing duration by the use of delay lines or other analogue delay elements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
- H03K5/131—Digitally controlled
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
- H03K5/135—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
- H03K5/14—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of delay lines
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明提出一种基于FPGA的窄脉冲输出系统及方法,该系统包括:信号发生模块,作为信号发生源而生成并输出定宽窄脉冲信号,或,作为接口接收外部输入的定宽窄脉冲信号并输出;及信号处理模块,接收定宽窄脉冲信号,将定宽窄脉冲信号输入至第一可变延时模块和第二可变延时模块,并对经过第一可变延时模块的定宽窄脉冲信号进行取反,将第一可变延时模块和第二可变延时模块输出的两路定宽窄脉冲信号相与,生成第一窄脉冲信号并输出;其中,所述第一可变延时模块和第二可变延时模块被约束为位置固定,所述第一可变延时模块与所述第二可变延时模块之间具有一定时延差。本发明能克服随机延时带来的影响,输出更稳定的窄脉冲。
Description
技术领域
本发明涉及FPGA(Field-Programmable Gate Array,现场可编程门阵列)开发技术领域,尤其涉及的是一种基于FPGA的窄脉冲输出系统及方法。
背景技术
FPGA的开发设计难点关键在于设计的时序是否符合要求,而对于逻辑则完全可以依靠仿真来解决。在开发中FPGA分为行为仿真和后仿真,行为仿真只能根据开发人员写的程序进行逻辑和时序上的仿真,在一个理想的情况下,可以帮助开发人员查出逻辑漏洞和时序错误。后仿真可以在FPGA完成布局布线后根据实际情况来帮助开发人员查找是否存在时序约束上的错误。其中FPGA在进行布局布线是完全由软件自动实现的,其布线资源和逻辑资源是随机分配的,这就造成在从一个寄存器到另一个寄存器之间的信号延时也是随机的。在设计到纳秒级的信号时,这类的延时已经到了必须要解决的时候,否则每修改一次代码或添加一些功能后,布局布线都会不一样,从而导致输出的窄脉宽不稳定。
发明内容
本发明所要解决的技术问题是提供一种基于FPGA的窄脉冲输出系统及方法,能克服随机延时带来的影响,可输出更稳定的窄脉冲。
为解决上述问题,本发明提出一种基于FPGA的窄脉冲输出系统,包括:
信号发生模块,作为信号发生源而生成并输出定宽窄脉冲信号,或,作为接口接收外部输入的定宽窄脉冲信号并输出;及
信号处理模块,接收定宽窄脉冲信号,将定宽窄脉冲信号输入至第一可变延时模块和第二可变延时模块,并对经过第一可变延时模块的定宽窄脉冲信号进行取反,将第一可变延时模块和第二可变延时模块输出的两路定宽窄脉冲信号相与,生成第一窄脉冲信号并输出;其中,所述第一可变延时模块和第二可变延时模块被约束为位置固定,所述第一可变延时模块与所述第二可变延时模块之间具有一定时延差。
根据本发明的一个实施例,所述信号发生模块具有第一窄脉宽使能信号接口,接收窄脉宽使能信号;所述信号发生模块还用以根据所述窄脉宽使能信号判断窄脉冲宽度是否低于设定宽度,在低于设定宽度时输出定宽窄脉冲信号,否则,通过时钟计数方式生成第二窄脉冲信号输出。
根据本发明的一个实施例,该系统还包括信号输出模块,具有第二窄脉宽使能信号接口,接收窄脉宽使能信号;所述信号输出模块用以根据所述窄脉宽使能信号选择第一窄脉冲信号或第二窄脉冲信号输出。
根据本发明的一个实施例,所述信号处理模块包括:
所述第一可变延时模块,其窄脉冲输入接口接收所述信号发生模块输出的信号;
非门,其输入端连接所述第一可变延时模块的脉冲输出接口;
与门,其两个输入端分别连接所述非门的输出端和所述第二可变延时模块的脉冲输出接口,其输出端连接所述信号输出模块的第一脉冲输入接口;
所述第二可变延时模块,其窄脉冲输入接口接收所述信号发生模块输出的定宽窄脉冲信号或第二窄脉冲信号,其脉冲输出接口连接所述信号输出模块的第二脉冲输入接口和所述与门的一个输入端。
根据本发明的一个实施例,所述第一可变延时模块和第二可变延时模块为调入至信号处理模块中的FPGA硬件编程环境生成的原语模块,通过在约束文件中添加约束而使调入的第一可变延时模块和第二可变延时模块在自动布线过程中位置固定。
根据本发明的一个实施例,所述第一可变延时模块与所述第二可变延时模块之间的时延差可配置,配置延时的参数根据所需输出的第一窄脉冲信号的脉宽而定。
本发明还提供一种基于FPGA的窄脉冲输出方法,包括以下步骤:
S1:在开发环境下,形成信号发生模块和信号处理模块,所述信号处理模块中包括第一可变延时模块和第二可变延时模块,所述第一可变延时模块和第二可变延时模块被约束为位置固定,所述第一可变延时模块与所述第二可变延时模块之间具有一定时延差;
S2:信号发生模块接收窄脉宽使能信号,根据所述窄脉宽使能信号判断所需输出的窄脉冲宽度是否低于设定宽度,在低于设定宽度时输出定宽窄脉冲信号,否则,通过时钟计数方式生成第二窄脉冲信号并输出;
S3:信号处理模块接收定宽窄脉冲信号,将定宽窄脉冲信号输入至第一可变延时模块和第二可变延时模块,并对经过第一可变延时模块的定宽窄脉冲信号进行取反,将第一可变延时模块和第二可变延时模块输出的两路定宽窄脉冲信号相与,生成第一窄脉冲信号并输出。
根据本发明的一个实施例,在所述步骤S1中,还包括在开发环境下,形成信号输出模块;该方法还包括步骤S4:信号输出模块接收窄脉宽使能信号,根据所述窄脉宽使能信号选择第一窄脉冲信号或第二窄脉冲信号输出。
根据本发明的一个实施例,所述步骤S1中,所述第一可变延时模块和第二可变延时模块为调入至信号处理模块中的FPGA硬件编程环境生成的原语模块,通过在约束文件中添加约束而使调入的第一可变延时模块和第二可变延时模块在自动布线过程中位置固定。
根据本发明的一个实施例,所述步骤S1中,根据第一窄脉冲信号的脉宽而配置所述第一可变延时模块与所述第二可变延时模块之间的时延差。
采用上述技术方案后,本发明相比现有技术具有以下有益效果:
通过在信号处理模块中设置两个可变延时模块,同时接收定宽窄脉冲信号,通过时延差及两者输出的信号中一个取反而一个不取反来生成需要的窄脉冲信号,由于定宽窄脉冲信号可以设置为脉宽较大、而使得其随机延时影响可以被忽略,而可变延时模块的时延是可设置的,因而具有固定时延,从而使整个系统可以克服随机延时带来的影响,产生稳定的纳秒级窄脉宽信号。
附图说明
图1为本发明一实施例的基于FPGA的窄脉冲输出系统的结构框图;
图2为本发明一实施例的基于FPGA的窄脉冲输出系统的结构框图;
图3为本发明一实施例的基于FPGA的窄脉冲输出方法的流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
参看图1和图2,在一个实施例中,基于FPGA的窄脉冲输出系统包括:信号发生模块1和信号处理模块2。信号处理模块2在FPGA开发环境中生成,开发环境例如是ISE,可以通过硬件描述语言编写生成,硬件描述语言例如但不限于verilog。信号发生模块1可以是在FPGA开发环境中生成的模块,或者是一个输入接口或配置接口等不限。
信号发生模块1作为信号发生源而生成并输出定宽窄脉冲信号,或,作为接口接收外部输入的定宽窄脉冲信号并输出,可根据需要更改信号源脉冲宽度。信号发生模块1可在所需输出的窄脉冲宽度低于设定宽度时,输出定宽窄脉冲信号。例如,设定宽度为10纳秒,当所需输出的窄脉冲宽度低于10纳秒时,信号发生模块1需要送出10纳秒的定宽窄脉冲信号。可以根据具体系统的要求,由外部模块使能,去选择当前需要输出大于等于10纳秒还是低于10个纳秒的脉冲,也可以由用户输入或配置选择。
信号处理模块2可接收定宽窄脉冲信号,将定宽窄脉冲信号输入至第一可变延时模块IO_DELAY_1和第二可变延时模块IO_DELAY_2,第一可变延时模块IO_DELAY_1和第二可变延时模块IO_DELAY_2是同时接收定宽窄脉冲信号且接收的是同一信号。信号处理模块2还对经过第一可变延时模块IO_DELAY_1的定宽窄脉冲信号进行取反,当然,该取反工作可以是在第一可变延时模块IO_DELAY_1之前实现、也可以是在第一可变延时模块IO_DELAY_1之后实现,可通过非门等方式来实现。信号处理模块2还将第一可变延时模块IO_DELAY_1和第二可变延时模块IO_DELAY_2输出的两路定宽窄脉冲信号相与,生成第一窄脉冲信号并输出,换言之,信号处理模块2将经第一可变延时模块IO_DELAY_1传输延时且被取反的定宽窄脉冲信号与经第二可变延时模块IO_DELAY_2传输未延时的定宽窄脉冲信号进行与操作,可通过与门等方式实现。
其中,第一可变延时模块IO_DELAY_1和第二可变延时模块IO_DELAY_2被约束为位置固定,因而在自动布线过程中保持位置不变。同时第一可变延时模块IO_DELAY_1与第二可变延时模块IO_DELAY_2之间具有一定时延差。优选的,第一可变延时模块IO_DELAY_1配置为具有一定延时,第一可变延时模块IO_DELAY_1输出的是经延时且被取反后的定宽窄脉冲信号;第二可变延时模块IO_DELAY_2配置为零延时,第二可变延时模块IO_DELAY_2输出的是未被延时且未被取反的定宽窄脉冲信号,当然,只要两者之间具有一定时延差即可,其中一个设置为零延时可以保证第二窄脉冲信号可由此模块输出,使得整个系统结构更为精简。将两者输出的定宽窄脉冲信号进行与操作之后,可得到第一窄脉冲信号。
通过在信号处理模块2中设置两个可变延时模块,同时接收定宽窄脉冲信号,通过时延差及两者输出的信号中一个取反而一个不取反来生成需要的窄脉冲信号,由于定宽窄脉冲信号可以设置为脉宽较大、而使得其随机延时影响可以被忽略,而可变延时模块的时延是可设置的,因而具有固定时延,从而使整个系统可以克服随机延时带来的影响,产生稳定的纳秒级窄脉宽信号。
两者输出的信号中一个取反而一个不取反来生成需要的窄脉冲信号,是因为可变延时模块本身可以设置其固定延时,相同的信号a0输入到两个可变延时模块,选择第一可变延时模块IO_DELAY_1对进入的信号进行延时并取反输出b0,第二可变延时模块IO_DELAY_2不进行延时和取反,直接输出c0,信号b0和c0相与即可得到一个脉冲信号,调整这个脉冲信号的宽度就变成了调整第一可变延时模块TO_DELAY_1的延时。
具体来说,在一个FPGA系统中,生成一个大于或等于10纳秒的脉冲很容易用内部时钟实现,由于布局布线引起的延时对于几十纳秒及以上的脉冲影响可以忽略不计,对于这些大的脉宽信号,默认布局布线造成的随机延时影响可以直接忽略。但是对于10纳秒以下,比如5个纳秒时,由于随机延时产生的影响一般大1-2个纳秒,对于精确性造成很大的影响,这就是本发明要解决的重点。图2所示进入到第一可变延时模块IO_DELAY_1和第二可变延时模块IO_DELAY_2的信号线路是个简单的模型,在FPGA资源很多的情况下,信号的走线由于资源限制会走的很绕,所以在到达第一可变延时模块IO_DELAY_1和第二可变延时模块IO_DELAY_2前,这些信号的延时都不确定。用两个可变延时模块,并约束其位置后,在进入两个可变延时模块前的随机延时可以不计(延时影响较小),这些信号到达两个可变延时模块的时间是一样的,而两个可变延时模块的输出延时是可以控制的,成为固定延时,这样就消除了那些信号之前由于有线造成的随机延时的影响。
优选的,信号发生模块1具有第一窄脉宽使能信号接口,可以是软件接口或硬件接口,接收窄脉宽使能信号。当然,信号发生模块1还可以具有其他的接口,例如100MHZ(可以是其他频率)时钟接口、复位接口、16位(不限于16位)数据接口等模块输入接口,这些模块输入接口均可以由用户配置输入,以及一位脉冲输出接口。
信号发生模块1还用以根据窄脉宽使能信号判断所需输出的窄脉冲宽度是否低于设定宽度,例如,窄脉宽使能信号为高时说明是所需输出的窄脉冲宽度不低于设定宽度,而窄脉宽使能信号为低时说明是所需输出的窄脉冲宽度低于设定宽度,反之亦可。在所需输出的窄脉冲宽度低于设定宽度时,信号发生模块输出定宽窄脉冲信号,否则,通过时钟计数方式生成第二窄脉冲信号输出。
定宽窄脉冲信号是定宽的,例如是10纳秒,其生成方式也可以是时钟计数的方式。时钟计数的方式是指,对一定频率的时钟信号进行计数,直至计数到时间长度满足脉宽需要时,该段时间内的信号保持为高,其余为低。
通过信号发生模块1进行所需脉宽的判断,并在脉宽较大时直接生成第二窄脉冲信号,作为系统所需输出的窄脉冲信号,使得系统可以输出任意宽度的窄脉冲,可选择性更强。
在一个实施例中,继续参看图1和图2,该系统还包括信号输出模块3,同样可以通过verilog语言编写形成。信号输出模块3具有第二窄脉宽使能信号接口,通过第二窄脉宽使能信号接口接收窄脉宽使能信号,该窄脉宽使能信号与前述实施例中的窄脉宽使能信号可以是同一个。信号输出模块3用以根据窄脉宽使能信号选择第一窄脉冲信号或第二窄脉冲信号输出。
信号输出模块3通过窄脉宽使能信号来选择输出的信号,若窄脉宽使能信号表示所需输出的窄脉冲宽度低于设定宽度时,则选择第一窄脉冲信号输出,否则便选择第二窄脉冲信号输出,使得系统具有统一的窄脉冲输出接口。
信号输出模块3例如可以是一双路或多路选择器,窄脉宽使能信号作为选择控制信号。窄脉宽使能信号是外部用户需要输入的,作为控制信号,选择当前输出是大的脉宽信号还是10纳秒以下的信号。
在一个实施例中,参看图2,信号处理模块2包括:所述第一可变延时模块IO_DELAY_1,非门,与门a,所述第二可变延时模块IO_DELAY_2。非门、与门a为逻辑门电路,可通过verilog编写而成。
第一可变延时模块IO_DELAY_1的窄脉冲输入接口连接信号发生模块1的脉冲输出接口;非门的输入端连接第一可变延时模块IO_DELAY_1的脉冲输出接口;与门a的两个输入端分别连接非门的输出端和第二可变延时模块IO_DELAY_2的脉冲输出接口,与门a的输出端连接信号输出模块3的第一脉冲输入接口;第二可变延时模块IO_DELAY_2的窄脉冲输入接口连接信号发生模块1的脉冲输出接口,接收所述信号发生模块1的定宽窄脉冲信号或第二窄脉冲信号,其脉冲输出接口连接所述信号输出模块3的第二脉冲输入接口和与门a的一个输入端。非门也可以连接在第一可变延时模块IO_DELAY_1之前。第一可变延时模块IO_DELAY_1配置为具有一定延时,所述第二可变延时模块IO_DELAY_2配置为零延时,从而第二可变延时模块IO_DELAY_2可以一方面用来帮助实现第一窄脉冲信号的生成,另一方面可以输出第二窄脉冲信号。
优选的,第一可变延时模块IO_DELAY_1和第二可变延时模块IO_DELAY_2为调入至信号处理模块中的FPGA硬件编程环境生成的原语模块,通过在约束文件中添加约束而使调入的第一可变延时模块IO_DELAY_1和第二可变延时模块IO_DELAY_2在自动布线过程中位置固定。
将输入接口的窄脉冲送入第一可变延时模块IO_DELAY_1中,对该原语模块的延时参数进行设置,参数是0-255可改变的,0代表0延时,此原语模块的延时参数不设置为0,对输入或输出的定宽脉冲信号进行取反。对另一个原语模块的延时参数设置为0,其输入的定宽脉冲信号不需要取反。然后在约束文件中添加约束,使调入的两个可变延时模块的位置固定。
FPGA内部包含很多有限的资源供用户使用,可以通过配置来实现约束。本发明的不同在于采用两个相同的可变延时模块,固定其位置,可规避在进入这两个模块前,由于自动布局布线的原因产生的不可控延时,有两个可变延时模块就可以将进入模块前的信号随机延时规避,理想情况是变成一个固定的延时,这样用户调整一次后就不用每次布线后都去调整。如果单用一个可变延时模块固定其位置达不到这种效果,因为其之前的走线延时每次都不一样。所以,本发明可避免被软件自动布线时随机固定在其他位置从而导致的随机延时的发生。
优选的,第一可变延时模块IO_DELAY_1的时延可配置,根据第一窄脉冲信号的脉宽而定,从而使得系统可以输出不同脉宽的第一窄脉冲信号,也即产生的窄脉宽信号可设置。
下面通过一具体实施例来进一步进行说明,但不应以此为限。
由于FPGA型号不同,其调用的可变时延模块会有所差距,本实施例中,在FPGA选择为Xilinx Spartan6系列情况下,对可变时延模块的配置进行介绍并说明实现输出固定5ns脉冲信号,所用输入时钟为100MHZ。
可变时延模块可设置延时参数范围为0到255。结合表(1),延时时间的计算公式如下:
Maximum_tap_delay=integer(number of taps/8)*Ttap8+Ttapn
其中,Maximum_tap_delay为最大延时,interger为取整数运算,number of tap:为设置的步数,Ttap8为对应下表(1)中Ttap8的参数,Ttapn为其中是设置的步数除以8取整后剩下的余数,算出n对应下表查找到延时大小,代入公式。
表(1)
表(1)是芯片手册上给的,也就是查询对应芯片型号的Ttapn延时参数用。SpeedGrade:芯片速度等级。
其中n为余数,Ttap8根据芯片速度等级不同,参考数值也不同。100MHZ时钟,计数可产生最小为10ns的脉冲信号。所以要产生5ns脉冲信号需要将10ns信号进行延时5ns,然后与原10ns信号进行逻辑与得到。速度等级为-3的芯片,根据给出的公式计算得到tap值约为124。计算误差在皮秒级别,满足设计的需求。最后为了避免开发环境自动布线带来的随机布线延时,将调用的可变时延模块在约束文件中固定其位置,这样可以将布线延时的时间固定,不会随其他逻辑上的改动而产生不确定性,从而使脉冲可以稳定输出。给出具体可变时延模块约束语句示例如下:
INST″u_wave_controller_0∨u_delay_1″LOC=IODELAY_X0Y37;
INST″u_wave_controller_0∨u_delay_0″LOC=IODELAY_X0Y36;
在实际开发中,计算能得到的理论值和实际用示波器测量得到的值有所偏差,可以调整tap值得到一个实际理想的5纳秒或者更低的脉冲宽度输出信号。
参看图3,本发明还提供一种基于FPGA的窄脉冲输出方法,包括以下步骤:
S1:在开发环境下,形成信号发生模块和信号处理模块,所述信号处理模块中包括第一可变延时模块和第二可变延时模块,所述第一可变延时模块和第二可变延时模块被约束为位置固定,所述第一可变延时模块与所述第二可变延时模块之间具有一定时延差;在本步骤中,可以形成前述实施例中的基于FPGA的窄脉冲输出系统,形成系统时进行了自动布线;
S2:信号发生模块接收窄脉宽使能信号,根据所述窄脉宽使能信号判断所需输出的窄脉冲宽度是否低于设定宽度,在低于设定宽度时输出定宽窄脉冲信号,否则,通过时钟计数方式生成第二窄脉冲信号并输出;
S3:信号处理模块接收定宽窄脉冲信号,将定宽窄脉冲信号输入至第一可变延时模块和第二可变延时模块,并对经过第一可变延时模块的定宽窄脉冲信号进行取反,将第一可变延时模块和第二可变延时模块输出的两路定宽窄脉冲信号相与,生成第一窄脉冲信号并输出。
根据本发明的一个实施例,在所述步骤S1中,还包括在开发环境下,形成信号输出模块;该方法还包括步骤S4:信号输出模块接收窄脉宽使能信号,根据所述窄脉宽使能信号选择第一窄脉冲信号或第二窄脉冲信号输出。
根据本发明的一个实施例,所述步骤S1中,所述第一可变延时模块和第二可变延时模块为调入至信号处理模块中的FPGA硬件编程环境生成的原语模块,通过在约束文件中添加约束而使调入的第一可变延时模块和第二可变延时模块在自动布线过程中位置固定。
根据本发明的一个实施例,所述步骤S1中,根据第一窄脉冲信号的脉宽而配置所述第一可变延时模块与所述第二可变延时模块之间的时延差。
关于本发明的基于FPGA的窄脉冲输出方法的具体内容可以参看前述实施例中的基于FPGA的窄脉冲输出系统的具体描述,在此不再赘述。
本发明虽然以较佳实施例公开如上,但其并不是用来限定权利要求,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
Claims (7)
1.一种基于FPGA的窄脉冲输出系统,其特征在于,包括:
信号发生模块,作为信号发生源而生成并输出定宽窄脉冲信号,或,作为接口接收外部输入的定宽窄脉冲信号并输出;及
信号处理模块,接收定宽窄脉冲信号,将定宽窄脉冲信号输入至第一可变延时模块和第二可变延时模块,并对经过第一可变延时模块的定宽窄脉冲信号进行取反,将第一可变延时模块和第二可变延时模块输出的两路定宽窄脉冲信号相与,生成第一窄脉冲信号并输出;其中,所述第一可变延时模块和第二可变延时模块被约束为位置固定,所述第一可变延时模块与所述第二可变延时模块之间具有一定时延差;
所述信号发生模块具有第一窄脉宽使能信号接口,接收窄脉宽使能信号;所述信号发生模块还用以根据所述窄脉宽使能信号判断窄脉冲宽度是否低于设定宽度,在低于设定宽度时输出定宽窄脉冲信号,否则,通过时钟计数方式生成第二窄脉冲信号输出;
该系统还包括信号输出模块,具有第二窄脉宽使能信号接口,接收窄脉宽使能信号;所述信号输出模块用以根据所述窄脉宽使能信号选择第一窄脉冲信号或第二窄脉冲信号输出。
2.如权利要求1所述的基于FPGA的窄脉冲输出系统,其特征在于,所述信号处理模块包括:
所述第一可变延时模块,其窄脉冲输入接口接收所述信号发生模块输出的信号;
非门,其输入端连接所述第一可变延时模块的脉冲输出接口;
与门,其两个输入端分别连接所述非门的输出端和所述第二可变延时模块的脉冲输出接口,其输出端连接所述信号输出模块的第一脉冲输入接口;
所述第二可变延时模块,其窄脉冲输入接口接收所述信号发生模块输出的的定宽窄脉冲信号或第二窄脉冲信号,其脉冲输出接口连接所述信号输出模块的第二脉冲输入接口和所述与门的一个输入端;
所述第一可变延时模块配置为具有一定延时,所述第二可变延时模块配置为零延时。
3.如权利要求1-2中任意一项所述的基于FPGA的窄脉冲输出系统,其特征在于,所述第一可变延时模块和第二可变延时模块为调入至信号处理模块中的FPGA硬件编程环境生成的原语模块,通过在约束文件中添加约束而使调入的第一可变延时模块和第二可变延时模块在自动布线过程中位置固定。
4.如权利要求1-2中任意一项所述的基于FPGA的窄脉冲输出系统,其特征在于,所述第一可变延时模块与所述第二可变延时模块之间的时延差可配置,配置延时的参数根据所需输出的第一窄脉冲信号的脉宽而定。
5.一种基于FPGA的窄脉冲输出方法,其特征在于,包括以下步骤:
S1:在开发环境下,形成信号发生模块和信号处理模块,所述信号处理模块中包括第一可变延时模块和第二可变延时模块,所述第一可变延时模块和第二可变延时模块被约束为位置固定,所述第一可变延时模块与所述第二可变延时模块之间具有一定时延差;
S2:信号发生模块接收窄脉宽使能信号,根据所述窄脉宽使能信号判断所需输出的窄脉冲宽度是否低于设定宽度,在低于设定宽度时输出定宽窄脉冲信号,否则,通过时钟计数方式生成第二窄脉冲信号并输出;
S3:信号处理模块接收定宽窄脉冲信号,将定宽窄脉冲信号输入至第一可变延时模块和第二可变延时模块,并对经过第一可变延时模块的定宽窄脉冲信号进行取反,将第一可变延时模块和第二可变延时模块输出的两路定宽窄脉冲信号相与,生成第一窄脉冲信号并输出;
在所述步骤S1中,还包括在开发环境下,形成信号输出模块;该方法还包括步骤S4:信号输出模块接收窄脉宽使能信号,根据所述窄脉宽使能信号选择第一窄脉冲信号或第二窄脉冲信号输出。
6.如权利要求5所述的基于FPGA的窄脉冲输出方法,其特征在于,所述步骤S1中,所述第一可变延时模块和第二可变延时模块为调入至信号处理模块中的FPGA硬件编程环境生成的原语模块,通过在约束文件中添加约束而使调入的第一可变延时模块和第二可变延时模块在自动布线过程中位置固定。
7.如权利要求5所述的基于FPGA的窄脉冲输出方法,其特征在于,所述步骤S1中,根据第一窄脉冲信号的脉宽而配置所述第一可变延时模块与所述第二可变延时模块之间的时延差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711453508.7A CN109981084B (zh) | 2017-12-27 | 2017-12-27 | 基于fpga的窄脉冲输出系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711453508.7A CN109981084B (zh) | 2017-12-27 | 2017-12-27 | 基于fpga的窄脉冲输出系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109981084A CN109981084A (zh) | 2019-07-05 |
CN109981084B true CN109981084B (zh) | 2023-06-30 |
Family
ID=67073988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711453508.7A Active CN109981084B (zh) | 2017-12-27 | 2017-12-27 | 基于fpga的窄脉冲输出系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981084B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110445478A (zh) * | 2019-08-22 | 2019-11-12 | 电子科技大学 | 一种任意脉宽的脉冲发生装置 |
CN110429927A (zh) * | 2019-08-22 | 2019-11-08 | 电子科技大学 | 一种脉冲位置任意且脉宽可调的脉冲发生装置 |
CN111934655B (zh) * | 2020-07-28 | 2023-03-28 | 新华三半导体技术有限公司 | 一种脉冲时钟产生电路、集成电路和相关方法 |
CN115208476A (zh) * | 2021-04-09 | 2022-10-18 | 北京中创为南京量子通信技术有限公司 | 一种量子密钥发射机窄脉冲生成方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008193461A (ja) * | 2007-02-06 | 2008-08-21 | Matsushita Electric Ind Co Ltd | ワンショットパルス発生回路 |
CN101430372A (zh) * | 2007-11-07 | 2009-05-13 | 中国科学院微电子研究所 | 全球定位系统接收机的低成本授时与同步方法及设备 |
CN102301423A (zh) * | 2009-02-02 | 2011-12-28 | 高通股份有限公司 | 脉冲产生系统及方法 |
CN102801922A (zh) * | 2012-08-07 | 2012-11-28 | 天津全华时代航天科技发展有限公司 | 基于脉宽调制信号的视频切换系统及方法 |
CN104904108A (zh) * | 2013-06-25 | 2015-09-09 | 富士电机株式会社 | 信号传递电路 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100090739A1 (en) * | 2008-10-15 | 2010-04-15 | Tellabs Petaluma, Inc. | Method and Apparatus for Removing Narrow Pulses from a Clock Waveform |
CN102801402A (zh) * | 2011-05-27 | 2012-11-28 | 上海华魏光纤传感技术有限公司 | 新型窄脉冲信号发生器 |
CN104586435B (zh) * | 2014-12-29 | 2017-01-18 | 中国科学院苏州生物医学工程技术研究所 | 脉宽幅值可调的宽带高压窄脉冲系统及脉冲产生方法 |
TWI551053B (zh) * | 2015-01-14 | 2016-09-21 | 新唐科技股份有限公司 | 脈寬調變訊號產生電路與方法 |
CN204836104U (zh) * | 2015-07-15 | 2015-12-02 | 中国工程物理研究院流体物理研究所 | 一种基于逻辑延时锁定的抗干扰电路 |
CN105827222A (zh) * | 2016-05-18 | 2016-08-03 | 中国工程物理研究院应用电子学研究所 | 一种基于fpga高速串行总线的纳秒级数字同步机 |
-
2017
- 2017-12-27 CN CN201711453508.7A patent/CN109981084B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008193461A (ja) * | 2007-02-06 | 2008-08-21 | Matsushita Electric Ind Co Ltd | ワンショットパルス発生回路 |
CN101430372A (zh) * | 2007-11-07 | 2009-05-13 | 中国科学院微电子研究所 | 全球定位系统接收机的低成本授时与同步方法及设备 |
CN102301423A (zh) * | 2009-02-02 | 2011-12-28 | 高通股份有限公司 | 脉冲产生系统及方法 |
CN102801922A (zh) * | 2012-08-07 | 2012-11-28 | 天津全华时代航天科技发展有限公司 | 基于脉宽调制信号的视频切换系统及方法 |
CN104904108A (zh) * | 2013-06-25 | 2015-09-09 | 富士电机株式会社 | 信号传递电路 |
Also Published As
Publication number | Publication date |
---|---|
CN109981084A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981084B (zh) | 基于fpga的窄脉冲输出系统及方法 | |
KR100571744B1 (ko) | 반도체 집적 회로 장치 | |
US10999050B1 (en) | Methods and apparatus for data synchronization in systems having multiple clock and reset domains | |
JP2007108172A (ja) | 半導体回路のオンチップ特性を測定するための装置及びそれに関する方法 | |
CN115542131B (zh) | 一种芯片测试方法及电路 | |
CN115543051A (zh) | Fpga全局复位同步电路、芯片、验证仿真系统及方法 | |
Han et al. | GUI-enhanced layout generation of FFE SST TXs for fast high-speed serial link design | |
US20070129923A1 (en) | Dynamic synchronizer simulation | |
US20110158005A1 (en) | Data Access Apparatus and Associated Method for Accessing Data Using Internally Generated Clocks | |
US20150145580A1 (en) | Apparatus for controlling semiconductor chip characteristics | |
US7676685B2 (en) | Method for improving the data transfer in semi synchronous clock domains integrated circuits at any possible m/n clock ratio | |
TWI806340B (zh) | 用於包括待測試的時序器件的流水線級的測試電路、測試方法和包括測試電路的計算系統 | |
TWI790088B (zh) | 處理器和計算系統 | |
US7159199B2 (en) | Method for verifying adequate synchronization of signals that cross clock environments and system | |
US7009431B2 (en) | Interpolator linearity testing system | |
CN215180689U (zh) | 测试电路和包括测试电路的计算系统 | |
Sawyer | Source-synchronous serialization and deserialization (up to 1050 Mb/s) | |
Poornima et al. | Functional verification of clock domain crossing in register transfer level | |
JP2001184372A (ja) | 波形なまり検証方法及び波形なまり検証装置 | |
US6980041B2 (en) | Non-iterative introduction of phase delay into signal without feedback | |
RU2806240C1 (ru) | Схема обнаружения и способ обнаружения | |
US20230018414A1 (en) | Retiming and Overclocking of Large Circuits | |
JPH05189517A (ja) | シミュレーション回路 | |
US20040163065A1 (en) | A method of bypassing a plurality of clock trees in eda tools | |
US10838799B2 (en) | Parallel error calculation |
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 |