《基于存储器接口的扩展设备及其时钟调试方法.pdf》由会员分享,可在线阅读,更多相关《基于存储器接口的扩展设备及其时钟调试方法.pdf(11页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103678249 A (43)申请公布日 2014.03.26 CN 103678249 A (21)申请号 201310750608.1 (22)申请日 2013.12.31 G06F 15/76(2006.01) G06F 1/04(2006.01) (71)申请人 苏州君嬴电子科技有限公司 地址 215124 江苏省苏州市苏州工业园区星 湖街 328 号创意产业园 1-B602 单元 (72)发明人 张华 王相如 (74)专利代理机构 上海专利商标事务所有限公 司 31100 代理人 张振军 (54) 发明名称 基于存储器接口的扩展设备及其时钟调试方 法 (5。
2、7) 摘要 本发明提供了一种基于存储器接口的扩展设 备及其时钟调试方法, 该扩展设备包括 : 时钟相 位调节部件, 用于产生具有相同频率及不同相位 的多个时钟信号 ; 时钟开关矩阵, 对所述多个时 钟信号进行选择输出 ; 存储器接口模块, 包括多 个接口部件, 各接口部件分别工作在第一时钟域 和 / 或不同于第一时钟域的其他时钟域 ; 功能单 元, 在第一时钟域内对所述时钟开关矩阵进行控 制并与所述存储器接口模块进行数据交互。本发 明无需进行异步时钟域处理即可保证数据的正常 交互, 实现方式简单, 效率很高。 (51)Int.Cl. 权利要求书 2 页 说明书 6 页 附图 2 页 (19)中。
3、华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书6页 附图2页 (10)申请公布号 CN 103678249 A CN 103678249 A 1/2 页 2 1. 一种基于存储器接口的扩展设备, 其特征在于, 包括 : 时钟相位调节部件, 用于产生具有相同频率及不同相位的多个时钟信号 ; 时钟开关矩阵, 对所述多个时钟信号进行选择输出 ; 存储器接口模块, 包括多个接口部件, 各接口部件分别工作在第一时钟域和 / 或不同 于第一时钟域的其他时钟域 ; 功能单元, 在第一时钟域内对所述时钟开关矩阵进行控制并与所述存储器接口模块进 行数据交互 ; 其中, 所述时钟开关矩阵。
4、在外部的时钟拨码开关信号控制下, 将所述多个时钟信号其 中之一选择为所述第一时钟域的工作时钟 ; 所述时钟开关矩阵在所述功能单元产生的时钟 控制开关信号控制下, 将所述多个时钟信号中的一个或多个分别选择为所述其他时钟域的 工作时钟。 2. 根据权利要求 1 所述的扩展设备, 其特征在于, 所述的存储器接口模块包括 : I/O 复用器 ; 存储器从控制器, 在所述第一时钟域内与所述功能单元进行数据交互, 在第二时钟域 内与外部的主控部件进行数据交互, 在第三时钟域内经由所述 I/O 复用器与外部的存储器 进行数据交互 ; 存储器主控制器, 在所述第一时钟域内与所述功能单元进行数据交互, 在所述第。
5、三时 钟域内经由所述 I/O 复用器与外部的存储器进行数据交互 ; 总线仲裁申请单元, 在第四时钟域内执行预设的测试功能。 3. 根据权利要求 2 所述的扩展设备, 其特征在于, 所述功能单元包括相位配置寄存器, 用于控制所述总线仲裁申请单元进入测试使能状态并执行所述预设的测试功能。 4. 根据权利要求 2 所述的扩展设备, 其特征在于, 所述功能单元包括多个测试寄存器, 所述存储器从控制器在第二时钟域内从所述主控部件接收数据, 并在第一时钟域内将该数 据传输至所述测试寄存器。 5. 根据权利要求 4 所述的扩展设备, 其特征在于, 所述功能单元包括两个测试寄存器, 并且所述两个测试寄存器满足。
6、按位取反的逻辑关系。 6. 根据权利要求 2 所述的扩展设备, 其特征在于, 所述预设的测试功能包括 : 所述总线 仲裁申请单元发送预设的测试数据序列至所述主控部件, 并接收所述主控部件反馈的测试 结果信号。 7. 根据权利要求 2 所述的扩展设备, 其特征在于, 所述存储器为 SDRAM 存储器。 8.根据权利要求1至7所述的扩展设备, 其特征在于, 所述时钟相位调节部件产生4个 相同频率的时钟信号, 所述 4 个时钟信号的相位分别是 0、 90、 180以及 270。 9.根据权利要求1至7所述的扩展设备, 其特征在于, 所述时钟相位调节部件为锁相环 或者数字时钟管理器。 10. 权利要求。
7、 1 至 9 中任一项所述的扩展设备的时钟调试方法, 其特征在于, 包括 : 步骤 1, 通过所述时钟拨码开关信号设定第一时钟域的工作时钟的相位 ; 步骤 2, 通过所述功能单元输出的时钟控制开关信号选择其他时钟域的工作时钟的相 位, 以使所述存储器接口模块中的各接口部件都正常工作 ; 步骤3, 如果所述步骤2失败, 则返回所述步骤1, 更换所述第一时钟域的工作时钟的相 权 利 要 求 书 CN 103678249 A 2 2/2 页 3 位, 并重新执行所述步骤 2。 11.根据权利要求10所述的时钟调试方法, 其特征在于, 所述扩展设备为权利要求2至 9 中任一项所述的扩展设备, 所述步骤。
8、 2 包括 : 步骤 21, 通过所述功能单元输出的时钟控制开关信号选择所述第二时钟域的工作时 钟的相位, 以使所述主控部件能经由所述存储器从控制器与所述功能单元正常进行数据交 互 ; 步骤 22, 通过所述功能单元输出的时钟控制开关信号选择所述第三时钟域的工作时钟 的相位, 以使所述主控部件能经由所述存储器从控制器与所述存储器正常进行数据交互, 并且所述存储器主控制器能与所述存储器正常进行数据交互 ; 步骤 23, 通过所述功能单元输出的时钟控制开关信号选择所述第四时钟域的工作时钟 的相位, 以使所述总线仲裁申请单元能正常执行所述预设的测试功能且测试结果正确 ; 其中, 所述步骤21、 步骤。
9、22和步骤23都成功则所述步骤2成功, 否则所述步骤2失败。 权 利 要 求 书 CN 103678249 A 3 1/6 页 4 基于存储器接口的扩展设备及其时钟调试方法 技术领域 0001 本发明涉及一种基于存储器接口的扩展设备及其时钟调试方法。 背景技术 0002 随着大规模集成电路技术的发展, 系统级芯片 (SOC, 又称为片上系统) 得到了广 泛的应用, SOC 通常可以集成有处理器核、 接口模块、 运算模块等多种模块。为了能与诸如 SDRAM 存储器等片外存储器进行数据交互, SOC 通常集成有相应的存储器接口。 0003 SOC可以通过基于SDRAM总线的扩展设备访问SDRAM存。
10、储器, 这对扩展设备的时钟 设计、 调试方法提出了挑战 . 发明内容 0004 本发明要解决的技术问题是提供一种基于存储器接口的扩展设备及其时钟调试 方法, 能够在较为简单的设计原则下很好地解决上述时钟设计和调试中的困难, 无需进行 异步时钟域处理即可保证数据的正常交互。 0005 为解决上述技术问题, 本发明提供了一种基于存储器接口的扩展设备, 包括 : 0006 时钟相位调节部件, 用于产生具有相同频率及不同相位的多个时钟信号 ; 0007 时钟开关矩阵, 对所述多个时钟信号进行选择输出 ; 0008 存储器接口模块, 包括多个接口部件, 各接口部件分别工作在第一时钟域和 / 或 不同于第。
11、一时钟域的其他时钟域 ; 0009 功能单元, 在第一时钟域内对所述时钟开关矩阵进行控制并与所述存储器接口模 块进行数据交互 ; 0010 其中, 所述时钟开关矩阵在外部的时钟拨码开关信号控制下, 将所述多个时钟信 号其中之一选择为所述第一时钟域的工作时钟 ; 所述时钟开关矩阵在所述功能单元产生的 时钟控制开关信号控制下, 将所述多个时钟信号中的一个或多个分别选择为所述其他时钟 域的工作时钟。 0011 根据本发明的一个实施例, 所述的存储器接口模块包括 : 0012 I/O 复用器 ; 0013 存储器从控制器, 在所述第一时钟域内与所述功能单元进行数据交互, 在第二时 钟域内与外部的主控部。
12、件进行数据交互, 在第三时钟域内经由所述 I/O 复用器与外部的存 储器进行数据交互 ; 0014 存储器主控制器, 在所述第一时钟域内与所述功能单元进行数据交互, 在所述第 三时钟域内经由所述 I/O 复用器与外部的存储器进行数据交互 ; 0015 总线仲裁申请单元, 在第四时钟域内执行预设的测试功能。 0016 根据本发明的一个实施例, 所述功能单元包括相位配置寄存器, 用于控制所述总 线仲裁申请单元进入测试使能状态并执行所述预设的测试功能。 0017 根据本发明的一个实施例, 所述功能单元包括多个测试寄存器, 所述存储器从控 说 明 书 CN 103678249 A 4 2/6 页 5 。
13、制器在第二时钟域内从所述主控部件接收数据, 并在第一时钟域内将该数据传输至所述测 试寄存器。 0018 根据本发明的一个实施例, 所述功能单元包括两个测试寄存器, 并且所述两个测 试寄存器满足按位取反的逻辑关系。 0019 根据本发明的一个实施例, 所述预设的测试功能包括 : 所述总线仲裁申请单元发 送预设的测试数据序列至所述主控部件, 并接收所述主控部件反馈的测试结果信号。 0020 根据本发明的一个实施例, 所述存储器为 SDRAM 存储器。 0021 根据本发明的一个实施例, 所述时钟相位调节部件产生 4 个相同频率的时钟信 号, 所述 4 个时钟信号的相位分别是 0、 90、 180以。
14、及 270。 0022 根据本发明的一个实施例, 所述时钟相位调节部件为锁相环或者数字时钟管理 器。 0023 本发明还提供了上述扩展设备的时钟调试方法, 包括 : 0024 步骤 1, 通过所述时钟拨码开关信号设定第一时钟域的工作时钟的相位 ; 0025 步骤 2, 通过所述功能单元输出的时钟控制开关信号选择其他时钟域的工作时钟 的相位, 以使所述存储器接口模块中的各接口部件都正常工作 ; 0026 步骤3, 如果所述步骤2失败, 则返回所述步骤1, 更换所述第一时钟域的工作时钟 的相位, 并重新执行所述步骤 2。 0027 根据本发明的一个实施例, 所述步骤 2 包括 : 0028 步骤 。
15、21, 通过所述功能单元输出的时钟控制开关信号选择所述第二时钟域的工作 时钟的相位, 以使所述主控部件能经由所述存储器从控制器与所述功能单元正常进行数据 交互 ; 0029 步骤 22, 通过所述功能单元输出的时钟控制开关信号选择所述第三时钟域的工作 时钟的相位, 以使所述主控部件能经由所述存储器从控制器与所述存储器正常进行数据交 互, 并且所述存储器主控制器能与所述存储器正常进行数据交互 ; 0030 步骤 23, 通过所述功能单元输出的时钟控制开关信号选择所述第四时钟域的工 作时钟的相位, 以使所述总线仲裁申请单元能正常执行所述预设的测试功能且测试结果正 确 ; 0031 其中, 所述步骤。
16、 21、 步骤 22 和步骤 23 都成功则所述步骤 2 成功, 否则所述步骤 2 失败。 0032 与现有技术相比, 本发明具有以下优点 : 0033 本发明实施例的扩展设备利用时钟开关矩阵将多个同频不同相的时钟信号选择 输出为不同时钟域的工作时钟, 只要进行适当的相位选择, 功能单元以及存储器接口模块 都可以正常工作, 不同时钟域的逻辑设计都可以认为是同步设计, 无需进行异步时钟域处 理, 实现方式简单, 效率较高, 可以大大简化基于存储器接口的扩展设备的设计以及调试流 程。 附图说明 0034 图 1 是本发明实施例的扩展设备的结构框图 ; 0035 图 2 是本发明实施例的扩展设备的时。
17、钟调试方法的流程示意图 ; 说 明 书 CN 103678249 A 5 3/6 页 6 0036 图 3 是图 2 中步骤 2 的详细流程示意图。 具体实施方式 0037 下面结合具体实施例和附图对本发明作进一步说明, 但不应以此限制本发明的保 护范围。 0038 本实施例提供了一种基于存储器接口的扩展设备, 外部的主控部件可以经由该扩 展设备访问存储器。作为一个非限制性的例子, 该主控部件例如可以是 SOC, 该存储器例如 可以是 SDRAM 存储器。当然, 本领域技术人员应当理解, 该主控部件还可以是其他适当的部 件, 该存储器还可以是其他适当类型的存储器。 0039 参考图 1, 在一。
18、非限制性的实例中, 扩展设备 10 与系统级芯片 (SOC) 11 相连以及 SDRAM 存储器 12 相连, 系统级芯片 11 可以经由扩展设备 10 访问 SDRAM 存储器 12。 0040 进一步而言, 扩展设备10可以包括 : 时钟相位调节部件101、 时钟开关矩阵102、 功 能单元 103 以及存储器接口模块 104。 0041 其中, 时钟相位调节部件 101 用于产生具有相同频率及不同相位的多个时钟信 号。时钟相位调节部件 101 例如可以是锁相环 (PLL) 或者数字时钟管理器 (DCM) 。时钟相 位调节部件 101 产生的时钟信号的数量至少是 2 个, 各个时钟信号具有。
19、相同的频率以及不 同的相位, 不同时钟信号的相位可以根据实际需要进行设定。 作为一个优选的实施例, 时钟 相位调节部件 101 产生 4 个时钟信号, 其相位分别是 0、 90、 180以及 270。 0042 本领域技术人员应当理解, 以上仅是优选的方案, 该时钟相位调节部件 101 产生 的时钟信号还可以是其他情况, 例如可以是3个时钟信号, 相位分别是0、 120和240。 0043 时钟开关矩阵 102 与时钟相位调节部件 101 相连, 对时钟相位调节部件 101 输出 的多个时钟信号进行选择输出, 将其分别传输至功能模块 103 以及存储器接口模块 104 内 的多个接口部件。 0。
20、044 功能单元103在第一时钟域内对时钟开关矩阵102进行控制并与存储器接口模块 104 进行数据交互。存储器接口模块 104 中的各接口部件分别工作在第一时钟域和 / 或不 同于第一时钟域的其他时钟域。 0045 进一步而言, 时钟开关矩阵 102 在外部的时钟拨码开关信号控制下, 将时钟相位 调节部件 101 输出的多个时钟信号其中之一选择为第一时钟域的工作时钟 ; 时钟开关矩阵 102在功能单元103产生的时钟控制开关信号控制下, 将时钟相位调节部件101输出的多个 时钟信号中的一个或多个分别选择为其他时钟域的工作时钟。 0046 本实施例中, 存储器接口模块 104 可以包括 : S。
21、DRAM 从控制器 105、 SDRAM 主控制器 106、 总线仲裁申请单元 107 以及 I/O 复用器 (I/O MUX) 108。 0047 其中, SDRAM 从控制器 105 在第一时钟域内与功能单元 103 进行数据交互, 在第二 时钟域内与系统级芯片 11 进行数据交互, 在第三时钟域内经由 I/O 复用器 108 与 SDRAM 存 储器12进行数据交互 ; SDRAM主控制器106在第一时钟域内与功能单元103进行数据交互, 在第三时钟域内经由 I/O 复用器 108 与外部的 SDRAM 存储器 12 进行数据交互 ; 总线仲裁申 请单元 107 在第四时钟域内执行预设的。
22、测试功能。另外, 总线仲裁申请单元 107 还可以在 第四时钟域内执行总线的申请和认可信号的处理, 从而对SDRAM存储器12的访问请求进行 仲裁。 说 明 书 CN 103678249 A 6 4/6 页 7 0048 时钟开关矩阵 102 将 4 个不同相位的时钟信号选择输出, 分别作为第一时钟域的 工作时钟Clk1, 第二时钟域的工作时钟Clk2, 第三时钟域的工作时钟Clk3以及第四时钟域 的工作时钟 Clk4。 0049 进一步而言, 功能单元 103 可以包括相位配置寄存器 (phase_cfg_reg) , 该相位配 置寄存器用于控制总线仲裁申请单元 107 进入测试使能状态并执。
23、行预设的测试功能。另 外, 该相位配置寄存器还可以用于控制时钟开关矩阵 102, 以进行时钟的相位选择。 0050 功能单元 103 还可以包括相位状态寄存器 (phase_status_reg), 用于记录总线仲 裁申请单元107执行的测试功能的测试结果。 更加具体而言, 当总线仲裁申请单元107进入 测试使能状态时, 总线仲裁申请单元 107 可以发送预设的测试数据序列至系统级芯片 11, 例如, 可以通过 ExtBusReq 端口发送测试数据序列 (如 11110101010110101010) 至系统级 芯片 11 ; 系统级芯片 11 检测接收到的序列, 如果正确, 则系统级芯片 1。
24、1 通过 ExtBusAck 端 口发送一个确认测试正确的确认信号, 例如一个周期的高电平信号, 否则默认为低电平 ; 该 测试结果的正确与否可以被记录在相位状态寄存器 (phase_status_reg) 中。系统级芯片 11 可以读取该相位状态寄存器, 以确认总线仲裁申请单元 107 使用的是否是合适的时钟相 位。 0051 另外, 功能单元 103 可以包括多个测试寄存器, SDRAM 从控制器 105 可以在第二时 钟域内从系统级芯片11接收数据, 并在第一时钟域内将该数据传输至功能单元103内的测 试寄存器。作为一个优选的实施例, 功能单元 103 可以包含 2 个测试寄存器 tes。
25、t1_reg 和 test2_reg, 这两个测试寄存器满足按位取反的逻辑关系 (test1_reg= test2_reg), 例如 test1_reg=0x5aa55aa5,test2_reg=0xa55aa55a。 0052 下面对图 1 从各个模块的时钟选择策略方面进行说明。 0053 功能单元 103 工作在第一时钟域, 其工作时钟为 Clk1。功能单元 103 的时钟输入 通过外部的时钟拨码开关信号来选择, 该时钟拨码开关信号可以由时钟拨码开关产生。在 上电时, 由外部的时钟拨码开关信号决定选择 0时钟、 90时钟、 180时钟和 270时钟 中的哪一个时钟作为其工作时钟 Clk1,。
26、 第一时钟域的工作时钟 Clk1 在这里又称为本地系 统时钟。 0054 SDRAM 从控制器 105 工作在第一时钟域、 第二时钟域和第三时钟域中, 也就是 SDRAM 从控制器 105 的工作时钟有 3 个 : Clk1、 Clk2 和 Clk3。 0055 其中, 第一时钟域的工作时钟 Clk1 对于 SDRAM 从控制器 105 而言是同步时钟, 将 来自第二时钟域的总线数据、 控制信号同步到本地系统时钟, 与功能单元 103 进行数据交 互。 0056 第二时钟域的工作时钟 Clk2 对于 SDRAM 从控制器 105 而言是采样时钟, 用于对来 自系统级芯片 11 的总线数据进行采。
27、样并锁存, 继而可以传输给第一时钟域内的寄存器。第 二时钟域的工作时钟 Clk2 的选择是由功能单元 103 控制的, 其可以是 0时钟、 90时钟、 180时钟和 270时钟其中之一。 0057 第三时钟域的工作时钟 Clk3 对于 SDRAM 从控制器 105 而言是用于 I/O 处理的时 钟, SDRAM从控制器105经由I/O复用器108并采用该工作时钟Clk3访问SDRAM存储器12。 第三时钟域的工作时钟 Clk3 的选择是由功能单元 103 控制的, 其可以是 0时钟、 90时 钟、 180时钟和 270时钟其中之一。需要说明的是, I/O 复用器 108 在访问 SDRAM 时。
28、采用 说 明 书 CN 103678249 A 7 5/6 页 8 的时钟 IO_CLK 可以不同于工作时钟 Clk3, 而且实际应用中通常也不同于工作时钟 Clk3。 0058 SDRAM 主控制器 106 工作在第一时钟域和第三时钟域中, 也就是 SDRAM 主控制器 106 的工作时钟有 2 个 : Clk1 和 Clk3。 0059 其中, 第一时钟域的工作时钟 Clk1 对于 SDRAM 主控制器 106 而言是系统时钟, SDRAM 主控制器 106 采用该工作时钟 Clk1 与功能单元 103 进行数据交互。 0060 第三时钟域的工作时钟 Clk3 对于 SDRAM 主控制器 。
29、106 而言是用于 I/O 处理的时 钟, SDRAM主控制器106经由I/O复用器108并采用该工作时钟Clk3访问SDRAM存储器12。 如前所述, 第三时钟域的工作时钟 Clk3 的选择是由功能单元 103 控制的, 其可以是 0时 钟、 90时钟、 180时钟和 270时钟其中之一。 0061 总线仲裁申请单元 107 工作在第四时钟域, 也就是总线仲裁申请单元 107 的工作 时钟为 Clk4。第四时钟域的工作时钟 Clk4 也是由功能单元 103 输出的时钟控制开关控制 信号确定, 其可以是 0时钟、 90时钟、 180时钟和 270时钟其中之一。 0062 参考图 2, 上述实施。
30、例给出的扩展设备的时钟调试方法可以包括如下步骤 : 0063 步骤 1, 通过所述时钟拨码开关信号设定第一时钟域的工作时钟的相位 ; 0064 步骤 2, 通过所述功能单元输出的时钟控制开关信号选择其他时钟域的工作时钟 的相位, 以使所述存储器接口模块中的各接口部件都正常工作 ; 0065 步骤3, 如果所述步骤2失败, 则返回所述步骤1, 更换所述第一时钟域的工作时钟 的相位, 并重新执行所述步骤 2。 0066 参考图 3, 更加具体而言, 对于图 1 所示的具体实例, 该步骤 2 可以包括如下步骤 : 0067 步骤 21, 通过所述功能单元输出的时钟控制开关信号选择所述第二时钟域的工作。
31、 时钟的相位, 以使所述主控部件能经由所述存储器从控制器与所述功能单元正常进行数据 交互 ; 0068 步骤 22, 通过所述功能单元输出的时钟控制开关信号选择所述第三时钟域的工作 时钟的相位, 以使所述主控部件能经由所述存储器从控制器与所述存储器正常进行数据交 互, 并且所述存储器主控制器能与所述存储器正常进行数据交互 ; 0069 步骤 23, 通过所述功能单元输出的时钟控制开关信号选择所述第四时钟域的工 作时钟的相位, 以使所述总线仲裁申请单元能正常执行所述预设的测试功能且测试结果正 确 ; 0070 其中, 如果所述步骤 21、 步骤 22 和步骤 23 都成功则所述步骤 2 成功, 。
32、否则所述步 骤 2 失败。 0071 下面结合图 1 至图 3 进行详细说明。 0072 首先执行步骤1, 确定第一时钟域的工作时钟Clk1的相位。 例如, 可以通过外部的 时钟拨码开关对时钟开关矩阵 102 进行控制, 随机选择一个相位的时钟信号, 例如 0相位 时钟。Clk1 的相位确定后, 在一次调试过程中不会再做改变。 0073 之后执行步骤21, 确定第二时钟域的工作时钟Clk2, 该工作时钟Clk2的相位需要 确保外部的系统级芯片11与扩展设备10之间的数据读写链路正常, 更加具体而言, 需要保 证系统级芯片11能够经由SDRAM从控制器105与功能单元103之间正常进行数据交互。。
33、 例 如, 系统级芯片 11 可以对功能单元 103 中的测试寄存器 test_reg1 和 test_reg2 进行大量 不同的读写操作, 并依照 test_reg1 和 test_reg2 之间预设的逻辑关系来判断读写操作是 说 明 书 CN 103678249 A 8 6/6 页 9 否正确。测试过程中, 可以通过功能单元 103 中的相位配置寄存器 phase_cfg_reg 来选择 工作时钟 Clk 的相位, 以确定工作时钟 Clk2 的最佳相位。 0074 然后执行步骤 22, 确定第三时钟域的工作时钟 Clk3 的相位。该工作时钟 Clk3 主 要用于 SDRAM 从控制器 10。
34、5 和 SDRAM 主控制器 106 与 SDRAM 存储器 12 之间的 I/O 处理, 不 但需要保证系统级芯片 11 能够与 SDRAM 存储器 12 正常进行数据交互 (也就是旁路扩展设 备 10) , 还需要保证 SDRAM 主控制器 106 也能够和 SDRAM 存储器 12 正常进行数据交互。例 如, 系统级芯片 11 可以经由 SDRAM 从控制器 105 对 SDRAM 存储器 12 进行数据读写, 以验证 读写是否正常 ; SDRAM 主控制器 106 也可以对 SDRAM 存储器 12 进行数据读写, 以验证读写 是否正常。 0075 接下来执行步骤 23, 确定第四时钟。
35、域的工作时钟 Clk4 的相位, 以使总线仲裁申请 单元 107 能正常执行预设的测试功能且测试结果正确。首先可以通过功能单元 103 使得总 线仲裁申请单元 107 进入测试使能状态, 总线仲裁申请单元 107 通过 ExtBusReq 端口循环 发送测试数据序列, 假如总线仲裁申请单元 107 在 ExtBusAck 端口上连续检测到若干个高 电平时就表明测试结果成功, 也就是确认工作时钟 Clk4 的相位正确, 否则视为不正确。在 测试过程中, 将工作时钟Clk4的相位依次循环选择为0、 90、 180以及270相位并进 行测试, 并分别在相位状态寄存器 (phase_status_re。
36、g) 中记录下来测试结果, 至此工作时 钟 Clk4 的时钟相位也被确定下来。 0076 如果上述步骤21、 步骤22和步骤23中的任何一个步骤失败, 也就是不存在能确保 上述逻辑功能正常的正确相位, 那么返回步骤 1, 更换第一时钟域的工作时钟 Clk1 的相位, 重新执行上述步骤21、 步骤22和步骤23, 直至四个时钟域的工作时钟的相位都能够使得扩 展设备 10 的逻辑功能正常。 0077 需要说明的是, 虽然上述实施例是以四个时钟域为例进行说明, 并且四个时钟域 可以选择的工作时钟的相位分别是 0、 90、 180以及 270, 但本领域技术人员应当理 解, 时钟域的数量与时钟相位调节。
37、部件产生的时钟信号的数量是没有必然联系的。根据实 际设计的需要, 时钟域的数量可以是其他适当的数字, 时钟相位调节部件产生的时钟信号 的数量也可以是其他适当的数字, 而且各个时钟信号的相位也可以是其他适当的相位, 不 限于上述具体例子。 0078 以上所述, 仅是本发明的较佳实施例而已, 并非对本发明作任何形式上的限制。 因 此, 凡是未脱离本发明技术方案的内容, 只是依据本发明的技术实质对以上实施例所做的 任何简单的修改、 等同的变换, 均仍属于本发明技术方案的保护范围内。 说 明 书 CN 103678249 A 9 1/2 页 10 图 1 图 2 说 明 书 附 图 CN 103678249 A 10 2/2 页 11 图 3 说 明 书 附 图 CN 103678249 A 11 。