一种高效实现伪DDR信号跨时钟域的电路、方法和电子设备

文档序号:31473031发布日期:2022-09-09 23:44阅读:90来源:国知局
一种高效实现伪DDR信号跨时钟域的电路、方法和电子设备
一种高效实现伪ddr信号跨时钟域的电路、方法和电子设备
技术领域
1.本发明涉及电路设计技术领域,尤其涉及一种高效实现伪ddr信号跨时钟域的电路、方法和电子设备。


背景技术:

2.简单数字集成电路是在单一的时钟驱动下的同步逻辑电路。该电路中的触发器在统一的时钟控制下翻转,其时序约束较为简单、时钟系统设计较为容易。然而,单一的时钟约束早已不再适合现阶段飞速增长的集成电路规模。在功能复杂的大规模数字电路设计过程中通常存在多个时钟域。如何解决信号跨时钟域(clock domain crossing,cdc)传播,实现信号的输出驱动与输入采样,减少或避免亚稳态的产生已经成为决定数字集成电路设计成败的关键问题。
3.现阶段最常用的解决跨时钟域的方式是使用同步器采样异步输入信号,使产生的输出信号满足同步系统对建立时间(setup time)和保持时间(hold time)的要求,从而抑制亚稳态对电路的不利影响。常用的同步方法有两种:两级触发器法和锁定法。
4.两级触发器法的本质是降低亚稳态的出现概率,通过两级触发器级联,当来自前一个时钟域的信号到达下一个时钟域的第一个触发器时,很可能出现不满足建立/保持时间的情况,导致该级输出长时间处于亚稳态。如果第二级的状态持续不到一个周期,则可以通过增加一级触发器来消除该亚稳态,使第二级触发器的输出端满足同步信号的要求,但只要增加1级d触发器会增加输入信号的1级延时。这种方法通常用于对时序要求不高的电路同步,适合于从慢时钟到快时钟的少量信号同步,而无法实现对时序要求较高的,快慢时钟域之间存在大量信号的双向同步。
5.锁定法主要解决两级出发器同步过程中,当信号从快时钟向慢时钟过渡时,如果信号变化太快,慢时钟可能无法及时采样快时钟的问题。锁定法同步器作为对两级触发器法的补充,仍然无法满足快慢时钟域之间大量控制信号与数据信号同步跨域传播的高时序要求,导致出现亚稳态的多域传播,降低了系统的稳定性与可靠性。


技术实现要素:

