首页> 中国专利> 异步接口的信号同步方法、电路和异步芯片

异步接口的信号同步方法、电路和异步芯片

摘要

本发明公开了一种异步接口的信号同步电路,包括:外部锁存模块,用于通过将接收到的外部输入信号用输入时钟域进行锁存而生成第一信号;内部锁存模块,用于通过将所述第一信号用输出时钟域进行多级锁存,得到最后一级有效锁存的第一入端信号;反馈模块,用于通过将所述第一入端信号用所述输入时钟域进行多级锁存而生成反馈信号;同步信号生成模块,用于根据所述反馈信号生成同步信号。本发明还提供了一种异步接口的信号同步方法和异步芯片,对状态和控制信号的传输效率较高。

著录项

  • 公开/公告号CN101493716A

    专利类型发明专利

  • 公开/公告日2009-07-29

    原文格式PDF

  • 申请/专利权人 联想(北京)有限公司;

    申请/专利号CN200810056682.2

  • 发明设计人 毛兴中;谢巍;李希喆;田宏萍;

    申请日2008-01-23

  • 分类号G06F1/04;

  • 代理机构北京汇泽知识产权代理有限公司;

  • 代理人张颖玲

  • 地址 100085 北京市海淀区上地西路6号

  • 入库时间 2023-12-17 22:18:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-12-07

    授权

    授权

  • 2009-09-23

    实质审查的生效

    实质审查的生效

  • 2009-07-29

    公开

    公开

说明书

技术领域

本发明涉及信号的同步技术,尤其涉及一种异步接口的信号同步方法、电路和异步芯片。

背景技术

在芯片设计中,芯片接口包括同步接口和异步接口两种,所谓同步接口是指芯片接口的内部和外部采用相同的时钟,所谓异步接口是指芯片接口的内部和外部采用不同的时钟。采用同步接口的芯片,其接口内部直接使用接口外部的时钟,芯片性能受接口外部输入时钟的限制,芯片的功耗无法调节和控制;并且由于芯片的内部和外部采用相同的时钟,使得芯片外部可直接探测或预知芯片内部的信号生效时刻,非法者可利用这一点对芯片进行安全性攻击,从而造成芯片的安全性隐患。采用异步接口的芯片,其接口内部采用独立的时钟源,可解决上述同步接口芯片的安全性问题,并且芯片的配置灵活、芯片的功耗便于调节和控制、芯片的性能得到提高。由于异步接口具有上述优点,现有技术中的芯片越来越多的采用异步接口的设计。

现有技术中存在一种采用先进先出(FIFO,First In First Out)电路实现异步接口数据传输的方法,如图1所示,FIFO电路分为写入时钟域和读取时钟域两端,写入时钟域和读取时钟域相互隔离,在写入时钟域进行数据的写操作,在读取时钟域进行数据的读操作,写入时钟域和读取时钟域之间通过半满或全满信号进行通信,实现过程包括以下步骤:

a、写时钟域通过写计数器进行数据的写操作,写入的数据存储在存储器中,写标志逻辑电路用于标识数据的写入状态,其中,FULL表示写入数据为全满,HALF_FULL表示写入数据为半满,例如:存储器的存储空间大小为1000字节,则当写入的数据达到500字节时,即为半满;当写入的数据达到1000字节时,即为全满;在数据写入状态达到HALF_FULL之前一直进行数据的写操作,此时读时钟域处于等待状态,等待接收半满或全满信号;

b、当写入的数据达到半满时,写时钟域产生半满有效信号发送给读时钟域,告知读时钟域可以进行数据的读取操作了;

c、读时钟域通过读计数器进行数据的读操作,直到数据读完;读标志逻辑电路用于标识数据的读取状态,其中,EMPTY表示存储器中数据为全空,HALF_EMPTY表示存储器中数据为半空,读时钟域进行数据的读操作,直到数据读取状态达到EMPTY;

d、数据读完后,读时钟域进入等待状态,直到获得下一个半满有效信号或全满信号。

采用上述方法的异步接口只适合于数据的传输,并且对数据的传输是间断性的批量传输,无法对数据和信号进行实时传输。当发送少量有效信号时,为保证有效信号的及时传递,还需要发送大量无用信号使存储器达到半满或全满状态以触发有效信号的传递,造成了资源的浪费,传递效率不高。

