用于数字电路的信号延迟方法、装置及数字电路系统的制作方法

文档序号:7512261阅读:989来源:国知局
专利名称:用于数字电路的信号延迟方法、装置及数字电路系统的制作方法
技术领域
本发明涉及电路技术,尤其涉及一种用于数字电路的信号延迟方法、装置及数字电路系统。
背景技术
数字逻辑设计中,通常使用寄存器或者采用RAM (Random Access Memory,随机存取存储器)实现宽脉冲类型信号的大规模延迟。使用寄存器实现宽脉冲类型信号的延迟通过寄存器D级联实现,每个寄存器D实现一个时钟周期的延迟,实现m个时钟周期的延迟量需要占用m个寄存器资源。信号(signal)经过m个时钟周期延迟后变为延迟信号(delay signal)。该方法存在的问题是延迟量较大时,需要消耗大量的寄存器,不利于降低功耗和成本;并且大量的寄存器级联造成寄存器保持时间不容易满足,对后端的时序不利;当延迟量变化时需要修改代码,且代码行数多,导致可扩展性差。采用RAM实现脉冲类型信号的延迟,通过RAM的读数据和写数据之间的地址差实现。写端口从地址0开始写入数据,当RAM写端口写地址为“delay”时,读端口从地址0开始读出数据,读数据比写数据晚“delay”个时钟周期输出,即实现延迟量为“delay”的延迟。该方法存在的问题是延迟量较大时需要占用大量的RAM资源,造成成本和功耗增加;并且大量的RAM资源消耗导致后端布局布线拥塞;当延迟量增大时,需要增加RAM的深度,也增加了 RAM读写控制的设计难度,可扩展性差。

发明内容
本发明实施例提供一种用于数字电路的信号延迟方法、装置及数字电路系统,用于节约数字电路中用于信号延迟的资源。本发明实施例提供一种用于数字电路的信号延迟方法,包括接收待延迟的信号,所述待延迟的信号的待延迟量为n个延迟单位,其中n为自然数;分解出所述待延迟的信号的上升沿和下降沿;通过计数器对所述上升沿和下降沿分别进行n_l个延迟单位的延迟,得到延迟后的上升沿和延迟后的下降沿;将所述延迟后的上升沿和延迟后的下降沿合成,得到所述待延迟的信号延迟了 n延迟单位后的信号。本发明实施例的第一个方面是提供一种用于数字电路的信号延迟装置,包括沿分解单元,用于接收待延迟的信号,并用于分解出所述待延迟的信号的上升沿和下降沿,并将分解出的所述待延迟的信号的上升沿和下降沿发送给延迟单元,所述待延迟的信号的待延迟量为n个延迟单位,其中n为自然数;
延迟单元,用于接收所述沿分解单元发送的所述待延迟的信号的上升沿和下降沿,通过计数器对所述上升沿和下降沿分别进行n-1个延迟单位的延迟,得到延迟后的上升沿和延迟后的下降沿,并将所述延迟后的上升沿和延迟后的下降沿发送给合成单元;合成单元,用于接收所述延迟单元发送的所述延迟后的上升沿和延迟后的下降沿,将所述延迟后的上升沿和延迟后的下降沿合成,得到所述待延迟的信号延迟了 n延迟单位后的信号。本发明实施例的另一个方面是提供一种数字电路系统,包括上述用于数字电路的信号延迟装置。本发明实施例中提供的信号延迟方法采用计数器实现信号的延迟,从而可以用少量的计数器替代寄存器或RAM实现信号的延迟,有效地解决了传统方式通过寄存器、RAM延 迟导致的占用资源大的问题。