6.本发明的目的在于提供一种高效实现伪ddr信号跨时钟域的电路、方法和电子设备,解决现有解决跨时钟域的方式无法满足快慢时钟域之间大量控制信号与数据信号同步跨域传播的高时序要求,导致出现亚稳态的多域传播,降低了系统的稳定性与可靠性的问题
7.第一方面,本发明提供一种高效实现伪ddr信号跨时钟域的电路,所述电路包括:
8.芯片端高频时钟域模块、设置在所述芯片端高频时钟域模块上的多个跨时钟域模块,以及和多个所述跨时钟域模块连接的主机端低频时钟域模块;
9.每个所述跨时钟域模块包括低频向高频传输子模块和高频向低频传输子模块,所述低频向高频传输子模块的一端和所述芯片端高频时钟域模块连接,另一端和所述主机端
低频时钟域模块连接,所述高频向低频传输子模块的一端和所述芯片端高频时钟域模块连接,另一端和所述主机端低频时钟域模块连接;
10.所述低频向高频传输子模块用于,在接收到所述主机端低频时钟域模块发出写操作指令对应的写控制信号和写数据信号的情况下,将所述写控制信号和所述写数据信号分别从低频时钟域调整到高频时钟域,并对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至所述芯片端高频时钟域模块;
11.所述高频向低频传输子模块用于,在接收到所述主机端低频时钟域模块发出读操作指令对应的读数据信号的情况下,基于所述读数据信号完成对应数据的读取。
12.采用上述技术方案的情况下,本发明实施例提供的高效实现伪ddr信号跨时钟域的电路,所述低频向高频传输子模块用于,在接收到所述主机端低频时钟域模块发出写操作指令对应的写控制信号和写数据信号的情况下,将所述写控制信号和所述写数据信号分别从低频时钟域调整到高频时钟域,并对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至所述芯片端高频时钟域模块;所述高频向低频传输子模块用于,在接收到所述主机端低频时钟域模块发出读操作指令对应的读数据信号的情况下,基于所述读数据信号完成对应数据的读取,可以同时处理单周期与多周期信号之间的同步跨时钟域传播等高时序要求的场景,其应用场景广泛,可以应用于大量信号从低频域向高频域或相反反向的双向跨时钟域传播,避免了亚稳态的多域传播,提高了电路的稳定性与可靠性。
13.在一种可能的实现方式中,所述低频向高频传输子模块包括异步先入先出控制信号传输单元和数据信号传输单元,所述异步先入先出控制信号传输单元的一端和所述芯片端高频时钟域模块连接,另一端和所述主机端低频时钟域模块连接,所述数据信号传输单元的一端和所述芯片端高频时钟域模块连接,另一端和所述主机端低频时钟域模块连接;
14.所述低频向高频传输子模块用于,在接收到所述主机端低频时钟域模块发出写操作指令对应的写控制信号和写数据信号的情况下,将所述写控制信号和所述写数据信号分别从低频时钟域调整到高频时钟域,并对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至所述芯片端高频时钟域模块,包括:
15.所述异步先入先出控制信号传输单元用于,在接收到所述主机端低频时钟域模块发出所述写操作指令对应的写控制信号的情况下,将所述写控制信号从低频时钟域调整到高频时钟域;
16.所述数据信号传输单元用于,在接收到所述主机端低频时钟域模块发出所述写操作指令对应的写数据信号的情况下,将所述写数据信号从低频时钟域调整到高频时钟域;
17.所述异步先入先出控制信号传输单元和所述数据信号传输单元,还用于对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至所述芯片端高频时钟域模块。
18.在一种可能的实现方式中,所述电路还包括多个存储器模块,所述存储器模块设置在所述芯片端高频时钟域模块上,多个所述存储器模块分别和每个所述跨时钟域模块一一对应连接。
19.在一种可能的实现方式中,所述异步先入先出控制信号传输单元用于,在接收到所述主机端低频时钟域模块发出所述写操作指令对应的写控制信号的情况下,将所述写控制信号从低频时钟域调整到高频时钟域,包括:
20.所述异步先入先出控制信号传输单元用于,在接收到所述主机端低频时钟域模块发出的所述写操作指令对应的所述写控制信号的情况下,根据预先设置的第一传输深度值,在检测到所述异步先入先出控制信号传输单元处于预设正常状态的情况下,将所述写控制信号写入所述异步先入先出控制信号传输单元;
21.所述预设正常状态指的是所述异步先入先出控制信号传输单元处于非满并且不处于非读非写状态。
22.在一种可能的实现方式中,所述数据信号传输单元用于,在接收到所述主机端低频时钟域模块发出所述写操作指令对应的写数据信号的情况下,将所述写数据信号从低频时钟域调整到高频时钟域,包括:
23.所述数据信号传输单元用于,在接收到所述主机端低频时钟域模块发出的所述写数据信号的情况下,根据预先设置的第二传输深度值,确定每次传输对应的写数据传输信号,将所述写数据传输信号存储在对应的所述存储器模块中,直至传输次数达到所述第二传输深度值,将所有的所述写数据传输信号按照存储写入的顺序从所述数据传输单元依次读出。
24.第二方面,本发明还提供一种高效实现伪ddr信号跨时钟域的方法,应用于第一方面任一所述的高效实现伪ddr信号跨时钟域的电路,所述方法包括:
25.低频向高频传输子模块在接收到主机端低频时钟域模块发出写操作指令对应的写控制信号和写数据信号的情况下,将所述写控制信号和所述写数据信号分别从低频时钟域调整到高频时钟域,并对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至芯片端高频时钟域模块;
26.所述高频向低频传输子模块在接收到所述主机端低频时钟域模块发出读操作指令对应的读数据信号的情况下,基于所述读数据信号完成对应数据的读取。
27.在一种可能的实现方式中,所述低频向高频传输子模块包括异步先入先出控制信号传输单元和数据信号传输单元,所述低频向高频传输子模块在接收到所述主机端低频时钟域模块发出写操作指令对应的写控制信号和写数据信号的情况下,将所述写控制信号和所述写数据信号分别从低频时钟域调整到高频时钟域,并对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至所述芯片端高频时钟域模块,包括:
28.所述异步先入先出控制信号传输单元在接收到所述主机端低频时钟域模块发出所述写操作指令对应的写控制信号的情况下,将所述写控制信号从低频时钟域调整到高频时钟域;
29.所述数据信号传输单元在接收到所述主机端低频时钟域模块发出所述写操作指令对应的写数据信号的情况下,将所述写数据信号从低频时钟域调整到高频时钟域;
30.所述异步先入先出控制信号传输单元和所述数据信号传输单元对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和
所述写数据信号发送至所述芯片端高频时钟域模块。
31.在一种可能的实现方式中,所述异步先入先出控制信号传输单元在接收到所述主机端低频时钟域模块发出所述写操作指令对应的写控制信号的情况下,将所述写控制信号从低频时钟域调整到高频时钟域,包括:
32.所述异步先入先出控制信号传输单元在接收到所述主机端低频时钟域模块发出的所述写操作指令对应的所述写控制信号的情况下,根据预先设置的第一传输深度值,在检测到所述异步先入先出控制信号传输单元处于预设正常状态的情况下,将所述写控制信号写入所述异步先入先出控制信号传输单元;
33.所述预设正常状态指的是所述异步先入先出控制信号传输单元处于非满并且不处于非读非写状态。
34.在一种可能的实现方式中,所述数据信号传输单元在接收到所述主机端低频时钟域模块发出所述写操作指令对应的写数据信号的情况下,将所述写数据信号从低频时钟域调整到高频时钟域,包括:
35.所述数据信号传输单元在接收到所述主机端低频时钟域模块发出的所述写数据信号的情况下,根据预先设置的第二传输深度值,确定每次传输对应的写数据传输信号,将所述写数据传输信号存储在对应的所述存储器模块中,直至传输次数达到所述第二传输深度值,将所有的所述写数据传输信号按照存储写入的顺序从所述数据传输单元依次读出。
36.第二方面提供的高效实现伪ddr信号跨时钟域的方法的有益效果与第一方面或第一方面任一可能的实现方式描述的高效实现伪ddr信号跨时钟域的电路的有益效果相同,此处不做赘述。
37.第三方面,本发明还提供一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行第二方面任一可能的实现方式描述的高效实现伪ddr信号跨时钟域的方法。
38.第三方面提供的电子设备的有益效果与第二方面或第二方面任一可能的实现方式描述的高效实现伪ddr信号跨时钟域的方法的有益效果相同,此处不做赘述。
附图说明
39.此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
40.图1示出了本技术实施例提供的一种高效实现伪ddr信号跨时钟域的电路的结构示意图;
41.图2示出了本技术实施例提供的一种写操作信号的操作时序图;
42.图3示出了本技术实施例提供的一种读操作信号的操作时序图;
43.图4示出了本技术实施例提供的一种主机端低频时钟域模块向芯片端高频时钟域模块跨时钟域前后波形示意图;
44.图5示出了本技术实施例提供的一种芯片端高频时钟域模块向主机端低频时钟域模块跨时钟域前后的波形示意图;
45.图6示出了本技术实施例提供的一种高效实现伪ddr信号跨时钟域的方法的流程示意图;
46.图7为本发明实施例提供的一种电子设备的硬件结构示意图;
47.图8为本发明实施例提供的芯片的结构示意图。
具体实施方式
48.为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一阈值和第二阈值仅仅是为了区分不同的阈值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
49.需要说明的是,本发明中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
50.本发明中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a和b的结合,a和c的结合,b和c的结合,或a、b和c的结合,其中a,b,c可以是单个,也可以是多个。
51.双倍数据速率(ddr)同步动态随机存取存储器(sdram)是一种常见的存储器类型,用作大多数现代处理器的ram。为了与实际的应用需求相匹配,伪ddr信号将标准ddr的双沿传输特性单沿化,并且根据应用场景简化了非必要的ddr规定,如将burst长度固定、取消非常用ddr信号等等。然而,考虑到伪ddr仍然存在双向跨域传播信号,并且存在特定的读/写(read/write)命令与之传输的数据之间的同步跨域传播问题。因此,能够高效解决上述关键的跨时钟域传播问题,在实现系统基本功能的基础上避免亚稳态在不同时钟域之间的传播、减少系统电平紊乱,以达到提高系统稳定性和可靠性的发明,在未来功能日益复杂的超大规模集成电路时代具有广泛的应用前景。
52.图1示出了本技术实施例提供的一种高效实现伪ddr信号跨时钟域的电路的结构示意图,如图1所示,该高效实现伪ddr信号跨时钟域的电路包括:
53.芯片端高频时钟域模块101、设置在所述芯片端高频时钟域模块101上的多个跨时钟域模块102,以及和多个所述跨时钟域模块102连接的主机端低频时钟域模块103;
54.每个所述跨时钟域模块102包括低频向高频传输子模块1021和高频向低频传输子模块1022,所述低频向高频传输子模块1021的一端和所述芯片端高频时钟域模块101连接,另一端和所述主机端低频时钟域模块103连接,所述高频向低频传输子模块1022的一端和所述芯片端高频时钟域模块101连接,另一端和所述主机端低频时钟域模块103连接。
55.所述低频向高频传输子模块用于,在接收到所述主机端低频时钟域模块发出写操作指令对应的写控制信号和写数据信号的情况下,将所述写控制信号和所述写数据信号分别从低频时钟域调整到高频时钟域,并对调整后的所述写控制信号和所述写数据信号进行
同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至所述芯片端高频时钟域模块;
56.所述高频向低频传输子模块用于,在接收到所述主机端低频时钟域模块发出读操作指令对应的读数据信号的情况下,基于所述读数据信号完成对应数据的读取。
57.在本技术中,高频向低频传输子模块1022包括先进先出队列(queue)1022a。
58.本发明实施例提供的高效实现伪ddr信号跨时钟域的电路,所述低频向高频传输子模块用于,在接收到所述主机端低频时钟域模块发出写操作指令对应的写控制信号和写数据信号的情况下,将所述写控制信号和所述写数据信号分别从低频时钟域调整到高频时钟域,并对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至所述芯片端高频时钟域模块;所述高频向低频传输子模块用于,在接收到所述主机端低频时钟域模块发出读操作指令对应的读数据信号的情况下,基于所述读数据信号完成对应数据的读取,可以同时处理单周期与多周期信号之间的同步跨时钟域传播等高时序要求的场景,其应用场景广泛,可以应用于大量信号从低频域向高频域或相反反向的双向跨时钟域传播,避免了亚稳态的多域传播,提高了电路的稳定性与可靠性。
59.可选的,参见图1,所述电路还包括多个存储器模块104,所述存储器模块104设置在所述芯片端高频时钟域模块101上,多个所述存储器模块104分别和每个所述跨时钟域模块102一一对应连接。
60.可选的,参见图1,所述低频向高频传输子模块1021包括异步先入先出控制信号传输单元1021a和数据信号传输单元1021b,所述异步先入先出控制信号传输单元1021a的一端和所述芯片端高频时钟域模块101连接,另一端和所述主机端低频时钟域模块103连接,所述数据信号传输单元1021b的一端和所述芯片端高频时钟域模块连101接,另一端和所述主机端低频时钟域模块103连接。
61.所述异步先入先出控制信号传输单元用于,在接收到所述主机端低频时钟域模块发出所述写操作指令对应的写控制信号的情况下,将所述写控制信号从低频时钟域调整到高频时钟域;
62.所述数据信号传输单元用于,在接收到所述主机端低频时钟域模块发出所述写操作指令对应的写数据信号的情况下,将所述写数据信号从低频时钟域调整到高频时钟域;
63.所述异步先入先出控制信号传输单元和所述数据信号传输单元,还用于对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至所述芯片端高频时钟域模块。
64.其中,主机端低频时钟域模块可以是host,其中,host是100兆赫兹的低频时钟,芯片端高频时钟域模块可以是device,其中,device是400兆赫兹的高频时钟。
65.当主机端低频时钟域模块执行写(write)操作时,host端会向device端发送控制(write)信号、并同步数据(data)信号和非读非写(nop)信号等,当执行读(read)操作时,device端仅会向host端发送数据信号。
66.可选的,图2示出了本技术实施例提供的一种写操作信号的操作时序图,如图2所示,ctrl信号持续一个时钟周期,随后紧跟若干个周期的nop操作,当执行写操作时,host端发出write信号,并且发送write指令的同时会有8个周期的data数据同步发送到device端,
在data数据发送结束之前不会发出除nop指令之外的其他指令,信号odt=1表示data是由host写往device。
67.可选的,图3示出了本技术实施例提供的一种读操作信号的操作时序图,如图3所示,由device向host仅存在连续8个cycle的data信号传输,不存在该方向的ctrl信号传输,读有效信号rdvalid=1表明data是由device读往host。
68.需要说明的是,跨时域基本要求可以包括:cdc前后信号周期保持不变、write指令和所传输的data信号在cdc前后时钟保持对齐,以及write和read过程的data数据由odt和rdvalid信号分别控制。
69.由host向device跨时钟域的信号可以包括:ddr4_cke、ddr4_cs_n、ddr4_act_n、ddr4_adr[16:0]、ddr4_bg[2:0]、ddr4_c[2:0]、ddr4_ba[1:0]、ddr4_odt、ddr4_dq[7:0]、ddr4_dm_n和ddr4_dqs。
[0070]
由device向host跨时钟域的信号可以包括:ddr4_dq[7:0]、ddr4_dm_n、ddr4_dqs和rd_valid。
[0071]
可选的,本技术中的异步先入先出控制信号传输单元也即是异步fifo(先入先出队列,first input first output)。异步fifo是一种先入先出电路,可以存储缓冲再同步两个不同时钟域的数据,异步fifo是两个完全独立的时钟域,写时钟域和读时钟域,写时钟域的时钟信号为wclk,异步复位信号是reset_n。winc信号是控制是否向fifo中写入wdata的使能信号。
[0072]
当fifo被写满时,wfull信号会被上拉为高有效,直到fifo中的数据从读时钟域读出使得fifo非空,此时wfull才会再次被拉低。读时钟域的信号定义与写时钟域类似。若rempty信号拉高则表示此时fifo中的数据已经被完全读空,直至写时钟域重新向fifo中写入数据,此时rempty才会再次被拉低。异步fifo中的awfull和arempty信号用来表征此时fifo中仅差一个size大小的诗句才会被写满或读空,awfull和arempty信号也是高有效输出。
[0073]
当host发出写操作(ddr4adr=10000),参见图2,host端会向device端发送一个周期的写控制信号,并且此时会有8个周期的写数据信号与之同步发送,可以通过将写控制信号和写数据信号分别从低频域跨时钟域处理到高频域,然后将两者进行同步对齐。
[0074]
可选的,所述异步先入先出控制信号传输单元用于,在接收到所述主机端低频时钟域模块发出的所述写操作指令对应的所述写控制信号的情况下,根据预先设置的第一传输深度值,在检测到所述异步先入先出控制信号传输单元处于预设正常状态的情况下,将所述写控制信号写入所述异步先入先出控制信号传输单元;
[0075]
所述预设正常状态指的是所述异步先入先出控制信号传输单元处于非满并且不处于非读非写状态。
[0076]
具体的,ctrl(控制)信号具有一定的持续性,不是像data信号存在突发传输,因此,可以通过设置合适的fifo深度,当检测到fifo非满并且不处于nop状态时,将winc信号置为1,允许从写时钟域中向fifo写入wdata。rinc信号只要检测到fifo非空就置1,并且rinc信号只能保持一个cycle有效,就可以实现对ctrl信号跨时钟域的实时处理。也即是,只要fifo中写入了一个cycle的非nop指令,就将fifo中该指令读出,并且读出的指令同样保持一个cycle有效,由于跨时钟域前后时钟频率发生变化,为了保证rinc仅一个周期有
效,在检测fifo非空就置rinc为1的基础上,还可以增加一个电平脉冲转化(上升沿检测)电路来控制rinc仅一个cycle高有效。
[0077]
可选的,所述数据信号传输单元用于,在接收到所述主机端低频时钟域模块发出的所述写数据信号的情况下,根据预先设置的第二传输深度值,确定每次传输对应的写数据传输信号,将所述写数据传输信号存储在对应的所述存储器模块中,直至传输次数达到所述第二传输深度值,将所有的所述写数据传输信号按照存储写入的顺序从所述数据传输单元依次读出。
[0078]
在本技术中,数据传输单元可以是queue。
[0079]
具体的,当odt=1时,data由host传输至device,data信号的特点是具有突发性,只有host端发送特定的write指令的同时才会有数据传输,而且每次burst传输长度固定为8。将fifo用作queue,先设置fifo的深度为burst长度,可以是确定值8,也即是第二传输深度值可以是8,将每次burst传输的8个单位的data在fifo中存储稳定,等8个单位的数据全部进入到queue中后,queue被标记为满状态(wfull=1),再将data按照之前从写时钟域写入的顺序从queue中读出。
[0080]
在分别完成ctrl信号和data信号的cdc传输后,将特定的1个cycle的write指令和8个cycle的data信号对其,实现完成ctrl信号和data信号的协同传输,由于data信号在queue中暂时存储会造成一定的延时,因此具有一定的延时特性,因此data信号是不可以提前到和每个write指令同周期开始传输,基于此,可以将write指令延时到和data同周期时再进行传输。由于data信号的读出是以rinc=1为条件的,可以以rinc=1作为ctrl信号的读出条件将ctrl和data信号同步,完成由host向device的跨时钟域处理。
[0081]
所述高频向低频传输子模块用于,在接收到所述主机端低频时钟域模块发出读操作指令对应的读数据信号的情况下,基于所述读数据信号完成对应数据的读取。
[0082]
在本技术中,高频向低频传输子模块可以包括queue,当发生读操作时,是从device高频域向host低频域之间的跨时钟域处理,device端向host端的数据传输具有一定的突发性,当device向host连续burst传输8个周期的data数据时,将fifo用作queue的功能,将所有数据全部暂存在queue中,再将queue中的数据从device端顺序读出。因为device端的时钟频率高于host端,因此queue写满的速度是先与读出的速度,因此需要在上一次queue中的数据全部读出之后再进行下一次data数据的写入,两次burst读操作的8个单位的数据之间的间隔不能太小,可以避免上一次的数据还未读出,下一次写入的数据已经到来而发生的数据丢失,完成device端向host端的跨时钟域处理。
[0083]
本技术的高效实现伪ddr信号跨时钟域的电路,其可配置性好,可以同时处理单周期与多周期信号之间的同步跨时钟域传播等高时序要求的场景,其应用场景广泛,可以应用于大量信号从低频域向高频域或相反反向的双向跨时钟域传播,避免了亚稳态的多域传播,提高了系统的稳定性与可靠性。
[0084]
图4示出了本技术实施例提供的一种主机端低频时钟域模块向芯片端高频时钟域模块跨时钟域前后波形示意图,在host向device跨时钟域模式下,在分别完成ctrl信号和data信号的cdc传输后,将特定的1个cycle的write指令和8个cycle的data信号对其,实现完成ctrl信号和data信号的协同传输,由于data信号在queue中暂时存储会造成一定的延时,因此具有一定的延时特性,因此data信号是不可以提前到和每个write指令同周期开始
传输,基于此,可以将write指令延时到和data同周期时再进行传输。由于data信号的读出是以rinc=1为条件的,可以以rinc=1作为ctrl信号的读出条件将ctrl和data信号同步,完成由host向device的跨时钟域处理。
[0085]
图5示出了本技术实施例提供的一种芯片端高频时钟域模块向主机端低频时钟域模块跨时钟域前后的波形示意图,在device向host跨时钟域模式下,当发生读操作时,是从device高频域向host低频域之间的跨时钟域处理,device端向host端的数据传输具有一定的突发性,当device向host连续burst传输8个周期的data数据时,将fifo用作queue的功能,将所有数据全部暂存在queue中,再将queue中的数据从device端顺序读出。因为device端的时钟频率高于host端,因此queue写满的速度是先与读出的速度,因此需要在上一次queue中的数据全部读出之后再进行下一次data数据的写入,两次burst读操作的8个单位的数据之间的间隔不能太小,也即是在下一次写入的数据到来之前,保证目前写入的数据已经被读出,本技术实施例对间隔的具体设置数值不作限定,可以根据实际应用场景做具体调整,可以避免上一次的数据还未读出,下一次写入的数据已经到来而发生的数据丢失,完成device端向host端的跨时钟域处理。
[0086]
本发明实施例提供的高效实现伪ddr信号跨时钟域的电路,所述低频向高频传输子模块用于,在接收到所述主机端低频时钟域模块发出写操作指令对应的写控制信号和写数据信号的情况下,将所述写控制信号和所述写数据信号分别从低频时钟域调整到高频时钟域,并对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至所述芯片端高频时钟域模块;所述高频向低频传输子模块用于,在接收到所述主机端低频时钟域模块发出读操作指令对应的读数据信号的情况下,基于所述读数据信号完成对应数据的读取,可以同时处理单周期与多周期信号之间的同步跨时钟域传播等高时序要求的场景,其应用场景广泛,可以应用于大量信号从低频域向高频域或相反反向的双向跨时钟域传播,避免了亚稳态的多域传播,提高了电路的稳定性与可靠性。
[0087]
图6示出了本技术实施例提供的一种高效实现伪ddr信号跨时钟域的方法的流程示意图,应用于图1所示的高效实现伪ddr信号跨时钟域的电路中,如图6所示,该高效实现伪ddr信号跨时钟域的方法包括:
[0088]
步骤201:低频向高频传输子模块在接收到主机端低频时钟域模块发出写操作指令对应的写控制信号和写数据信号的情况下,将所述写控制信号和所述写数据信号分别从低频时钟域调整到高频时钟域,并对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至芯片端高频时钟域模块。
[0089]
可选的,步骤201的具体实现方式可以包括以下子步骤:
[0090]
子步骤s1:所述异步先入先出控制信号传输单元在接收到所述主机端低频时钟域模块发出所述写操作指令对应的写控制信号的情况下,将所述写控制信号从低频时钟域调整到高频时钟域;
[0091]
可选的,所述异步先入先出控制信号传输单元在接收到所述主机端低频时钟域模块发出的所述写操作指令对应的所述写控制信号的情况下,根据预先设置的第一传输深度值,在检测到所述异步先入先出控制信号传输单元处于预设正常状态的情况下,将所述写
控制信号写入所述异步先入先出控制信号传输单元;
[0092]
所述预设正常状态指的是所述异步先入先出控制信号传输单元处于非满并且不处于非读非写状态。
[0093]
子步骤s2:所述数据信号传输单元在接收到所述主机端低频时钟域模块发出所述写操作指令对应的写数据信号的情况下,将所述写数据信号从低频时钟域调整到高频时钟域;
[0094]
所述数据信号传输单元在接收到所述主机端低频时钟域模块发出的所述写数据信号的情况下,根据预先设置的第二传输深度值,确定每次传输对应的写数据传输信号,将所述写数据传输信号存储在对应的所述存储器模块中,直至传输次数达到所述第二传输深度值,将所有的所述写数据传输信号按照存储写入的顺序从所述数据传输单元依次读出。
[0095]
子步骤s3:所述异步先入先出控制信号传输单元和所述数据信号传输单元对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至所述芯片端高频时钟域模块。
[0096]
步骤202:所述高频向低频传输子模块在接收到所述主机端低频时钟域模块发出读操作指令对应的读数据信号的情况下,基于所述读数据信号完成对应数据的读取。
[0097]
本发明实施例提供的高效实现伪ddr信号跨时钟域的方法,所述低频向高频传输子模块在接收到所述主机端低频时钟域模块发出写操作指令对应的写控制信号和写数据信号的情况下,将所述写控制信号和所述写数据信号分别从低频时钟域调整到高频时钟域,并对调整后的所述写控制信号和所述写数据信号进行同步对齐处理,将同步对齐处理后的所述写控制信号和所述写数据信号发送至所述芯片端高频时钟域模块;所述高频向低频传输子模块在接收到所述主机端低频时钟域模块发出读操作指令对应的读数据信号的情况下,基于所述读数据信号完成对应数据的读取,可以同时处理单周期与多周期信号之间的同步跨时钟域传播等高时序要求的场景,其应用场景广泛,可以应用于大量信号从低频域向高频域或相反反向的双向跨时钟域传播,避免了亚稳态的多域传播,提高了电路的稳定性与可靠性。
[0098]
本发明提供的一种高效实现伪ddr信号跨时钟域的方法,应用于如图1所示的高效实现伪ddr信号跨时钟域的电路,为避免重复,这里不再赘述。
[0099]
本发明实施例中的电子设备可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本发明实施例不作具体限定。
[0100]
本发明实施例中的电子设备可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本发明实施例不作具体限定。
[0101]
图7示出了本发明实施例提供的一种电子设备的硬件结构示意图。如图7所示,该电子设备300包括处理器310。
[0102]
如图7所示,上述处理器310可以是一个通用中央处理器(central processing unit,cpu),微处理器,专用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。
[0103]
如图7所示,上述电子设备300还可以包括通信线路340。通信线路340可包括一通路,在上述组件之间传送信息。
[0104]
可选的,如图7所示,上述电子设备还可以包括通信接口320。通信接口320可以为一个或多个。通信接口320可使用任何收发器一类的装置,用于与其他设备或通信网络通信。
[0105]
可选的,如图7所示,该电子设备还可以包括存储器330。存储器330用于存储执行本发明方案的计算机执行指令,并由处理器来控制执行。处理器用于执行存储器中存储的计算机执行指令,从而实现本发明实施例提供的方法。
[0106]
如图7所示,存储器330可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器330可以是独立存在,通过通信线路340与处理器310相连接。存储器330也可以和处理器310集成在一起。
[0107]
可选的,本发明实施例中的计算机执行指令也可以称之为应用程序代码,本发明实施例对此不作具体限定。
[0108]
在具体实现中,作为一种实施例,如图7所示,处理器310可以包括一个或多个cpu,如图7中的cpu0和cpu1。
[0109]
在具体实现中,作为一种实施例,如图7所示,终端设备可以包括多个处理器,如图7中的第一处理器3101和第二处理器3102。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。
[0110]
图8是本发明实施例提供的芯片的结构示意图。如图8所示,该芯片400包括一个或两个以上(包括两个)处理器310。
[0111]
可选的,如图8所示,该芯片还包括通信接口320和存储器330,存储器330可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,nvram)。
[0112]
在一些实施方式中,如图8所示,存储器330存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
[0113]
在本发明实施例中,如图8所示,通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
[0114]
如图8所示,处理器310控制终端设备中任一个的处理操作,处理器310还可以称为中央处理单元(central processing unit,cpu)。
[0115]
如图8所示,存储器330可以包括只读存储器和随机存取存储器,并向处理器提供
指令和数据。存储器330的一部分还可以包括nvram。例如应用中存储器、通信接口以及存储器通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图8中将各种总线都标为总线系统450。
[0116]
如图8所示,上述本发明实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processing,dsp)、asic、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0117]
一方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令被运行时,实现上述实施例中由终端设备执行的功能。
[0118]
一方面,提供一种芯片,该芯片应用于终端设备中,芯片包括至少一个处理器和通信接口,通信接口和至少一个处理器耦合,处理器用于运行指令,以实现上述实施例中由高效实现伪ddr信号跨时钟域的电路执行的功能。
[0119]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,dvd);还可以是半导体介质,例如,固态硬盘(solid state drive,ssd)。
[0120]
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
[0121]
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发
明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1