此外,按照上述方法设计异步芯片时,需要根据实际需求确定存储器的实现门数,存储器实现门数一定的芯片只在一定数据传输量范围内适用,适用性不广。设计用于进行大批量数据传输的芯片时,就需要更多的存储器实现门数,成本较高,且芯片面积较大。

发明内容

有鉴于此,本发明的主要目的在于提供一种异步接口的信号同步方法、电路和异步芯片,以解决现有技术无法对异步接口进行信号实时传输、状态和控制信号传输效率低的问题。

为达到上述目的,本发明的技术方案是这样实现的:

本发明的实施例提供了一种异步接口的信号同步电路,包括:

外部锁存模块,用于通过将接收到的外部输入信号用输入时钟域进行锁存而生成第一信号;

内部锁存模块,用于通过将所述第一信号用输出时钟域进行多级锁存,得到最后一级有效锁存的第一入端信号;

反馈模块,用于通过将所述第一入端信号用所述输入时钟域进行多级锁存而生成反馈信号;

同步信号生成模块,用于根据所述反馈信号生成同步信号。

所述反馈模块包括:

信号锁存子模块,用于将所述第一入端信号用所述输入时钟域进行多级锁存,得到最后一级有效锁存的第二入端信号和第二出端信号;

反馈信号生成子模块,用于将所述第二出端信号的反相信号与所述第二入端信号进行逻辑与运算,并根据运算结果生成所述反馈信号。

所述同步信号生成模块包括:

上升沿检测子模块,用于对所述同步信号进行上升沿的检测,并将检测结果输出;

下降沿检测子模块,用于对所述同步信号进行下降沿的检测,并将检测结果输出。

本发明的实施例还提供了一种异步接口的信号同步方法,包括:

将接收到的外部输入信号用输入时钟域进行锁存而生成第一信号;

将所述第一信号用输出时钟域进行多级锁存,得到最后一级有效锁存的第一入端信号;

将所述第一入端信号用所述输入时钟域进行多级锁存而生成反馈信号;

根据所述反馈信号生成同步信号。

所述将第一入端信号用输入时钟域进行多级锁存而生成反馈信号具体为:

将所述第一入端信号用所述输入时钟域进行多级锁存,得到最后一级有效锁存的第二入端信号和第二出端信号;

将所述第二出端信号的反相信号与所述第二入端信号进行逻辑与运算,并根据运算结果生成所述反馈信号。

在所述生成同步信号之后,该方法还包括:将所述同步信号用所述输出时钟域进行多级锁存后由信号输出端输出。

在所述生成同步信号之后,该方法还包括:对所述同步信号进行上升沿和下降沿的检测,并将检测结果输出。

所述对同步信号进行上升沿和下降沿的检测具体为:将所述同步信号用所述输出时钟域进行多级锁存,得到最后一级有效锁存的第三入端信号和第三出端信号,将所述第三出端信号的反向信号和所述第三入端信号进行逻辑与运算检测所述同步信号的上升沿;将所述第三入端信号的反向信号和所述第三出端信号进行逻辑与运算检测所述同步信号的下降沿。

本发明的实施例还提供了一种异步芯片,包括至少一个异步接口,所述异步接口采用信号同步电路,所述信号同步电路包括:

外部锁存模块,用于通过将接收到的外部输入信号用输入时钟域进行锁存而生成第一信号;

内部锁存模块,用于通过将所述第一信号用输出时钟域进行多级锁存,得到最后一级有效锁存的第一入端信号;

反馈模块,用于通过将所述第一入端信号用所述输入时钟域进行多级锁存而生成反馈信号;

同步信号生成模块,用于根据所述反馈信号生成同步信号。

所述反馈模块包括:

信号锁存子模块,用于将所述第一入端信号用所述输入时钟域进行多级锁存,得到最后一级有效锁存的第二入端信号和第二出端信号;

反馈信号生成子模块,用于将所述第二出端信号的反相信号与所述第二入端信号进行逻辑与运算,并根据运算结果生成所述反馈信号。

所述同步信号生成模块包括:

上升沿检测子模块,用于对所述同步信号进行上升沿的检测,并将检测结果输出;

下降沿检测子模块,用于对所述同步信号进行下降沿的检测,并将检测结果输出。