图I为本发明实施例提供的用于数字电路的信号延迟方法的流程图;图2为本发明实施例用于数字电路的信号延迟方法的实现时序图;图3为本发明实施例用于数字电路的信号延迟方法中上升沿间隔与下降沿间隔的不意图;图4为本发明实施例提供的一种用于数字电路的信号延迟装置的结构示意图;图5为本发明实施例提供的另一种用于数字电路的信号延迟装置的结构示意图;图6为图5所示用于数字电路的信号延迟装置中上升沿延迟单元DLY_B1的结构示意图;图7为图5所示用于数字电路的信号延迟装置中基本脉冲延迟单元信号及参数示意图;图8为图5所示用于数字电路的信号延迟装置中基本脉冲延迟单元DLYA的实现电路图。
具体实施例方式图I为本发明实施例提供的用于数字电路的信号延迟方法的流程图。如图I所示,数字逻辑延迟方法包括步骤11、接收待延迟的信号,该待延迟的信号的待延迟量为n个延迟单位,其中n为自然数,延迟单位可以是时钟周期;步骤12、分解出该待延迟的信号的上升沿和下降沿;步骤13、通过计数器对该上升沿和下降沿分别进行n_l个延迟单位的延迟,得到延迟后的上升沿和延迟后的下降沿。步骤14、将该延迟后的上升沿和延迟后的下降沿合成,得到该待延迟的信号延迟了 n延迟单位后的信号。本发明实施例用于数字电路的信号延迟方法的实现时序如图2所示,待延迟的信号(signal)被分解出上升沿(pos_edge)和下降沿(neg_edge)后,分别对上升沿(pos_edge)和下降沿(neg_edge)进行了延迟量为delay-1的延迟,得到延迟后的上升沿(delay_pos_edge)和延迟后的下降沿(delay_neg_edge)。将延迟后的上升沿(delay_pos_edge)和延迟后的下降沿(delay_neg_edge)合成,又占用了 I个延迟单位,得到延迟后的信号时,待延迟的信号(signal)已被延迟了 delay。其中,delay的单位为时钟周期。可选地,通过计数器对该上升沿和下降沿分别进行n_l个延迟单位的延迟,包括将该n-1个延迟单位与该待延迟的信号的沿间隔最小值进行比较,该沿间隔最小值为该待延迟的信号的所有上升沿间隔与所有下降沿间隔中的间隔最小的值,如图3所示,该上升沿间隔为该待延迟的信号中从第一个上升沿开始,相邻的两个上升沿之间的间隔,该下降沿间隔为该待延迟的信号中从第一个下降沿开始,相邻的两个下降沿之间的间隔;当该n-1个延迟单位小于等于该待延迟的信号的沿间隔最小值时,该上升沿和下降沿分别通过一个基本脉冲延迟单元进行延迟;
当该n-1个延迟单位大于该待延迟的信号的沿间隔最小值时,该上升沿和下降沿分别通过m个级联的基本脉冲延迟单元进行延迟,m等于该n-1个延迟单位除以该待延迟的信号的沿间隔最小值后,向上取整得到的值,每个基本脉冲延迟单元的延迟量小于等于该待延迟的信号的沿间隔最小值,各基本脉冲延迟单元分别包含一个计数器。可选地,该m个级联的基本脉冲延迟单元中,第一个基本脉冲延迟单元的延迟量等于该n-1个延迟单位减去m-1个该待延迟的信号的沿间隔最小值,其余基本脉冲延迟单元的延迟量均等于该待延迟的信号的沿间隔最小值。可选地,通过计数器对该上升沿和下降沿分别进行n-1个延迟单位的延迟,包括该计数器在该上升沿或下降沿的触发下从I开始计数,当计数达到该计数器的延迟量减I个延迟单位时清零,且输出高电平脉冲信号。可选地,将该延迟后的上升沿和延迟后的下降沿合成,包括通过时序逻辑将该延迟后的上升沿和延迟后的下降沿合成。本发明实施例中,信号延迟方法采用计数器实现信号的延迟,从而可以用少量的计数器替代寄存器或RAM实现信号的延迟,有效地解决了传统方式通过寄存器、RAM延迟导致的占用资源大、成本高的问题,降低了功耗。并且,在基本脉冲延迟单元级联延迟的过程中,输入输出端口均为时序逻辑,解决了传统方式时序不易收敛和布局布线拥塞的问题。此夕卜,本发明实施例中,信号延迟方法可扩展性好,当延迟量改变时,无需修改代码,只需对参数进行修改,解决了传统方式实现延迟时,延迟量的变化会导致需要较大变更代码的问题。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M (Read-OnlyMemory,只读存储器)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。图4为本发明实施例提供的一种用于数字电路的信号延迟装置的结构示意图。如图4所示,用于数字电路的信号延迟装置包括沿分解单元41、延迟单元42及合成单元43。沿分解单元41用于用于接收待延迟的信号,并用于分解出所述待延迟的信号的上升沿和下降沿,并将分解出的所述待延迟的信号的上升沿和下降沿发送给延迟单元42,所述待延迟的信号的待延迟量为n个延迟单位,其中n为自然数。延迟单元42用于接收沿分解单元41发送的所述待延迟的信号的上升沿和下降沿,通过计数器对所述上升沿和下降沿分别进行n-1个延迟单位的延迟,得到延迟后的上升沿和延迟后的下降沿,并将所述延迟后的上升沿和延迟后的下降沿发送给合成单元43。合成单元43用于接收延迟单元42发送的所述延迟后的上升沿和延迟后的下降沿,将所述延迟后的上升沿和延迟后的下降沿合成,得到所述待延迟的信号延迟了 n延迟单位后的信号。可选地,该延迟单元42包括上升沿延迟单元和下降沿延迟单元,该上升沿延迟单元和下降沿延迟单元分别包括至少一个基本脉冲延迟单元,一个基本脉冲延迟单元中包含一个计数器;该上升沿延迟单元通过该至少一个基本脉冲延迟单元对该上升沿延迟该n-1个延迟单位;该下降沿延迟单元通过该至少一个基本脉冲延迟单元对该下降沿延迟该n-1个延迟单位;各基本脉冲延迟单元的延迟量分别小于等于该待延迟的信号的沿间隔最小值,该沿间隔最小值为该待延迟的信号的所有上升沿间隔与所有下降沿间隔中的间隔最小的值,该上升沿间隔为该待延迟的信号中从第一个上升沿开始,相邻的两个上升沿之间的间隔,该下降沿间隔为该待延迟的信号中从第一个下降沿开始,相邻的两个下降沿之间的间隔。可选地,该上升沿延迟单元和下降沿延迟单元分别包括m个基本脉冲延迟单元,m等于该n-1个延迟单位除以该待延迟的信号的沿间隔最小值后,向上取整得到的值;该m个基本脉冲延迟单元级联在一起,该m个基本脉冲延迟单元中,第一个基本脉冲延迟单元的延迟量等于该n-1个延迟单位减去m-1个该待延迟的信号的沿间隔最小值,其余基本脉冲延迟单元的延迟量均等于该待延迟的信号的沿间隔最小值。可选地,该基本脉冲延迟单元中,计数器在该上升沿或下降沿的触发下从I开始计数,当计数达到该计数器的延迟量减I个延迟单位时清零,且该基本脉冲延迟单元输出高电平脉冲信号。可选地,该合成单元为时序逻辑电路。本发明实施例中,用于数字电路的信号延迟装置通过采用计数器实现信号的延迟,从而可以用少量的计数器替代寄存器或RAM实现信号的延迟,有效地解决了传统方式通过寄存器、RAM延迟导致的占用资源大、成本高的问题,降低了功耗。并且,在基本脉冲延迟单元级联延迟的过程中,输入输出端口均为时序逻辑,解决了传统方式时序不易收敛和布局布线拥塞的问题。此外,本发明实施例中,信号延迟方法可扩展性好,当延迟量改变时,无需修改代码,只需对参数进行修改,解决了传统方式实现延迟时,延迟量的变化会导致需要较大变更代码的问题。图5为本发明实施例提供的另一种用于数字电路的信号延迟装置的结构示意图。用于数字电路的信号延迟装置包括沿分解单元51、延迟单元52及合成单元53。延迟单元52包括上升沿延迟单元DLY_B1和下降沿延迟单元DLY_B2。假设待延迟的信号为脉冲信号(signal),待延迟量为delay个时钟周期。沿分解单元51使用组合逻辑实现上升沿和下降沿。具体地,脉冲信号通过寄存器D延迟一个时钟周期后的信号为signal_ld,取脉冲信号的上升沿pos—edge = signal & (signaljd),取下降沿neg_ edge = (signal) & sig腿I—IcL该过程中脉冲信号无延迟。延迟单元52中,上升沿pos_edge通过上升沿延迟单元DLY_B1延迟(delay-1)个时钟周期,得到延迟后的上升沿delay_pos_edge。同理,下降沿neg_edge通过下降沿延迟单元DLY_B2延迟(delay-1)个时钟周期,得到延迟后的下降沿delay_neg_edge。上升沿延迟单元DLY_B1和下降沿延迟单元DLY_B2延迟的过程相当于对脉冲信号进行了延迟量为(delay-1)个时钟周期的延迟。然后,通过合成单元53将延迟后的上升沿delay_p0S_edge和延迟后的下降沿delay_neg_edge合成,恢复得到延迟后的脉冲信号delay_signal。合成单元53的合成过
程使用时序逻辑实现,相当于脉冲信号又被延迟了一个时钟周期。这样,从分解出脉冲信号的上升沿和下降沿,到恢复出延迟后的脉冲信号的过程,延迟总量为delay个时钟周期,即实现了脉冲信号signal延迟量为delay个时钟周期的延迟。合成单元53合成得到延迟后的脉冲信号delay_Signal的具体过程,用伪代码可
表示为
if(delay = I) begindelay—signal <= signal;
end
else begin
if(deiay—pos—edge == I )begin delay—signal <= I;
end
else begin
if(delay—pos—edge = I )begin
delay—signal <= 0.;
end
else;
end
end.上升沿延迟单元DLY_B1和下降沿延迟单元DLY_B2分别由I个或多个基本脉冲延迟单元DLY_A级联而成。其中,基本脉冲延迟单元DLY_A的个数和延迟前的脉冲信号signal的特性相关。延迟前的脉冲信号signal的上升沿间隔、下降沿间隔如图3所示,假设延迟前的脉冲信号所有上升沿间隔最小值为pos_space_min,所有下降沿间隔最小值为neg_space_min。当延迟量delay-1 < = min (pos_space_min, neg_space_min)时,则基本脉冲延迟单元DLY_A级联的个数n = I,即实现延迟量为(delay-1)个时钟周期的延迟只需要I个基本脉冲延迟单元DLY_A。当延迟量delay-1 > min (pos_space_min, neg_space_min)时,则联的个 数n=「(delay-l)/min(pos space min, neg space min)],即实现延迟(delay-1)
个时钟周期的延迟,需要将n个基本脉冲延迟单元DLY_A级联。其中,「.I为向上取整函数。上升沿延迟单元DLY_B1的结构如图6所示,n个基本脉冲延迟单元DLY_A1、DLY_A2、. . . DLY_An级联,实现delay — I个时钟周期的延迟。其中,基本脉冲延迟单元DLY_A1、DLY_A2、. . . DLY_An 的延迟量配置分别为 dly_loadl、dly_load2、. . . dly_loadn,基本脉冲延迟单元DLY_A1输出延迟了 dly_loadl个时钟周期的上升沿pos_outl,基本脉冲延迟单元DLY_A2输出延迟了 dly_loadl+dly_load2个时钟周期的上升沿pos_out2,...,基本脉冲
延迟单元DLY_An输出延迟了 dly_loadl + dly_load2 +.......dly_loadn个时钟周期的
上升沿delay_pos_edge。也就是说,基本脉冲延迟单元DLY_A1、DLY_A2、. . . DLY_An的延迟量总和,等于上升沿延迟单元DLY_B1的延迟量(delay — I)个时钟周期,即dly_loadl +dly_load2 +.......dly_loadn = delay — I。下降沿延迟单元DLY_B2的结构与上升沿延迟单元DLY_B1的结构相同。其中,第I级延迟量即基本脉冲延迟单元DLY_A1的延迟量可配置为dly_loadl =delay — I — (n_l)min(pos_space_min, neg_space_min)。其它各级的延迟量即基本脉冲延迟单元DLY_A2、. . . DLY_An的延迟量可做相同的
配置均,BP dly_load2 = dly_load3 =....... = dly_loadn = min (pos_space_min, neg_
space_min)。对于每个基本脉冲延迟单元,需要配置参数-延迟量。如图7所示,基本脉冲延迟单元DLY_A输入信号为pos_in,输出延迟后的信号为pos_out,配置的延迟量为dly_load。基本脉冲延迟单元DLY_A的实现电路如图8所示,利用信号的上升沿和下降沿启
动计数器实现信号的延迟。用伪代码可表示为
if(pos_in == I) begin
cat_a <= I; end
else begin
if(cnt—a >= dlyjoad -l)begin cnt—a <= 0;
权利要求
1.一种用于数字电路的信号延迟方法,其特征在于,包括 接收待延迟的信号,所述待延迟的信号的待延迟量为n个延迟单位,其中n为自然数; 分解出所述待延迟的信号的上升沿和下降沿; 通过计数器对所述上升沿和下降沿分别进行n-1个延迟单位的延迟,得到延迟后的上升沿和延迟后的下降沿; 将所述延迟后的上升沿和延迟后的下降沿合成,得到所述待延迟的信号延迟了 n延迟单位后的信号。
2.根据权利要求I所述方法,其特征在于,通过计数器对所述上升沿和下降沿分别进行n-1个延迟单位的延迟,包括 将所述n-1个延迟单位与所述待延迟的信号的沿间隔最小值进行比较,所述沿间隔最小值为所述待延迟的信号的所有上升沿间隔与所有下降沿间隔中的间隔最小的值,所述上升沿间隔为所述待延迟的信号中从第一个上升沿开始,相邻的两个上升沿之间的间隔,所述下降沿间隔为所述待延迟的信号中从第一个下降沿开始,相邻的两个下降沿之间的间隔; 当所述n-1个延迟单位小于等于所述待延迟的信号的沿间隔最小值时,所述上升沿和下降沿分别通过一个基本脉冲延迟单元进行延迟; 当所述n-1个延迟单位大于所述待延迟的信号的沿间隔最小值时,所述上升沿和下降沿分别通过m个级联的基本脉冲延迟单元进行延迟,m等于所述n-1个延迟单位除以所述待延迟的信号的沿间隔最小值后,向上取整得到的值; 其中,每个所述基本脉冲延迟单元的延迟量小于等于所述待延迟的信号的沿间隔最小值,各基本脉冲延迟单元分别包含一个计数器。
3.根据权利要求2所述方法,其特征在于,所述m个级联的基本脉冲延迟单元中,第一个基本脉冲延迟单元的延迟量等于所述n-1个延迟单位减去m-1个所述待延迟的信号的沿间隔最小值,其余基本脉冲延迟单元的延迟量均等于所述待延迟的信号的沿间隔最小值。
4.根据权利要求1-3任一项所述方法,其特征在于,通过计数器对所述上升沿和下降沿分别进行n-1个延迟单位的延迟,包括 所述计数器在所述上升沿或下降沿的触发下从I开始计数,当计数达到所述计数器的延迟量减I个延迟单位时清零,且输出高电平脉冲信号。
5.根据权利要求1-3任一项所述方法,其特征在于,将所述延迟后的上升沿和延迟后的下降沿合成,包括通过时序逻辑将所述延迟后的上升沿和延迟后的下降沿合成。
6.一种用于数字电路的信号延迟装置,其特征在于,包括 沿分解单元,用于接收待延迟的信号,并用于分解出所述待延迟的信号的上升沿和下降沿,并将分解出的所述待延迟的信号的上升沿和下降沿发送给延迟单元,所述待延迟的信号的待延迟量为n个延迟单位,其中n为自然数; 延迟单元,用于接收所述沿分解单元发送的所述待延迟的信号的上升沿和下降沿,通过计数器对所述上升沿和下降沿分别进行n-1个延迟单位的延迟,得到延迟后的上升沿和延迟后的下降沿,并将所述延迟后的上升沿和延迟后的下降沿发送给合成单元; 合成单元,用于接收所述延迟单元发送的所述延迟后的上升沿和延迟后的下降沿,将所述延迟后的上升沿和延迟后的下降沿合成,得到所述待延迟的信号延迟了 n延迟单位后的信号。
7.根据权利要求6所述装置,其特征在于,所述延迟单元包括上升沿延迟单元和下降沿延迟单元,所述上升沿延迟单元和下降沿延迟单元分别包括至少一个基本脉冲延迟单元,一个基本脉冲延迟单元中包含一个计数器; 所述上升沿延迟单元通过所述至少一个基本脉冲延迟单元对所述上升沿延迟所述n-1个延迟单位; 所述下降沿延迟单元通过所述至少一个基本脉冲延迟单元对所述下降沿延迟所述n-1个延迟单位; 各基本脉冲延迟单元的延迟量分别小于等于所述待延迟的信号的沿间隔最小值,所述沿间隔最小值为所述待延迟的信号的所有上升沿间隔与所有下降沿间隔中的间隔最小的值,所述上升沿间隔为所述待延迟的信号中从第一个上升沿开始,相邻的两个上升沿之间的间隔,所述下降沿间隔为所述待延迟的信号中从第一个下降沿开始,相邻的两个下降沿之间的间隔。
8.根据权利要求7所述装置,其特征在于,所述上升沿延迟单元和下降沿延迟单元分别包括m个基本脉冲延迟单元,m等于所述n-1个延迟单位除以所述待延迟的信号的沿间隔最小值后,向上取整得到的值; 所述m个基本脉冲延迟单元级联在一起,所述m个基本脉冲延迟单元中,第一个基本脉冲延迟单元的延迟量等于所述n-1个延迟单位减去m-1个所述待延迟的信号的沿间隔最小值,其余基本脉冲延迟单元的延迟量均等于所述待延迟的信号的沿间隔最小值。
9.根据权利要求7或8所述装置,其特征在于,所述基本脉冲延迟单元中,计数器在所述上升沿或下降沿的触发下从I开始计数,当计数达到所述计数器的延迟量减I个延迟单位时清零,且所述基本脉冲延迟单元输出高电平脉冲信号。
10.根据权利要求6-8任一项所述装置,其特征在于,所述合成单元为时序逻辑电路。
11.一种数字电路系统,其特征在于,包括上述权利要求6-10任一项所述的用于数字电路的信号延迟装置。
全文摘要
本发明提供一种用于数字电路的信号延迟方法、装置及数字电路系统,方法包括接收待延迟的信号,所述待延迟的信号的待延迟量为n个延迟单位,其中n为自然数;分解出所述待延迟的信号的上升沿和下降沿;通过计数器对所述上升沿和下降沿分别进行n-1个延迟单位的延迟,得到延迟后的上升沿和延迟后的下降沿;将所述延迟后的上升沿和延迟后的下降沿合成,得到所述待延迟的信号延迟了n延迟单位后的信号。采用计数器实现信号的延迟,从而可以用少量的计数器替代寄存器或RAM实现信号的延迟,有效地解决了传统方式通过寄存器、RAM延迟导致的占用资源大的问题。
文档编号H03K5/13GK102684651SQ20121016558
公开日2012年9月19日 申请日期2012年5月25日 优先权日2012年5月25日
发明者徐建, 苏清博 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1