本发明的实施例提供的信号同步方法和电路,采用多级锁存器将外部输入信号由输入时钟域同步传输到输出时钟域,对状态和控制信号的传输效率较高;并且通过反馈电路生成反馈信号及时反馈,保证输出信号与输入信号达到一致,从而避免不定态的出现。本发明的实施例应用于芯片设计中,使得芯片的可测性设计(DFT,Design For Test)简单,芯片的检测操作更容易,也降低了检测成本,提高了检测效率;并且本发明的实施例所提供的信号同步电路的内部结构简单,采用电路元件较少,从而使得生产成本较低。

附图说明

图1为现有技术中异步接口的同步设计示意图;

图2为本发明的实施例一种异步接口的信号同步电路组成结构示意图;

图3为本发明的实施例一种异步接口的信号同步方法流程图;

图4为本发明的实施例一种异步接口的信号同步电路示意图。

具体实施方式

下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。

本发明实施例的信号同步方法,是在异步接口上设置信号同步电路,由该信号同步电路将外部输入信号由输入时钟域同步传输到输出时钟域。本发明的实施例的信号同步电路的组成结构如图2所示,该电路包括:外部锁存模块100、内部锁存模块200、反馈模块300和同步信号生成模块400。其中,外部锁存模块100,连接信号输入端500,采用输入时钟域,用于将来自信号输入端500的外部输入信号用输入时钟域进行锁存而生成第一信号提供给内部锁存模块200;内部锁存模块200,连接外部锁存模块100和信号输出端600,内部锁存模块200由多级锁存器组成,多级锁存器采用输出时钟域,用于将第一信号用输出时钟域进行多级锁存,得到最后一级有效锁存的第一入端信号提供给反馈模块300;反馈模块300,连接内部锁存模块200,由多级锁存器和逻辑门电路组成,多级锁存器采用输入时钟域,用于将第一入端信号用输入时钟域锁存后由逻辑门电路运算生成反馈信号提供给同步信号生成模块400;同步信号生成模块400,连接反馈模块300和内部锁存模块200,用于根据反馈模块300提供的反馈信号生成同步信号提供给内部锁存模块200进行多级锁存后由信号输出端600输出。

反馈模块300进一步包括:信号锁存子模块310和反馈信号生成子模块320;其中,信号锁存子模块310,用于将将第一入端信号用输入时钟域进行多级锁存,得到最后一级有效锁存的第二入端信号和第二出端信号;反馈信号生成子模块320,用于将第二出端信号的反相信号与第二入端信号进行逻辑与运算,并根据运算结果生成反馈信号。

同步信号生成模块400进一步包括:上升沿检测子模块410和下降沿检测子模块420;其中,上升沿检测子模块410,用于对同步信号进行上升沿检测,并将检测结果输出;下降沿检测子模块420,用于对同步信号进行下降沿检测,并将检测结果输出。

本发明的实施例还提供了一种异步芯片,该异步芯片包括至少一个异步接口,其异步接口采用图2所示的信号同步电路。

由上述图2所示信号同步电路执行的信号同步流程,如图3所示,主要包括以下步骤:

步骤301,将接收到的外部输入信号用输入时钟域进行锁存而生成第一信号。

外部输入信号进入信号同步电路时,由该信号同步电路采用输入时钟域对外部输入信号进行锁存而生成第一信号。

步骤302,将第一信号用输出时钟域进行多级锁存,得到最后一级有效锁存的第一入端信号。

由输入时钟域锁存后生成的第一信号再由多级锁存器采用输出时钟域进行多级锁存,得到最后一级有效锁存的第一入端信号,采用多级锁存器进行多级锁存可保证信号的准确传输,避免产生不定态的信号而导致电路失效的情况出现。在实际应用中,采用三级锁存器即可较好的实现信号的准确传输。

步骤303,将第一入端信号经输入时钟域进行多级锁存而生成反馈信号。

将第一入端信号用输入时钟域进行多级锁存,得到最后一级有效锁存的第二入端信号和第二出端信号,然后将第二出端信号的反相信号与第二入端信号进行逻辑与运算,并根据运算结果生成反馈信号。

步骤304,根据反馈信号生成同步信号。

根据生成的反馈信号,由信号选择器生成同步信号,该同步信号经输出时钟域进行多级锁存后由信号输出端输出。

下面结合图4所示本发明的实施例一种异步接口的信号同步电路示意图,进一步详细阐述。图4中采用三级锁存器,Clk_in表示输入时钟域,Clk_out表示输出时钟域,Reset表示异步复位信号。外部输入信号Sync_in经过该信号同步电路处理得到同步信号的过程主要包括以下步骤:

步骤401、外部输入信号Sync_in由输入时钟域锁存器InReg锁存为Sync_in_regl。

外部输入信号Sync_in由IN端进入信号同步电路,首先经过锁存器InReg,锁存器InReg采用输入时钟域对Sync_in进行锁存,得到锁存器InReg的输出信号为Sync_in_reg1。

步骤402、信号Sync_in_reg1经二选一的信号选择器Mux2输出后由输入时钟域锁存器InLckReg锁存为Sync_in_reg2。

信号sync_in_reg1经由一个逻辑或门OR2_1后输出信号为OR2_1_out;OR2_1_out再传输到信号选择器Mux2,经过信号选择器Mux2的输出信号为Sync_in_d2;Sync_in_d2进入锁存器InLckReg,由锁存器InLckReg采用输入时钟域对sync_in_d2进行锁存,得到锁存器lnLckReg的输出信号为Sync_in_reg2。

步骤403、信号Sync_in_reg2经由第一级输出时钟域锁存器Sync0锁存为Sync0_out。

信号Sync_in_reg2进入锁存器Sync0,锁存器Sync0采用输出时钟域对Sync_in_reg2进行锁存,得到锁存器Sync0的输出信号为Sync0_out。另外,由图4所示,信号Sync_in_reg2还需返回到逻辑或门OR2_1,作为逻辑或门OR2_1的输入和信号sync_in_reg1进行逻辑或运算,逻辑或运算后生成的信号提供给信号选择器Mux2。

步骤404、信号Sync0_out经由第二级输出时钟域锁存器Sync1锁存为Sync1_out。

信号Sync0_out进入锁存器Sync1,锁存器Sync1采用输出时钟域对Sync0_out进行锁存,得到锁存器Sync1的输出信号为Sync1_out。

步骤405、信号Sync1_out经由第三级输出时钟域锁存器Sync2锁存为Sync2_out。

信号Sync1_out进入锁存器Sync2,锁存器Sync2采用输出时钟域对Sync1_out进行锁存,得到锁存器Sync2的输出信号为Sync2_out。

步骤406、信号Sync1_out经由第一级输入时钟域锁存器FbSync0锁存为FbSync0_out。

信号Sync1_out进入锁存器FbSync0,锁存器FbSync0采用输入时钟域对Sync1_out进行锁存,得到锁存器FbSync0的输出信号为FbSync0_out。

步骤407、信号FbSync0_out经由第二级输入时钟域锁存器FbSync1锁存为FbSync1_out。

信号FbSync0_out进入锁存器FbSync1,锁存器FbSync1采用输入时钟域对FbSync0_out进行锁存,得到锁存器FbSync1的输出信号为FbSync1_out。

步骤408、信号FbSync1_out经由第三级输入时钟域锁存器FbSync2锁存为FbSync2_out。

信号FbSync1_out进入锁存器FbSync2,锁存器FbSync2采用输入时钟域对FbSync1_out进行锁存,得到锁存器FbSync2的输出信号为FbSync2_out。

步骤409、信号FbSync1_out与FbSync2_out经过一个带有一端反向输入的逻辑与门Nand2进行逻辑运算,生成反馈信号Sync_in_d2_se反馈给信号选择器Mux2。

信号FbSync1_out与信号FbSync2_out的反向信号进行逻辑与运算生成反馈信号Sync_in_d2_se反馈给信号选择器Mux2。

步骤410、信号选择器Mux2根据反馈信号Sync_in_d2_se生成同步信号Sync_in_d2。

如果反馈信号Sync_in_d2_se为1,则生成的同步信号Sync_in_d2为0;如果反馈信号Sync_in_d2_se为0,则生成的同步信号Sync_in_d2为信号Sync_in_reg1与Sync_in_reg2经由逻辑或门OR2_1进行逻辑或运算后的输出结果。

步骤411、同步信号Sync_in_d2经由OUT端输出。

由信号选择器Mux2生成的同步信号Sync_in_d2经锁存器InLckReg锁存为新时刻的Sync_in_reg2,再经锁存器Sync0锁存为新时刻的Sync0_out,然后经锁存器Sync1锁存为新时刻的Sync1_out,信号Sync1_out从OUT端输出,即为同步电路的最终同步输出结果Sync_out_reg2。

步骤412、对同步信号进行上升沿和下降沿的检测,并将检测结果输出。

如图4中电路所示,将信号Sync1_out与信号Sync2_out的反向信号进行逻辑与运算,可检测到上升沿信号Sync_out_p1,因为由逻辑运算可知,只有当信号Sync1_out为1,信号Sync2_out为0时,逻辑运算结果sync_out p1才为1的有效输出,然而从信号传输的时间上而言,信号Sync2_out比信号Sync1_out先到达信号输出端,对于连续的信号可认为信号是由0跳变到了1,信号由0跳变到1时即存在上升沿的信号。

将信号Sync1_out的反向信号与信号Sync2_out进行逻辑与运算,可检测到下降沿信号Sync_out_p2,因为由逻辑运算可知,只有当信号Sync1_out为0,信号Sync2_out为1时,逻辑运算结果Sync_out_p1才为1的有效输出,然而从信号传输的时间上而言,信号Sync2_out比信号Sync1_out先到达信号输出端,对于连续的信号可认为信号是由1跳变到了0,信号由1跳变到0时即存在下降沿的信号。上升沿和下将沿的检测结果由信号输出端输出,可以作为后续电路的控制信号,供后续电路使用。

本发明实施例的输出时钟域与输入时钟域相互独立,输出时钟域的频率可进行动态调整,因此本发明实施例既可实现输入时钟域频率大于输出时钟域频率的信号同步传输,也可实现输入时钟域频率小于输出时钟域频率的信号同步传输。如下表1所示,表1为输入时钟域频率为20MHz,输出时钟域频率为10MHz的信号同步实施例。

表1

由于输入时钟域频率大于输出时钟域频率,为输出时钟域频率的2倍,因此输入时钟域周期小于输出时钟域周期,为输出时钟域周期的一半。n-1、n...n+14表示输入时钟域的时钟拍数,m、m+1...m+7表示输出时钟域的时钟拍数。由于输入时钟周期为输出时钟域周期的一半,因此两个输入时钟域的时钟拍数相当于一个输出时钟域的时钟拍数。

上述表1中示出了不同时刻各个信号的输出情况,由表1可知,在输入时钟域周期的n时刻,外部输入信号Sync_in的上升沿进入同步电路,信号在同步电路中进行传输,在输出时钟域周期的m+3时刻,上升沿到达同步信号输出端,开始有同步信号输出,此时可检测到上升沿信号,Sync_out_p1输出为1,表明在输出时钟域周期的m+3时刻信号同步开始。

在输入时钟域周期的n+1到n+7时刻,反馈信号Sync_in_d2_se输出为0,信号选择器Mux2将所接收的信号进行锁存,输出Sync_in_d2为1。

在输入时钟域周期的n+8时刻,反馈信号Sync_in_d2_se输出为1,表明反馈电路检测到同步信号,Mux2输出信号Sync_in_d2变为0,将同步信号锁住。

从输入时钟域周期的n+9时刻开始,反馈信号Sync_in_d2_se输出变为0,Mux2将信号释放,Mux2的输出信号Sync_in_d2变为信号Sync_in_reg1和Sync_in_reg2经逻辑或门OR2_1进行逻辑或运算之后的输出结果;在输出时钟域周期的m+7时刻,下降沿到达同步信号输出端,此时可检测到下降沿信号,Sync_out_p2输出为1,表明在输出时钟域周期的m+7时刻信号同步结束。表1中的Sync_out_reg2即为对外部输入信号Sync_in进行同步的输出端结果。

以上表1所示为输入时钟域大于输出时钟域的信号同步传输实施例,对于输入时钟域小于输出时钟域的信号同步传输,与表1所示的信号传输过程类似,在此不再多述。

综上所述,本发明的实施例的信号同步方法、电路和异步芯片提高了信号传输效率,输出时钟域的频率可进行动态调整,通过设置接口输出时钟域频率高于输入时钟域频率,可以实现芯片接口性能的提升;通过设置接口输出时钟域频率低于输出时钟域频率,可以实现系统功耗的控制。本发明的实施例适用于对脉冲信号等的同步处理。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号