一种基于标准状态机功能扩展的快速配置寄存器方法与流程

未命名 08-17 阅读:99 评论:0


1.本发明涉及超大规模数字集成电路测试领域,具体涉及一种基于标准状态机功能扩展的快速配置寄存器方法。


背景技术:

2.芯粒技术作为芯片算力提升和先进工艺节点遭遇瓶颈的解决方案,通过将不同工艺的模块化、小型化的芯粒堆叠成芯片,以用较低的成本获得较高的性能,同时改善芯片的良率。芯粒技术极具前景,其应用以及面向芯粒的研究越来越广泛。伴随着芯粒低成本、高良率以及高性能等特点,芯粒也存在堆叠芯片内部互连情况复杂、io数目庞大的问题,给测试带来了极大的挑战。
3.针对芯粒绑定后的互连测试问题,目前主流的测试方案都是基于ieee 1149、ieee 1687以及ieee 1838三大标准进行设计并改进,并设计配置电路对改进的功能进行控制。通常为了一致性的需要,配置电路的控制往往采用新增指令或新增状态机状态的方法,但这会大大增加配置时间。例如使用菊花链连接n个芯粒,单芯粒内有k个配置寄存器时,新增指令增加的配置时间至少为o(4n+6)、在新增指令不能满足寄存器配置需要时,新增的配置时间至多为o(4n+kn+6+5),新增状态机状态的配置时间为o(kn+7)。


技术实现要素:

4.本发明的目的在于提供一种基于标准状态机功能扩展的快速配置寄存器方法,本发明该方法可以适用于测试问题中广泛场景,用以快速配置相关寄存器。当标准测试结构在特定场景下缺乏测试效率时,往往需要加入配置寄存器,对配置寄存器进行配置会增加额外的时间,本发明提出的快速配置寄存器方法,相较于传统的新增指令和新增状态机状态两种方法,在大部分应用场景中都具有配置时间较短的优势。在改进的互连测试结构场景下,本发明提出的方法硬件开销小、配置时间短。
5.为解决上述技术问题,本发明提供了一种基于标准状态机功能扩展的快速配置寄存器方法,包括如下步骤:步骤1:在定义的配置周期内从tdi端口输入3’b000对状态机进行默认配置;步骤2:将指令寄存器配置为双芯粒工作状态,输入8位指令,即在shift-ir状态下从tdi端口输入8’b10101000;步骤3:进行扫描链的配置,配置寄存器链长为4;输入4位配置信号,即在update-ir、run-test/idle、select-dr、capture-dr四个状态下从tdi端口输入4’b1001进行配置;步骤4:输入测试数据,对左侧芯粒chiplet0的扫描链和右侧芯粒chiplet1的互连输出引脚进行全0信号赋值;其中有24个信号为低有效使能信号;步骤5:全0信号赋值经过capture-shift-update即csu周期后,测试数据通过互连线从互连的芯粒chiplet0或chiplet1的output引脚赋值到芯粒chiplet1或chiplet0的input引脚,此时扫描链上存储有792位全0数据;
步骤6:此时第一次移位赋值更新结束,为保持下一次移位赋值的互连测试状态,在两次移位赋值中经过配置状态时,与步骤3相同,继续从tdi端口输入4’b1001进行配置;步骤7:从tdi端口输入792位测试数据,其中使能信号位赋0,以移出步骤5存储的792位全0数据;此时检验测试数据输出tdo的值是否为步骤5赋值更新后的全0数据;步骤8:与步骤5-7同理,数据双向update后,为保持下一次移位赋值的互连测试状态,在两次移位赋值中经过配置状态时,与步骤3相同,从tdi端口输入4’b1001进行配置,随后从tdi端口输入792位测试向量以移出步骤7存储并update后的792位数据,输入与步骤7的赋值奇偶相反的向量,并检验测试数据输出tdo的值;步骤9:与步骤5-7同理,数据双向update后,在下一次进入移位赋值状态之前,在最后四个配置状态,即update-dr、run-test/idle、select-dr和capture-dr四个状态,从tdi端口输入4’b1001进行配置,以保持互连测试状态,随后从tdi端口输入588位全0测试向量,以移出右侧芯粒chiplet1的扫描链以及左侧芯粒chiplet0的互连输入引脚的边界扫描单元存储值;并检验测试数据输出tdo的值;步骤10编写比较逻辑,期望测试数据输出为tdo_exp,在非观测tck周期内,赋tdo_exp为1’bx;每个观测tck周期内当tdo与tdo_exp不匹配时,比较结果compare为1,否则compare为0;32位信号compare_count记录compare为1的周期数,即从测试开始的匹配失败次数。
6.优选的,将标准tap状态机,划分为可配置状态和不可配置状态;其中capture-dr、update-dr、update-ir、run-test/idle和select-dr五个状态划分为可配置状态,其余状态为不可配置状态。
7.优选的,所述芯粒chiplet0和芯粒chiplet1为两个相同的768引脚芯粒,其中384引脚为input,384引脚为output;两个芯粒通过192个input引脚和192个output引脚互相通信。
8.优选的,每个芯粒内配置寄存器链长为2,通过左侧芯粒chiplet0和右侧芯粒chiplet1互连,使其芯片的配置寄存器链长为4。
9.优选的,假设配置寄存器链长度为n,正常的两次移位赋值操作时,从update-ir/update-dr到capture-dr需经过4个周期,若测试电路此时工作在配置寄存器控制的某个状态,则需要增加状态机中配置状态周期数为n个周期;若测试电路工作在无需配置寄存器控制的标准状态,对应为配置寄存器全0的默认状态,由于寄存器初始值为0,首次配置全0或前一次配置为全0时,不需要增加状态机配置状态的周期数,仍使配置状态的周期数为4即可。
10.优选的,在需要增加配置状态周期数时,若此时需要6个配置周期,则应在update-ir/update-dr-》run-test/idle-》run-test/idle-》run-test/idle
ꢀ‑
》select-dr-》capture-dr六个周期中完成配置;其中
“‑
》”表示按时间顺序的状态变化。
11.本发明与现有技术相比,具有如下有益效果:本发明提出了一种基于标准状态机功能扩展的快速配置寄存器方法。该快速配置寄存器方法以ieee 1149.1为基础,关键在于扩大了ieee 1149.1规定的tap fsm的功能;以相关的寄存器(数据寄存器、指令寄存器)为对象,可将标准规定的fsm中的状态分为操作周期(csu period,capture-shift-update period)以及空闲周期(非csu period),快速配置
寄存器方法即在空闲周期的部分状态对相关控制寄存器进行配置操作。本发明提出的快速配置方法可以在两次操作周期之间对相关寄存器快速配置,在不增加额外的端口、不增加额外的指令和状态机状态的基础上,不影响原有的数据寄存器赋值和指令寄存器赋值,同时对配置寄存器进行快速赋值。该方法面向一种改进的互连测试结构而设计,但该发明提出的配置方法具有通用性,可广泛适用于基于ieee 1149设计的测试结构。改进的互连测试结构中,可对片内扫描链配置寄存器进行配置,以缩短扫描链的配置时间。
附图说明
12.图1是现有技术中ieee 1149.1标准tap状态机结构图。
13.图2是现有技术中常见测试流程的状态转移图。
14.图3是现有技术中典型边界扫描单元及边界扫描链结构图。
15.图4是本发明提供的标准tap状态机功能扩展的快速配置方法结构图。
16.图5是本发明提供的标准tap状态机功能扩展的状态转移图。
17.图6是本发明提供的快速配置寄存器方法的互连测试结构图。
18.图7是本发明提供的具体实施例中的待测芯粒示意图。
19.图8是本发明提供的具体实施例中的步骤7的赋值示意图。
20.图9是本发明提供的具体实施例中步骤7赋值对应的更新示意图。
21.图10是本发明提供的具体实施例中的步骤8的赋值示意图。
22.图11是本发明提供的具体实施例中步骤8赋值对应的更新示意图。
23.图12是本发明提供的快速配置寄存器方法的改进双芯粒互连结构仿真波形图。
具体实施方式
24.以下结合附图和具体实施例对本发明作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
25.本发明实施例提出的基于标准状态机功能扩展的快速配置寄存器方法的基本原理如下:ieee 1149.1规定的tap控制器状态机如图1所示,从图中可以看出可依据控制对象将16个状态分为两个支路,分别为数据寄存器支路和指令寄存器支路;测试过程中的状态总体上可以看做这两个支路的组合。与此同时,可以观察到测试数据输入仅在状态机处于shift状态(shift-dr、shift-ir)下才会进入测试电路,成为有效的、有意义的信号;而新引入的配置寄存器及其相关的控制电路,相对独立于ieee 1149.1规定的标准测试电路,考虑在已有状态中选取部分状态,使该状态下测试数据输入在配置电路内为有效信号,可以大大提高状态机状态利用率,同时也可以缩短测试电路的配置时间。
26.常见的测试流程中,状态机的状态转移如图2中实线所示;数据寄存器支路和指令寄存器支路存在相同点:循环内状态均可以分为操作周期(csu-period,capture-shift-update period),以及空闲周期(非csu period)。合理地选择状态,使该状态下测试数据输入端口进入的信号可以进入配置电路,同时处于未被选择的状态时,锁存原有的值。
27.从需求角度讲,新增配置电路的目的在于控制测试数据,目前的研究暂未有控制指令寄存器的情况出现,故本发明提出的配置方法的目标即为,在每一次测试数据移位操
作之前保证配置寄存器值正确。下面对配置状态的选择进行分析:

典型的边界扫描单元的结构及边界扫描链如图3所示,clockbscan信号在capture-dr时开始产生波形,在shift-dr结束时恢复常0;可以看到在capture-dr状态下边界扫描单元开始捕获数据(非测试数据输入),测试数据输入信号在shift有效时开始移位;即本方法中所选用的配置状态需在shift之前,此时从tdi端口输入数据不影响扫描链的工作。
28.②
同时,观察到update状态下虽然仍对扫描链进行操作,将扫描链中边界扫描单元存储的值输出到功能电路中,但对测试数据并没有进行操作;故在此状态下通过测试数据输入端口进行配置,不影响边界扫描链的正常工作。
29.③
最后,以支路对状态机在测试过程中的状态转移情况进行划分,在进行每一次数据寄存器操作之前,状态机既可能工作在数据寄存器支路,也可能工作在指令寄存器支路。因此,根据上述的分析

,update状态除了update-dr状态之外,在update-ir状态进行配置同样不会影响扫描链的正常工作。
30.综上所述,将状态机分为可配置状态以及不可配置状态,在update-dr、update-ir、run-test/idle、select-dr、capture-dr五个状态进行配置,既不影响边界扫描链的正常工作,又可以在不增加指令、不增加状态机状态的情况下,以较小的硬件复杂度对配置电路进行配置。
31.如图4所示,快速配置寄存器方法中,tap_main中引出tap_fsm中表征状态机目前所处状态的state信号,用以控制配置寄存器链中数据的操作。基于上述分析,在state处于caputure-dr、update-dr、update-ir、run-test/idle以及select-dr五个状态时,配置寄存器链可以接收来自测试数据输入端口的数据,同时在测试时钟的下降沿进行采样移位。同时,为了满足多芯粒测试的需求,需保证在capture-dr、update-dr、update-ir、run-test/idle以及select-dr五个状态时,配置寄存器链移出的数据可以从测试数据输出端口输出,即根据state的值生成tdo_sel信号,控制tdo端口的前端来源。
32.除此以外,尽管本发明提出的快速配置寄存器方法修改了原有的状态机,在测试电路工作在无需进行额外配置的状态时,若此工作状态正对应配置寄存器全部置0的状态,且配置寄存器链是首次配置或上一次配置为全0,则无论配置寄存器链长度,均按照正常的状态转移,无需增加配置状态周期,配置状态赋0值即可;假设配置寄存器链长度为n,正常的两次移位操作间,从update-ir/update-dr到capture-dr需经过4个周期,若测试电路此时工作在配置寄存器控制的某个状态,则需要增加状态机中配置状态周期数为n个周期;若测试电路工作在无需配置寄存器控制的标准状态,对应为配置寄存器全0的默认状态,由于寄存器初始值为0,首次配置全0或前一次配置为全0时,不需要增加状态机配置状态的周期数,仍使配置状态的周期数为4即可。
33.值得一提的是,在需要增加配置状态周期数时,为避免增加部分状态导致ieee 1149.1规定的标准结构中发生逻辑混乱的情况,同时run-test/idle和select-dr为多次移位过程中的必经状态,其中run-test/idle状态为可自循环状态,故在该方法中仅通过增加run-test/idle状态来增加配置状态的周期;即,若此时需要6个配置周期,则应在update-ir/update-dr-》run-test/idle-》run-test/idle-》run-test/idle-》select-dr-》capture-dr六个周期中完成配置。
34.将本发明所提出的快速配置寄存器方法,即图5所示,应用到改进的互连测试结构中,如图6所示。将根据图5介绍的基于标准tap状态机功能扩展的状态转移图,以及图6所示的整体测试结构图,对该结构中配置寄存器的快速配置步骤,以及测试流程进行详细的介绍。
35.在本发明实施例中,上述改进的互连测试结构,其测试电路的单芯粒内配置寄存器链长为2,由于实际场景为2个芯粒互连,芯片的配置寄存器链长为4;配置寄存器的默认状态,即配置寄存器全部置0的情况,该测试结构可以同时进行双向传输,即互连情况的测试。测试对象如图7所示,为两个相同的768引脚芯粒,其中384引脚为input,384引脚为output;两个芯粒通过192个input引脚和192个output引脚互相通信。
36.进一步的,本发明实施例提供的一种基于标准状态机功能扩展的快速配置寄存器方法,具体包括如下步骤:步骤1:在配置指令寄存器之前,状态机会经过配置状态;由于这是第一次进行配置,且下一步操作为配置指令寄存器,为无需配置寄存器控制的标准状态,在配置状态仅需从tdi端口输入3’b000即可;步骤2:通过指令寄存器配置双芯粒工作状态,输入8位指令,根据改进的互连测试结构中的规定输入指令,在shift-ir状态下从tdi输入8’b10101000;步骤3:进行扫描链的配置,双芯粒互连场景下,配置寄存器链长为4;输入4位配置信号,为进行互连测试状态,根据改进的互连测试结构的规定,4位配置信号应为4’b1001;根据上述前文分析,在capture-dr状态及其前三个状态进行配置,即在update-ir、run-test/idle、select-dr、capture-dr四个状态进行配置;由图4可知,在配置状态,不同芯粒的配置扫描链处于连通状态,故在此四个状态从tdi输入4’b1001进行配置;步骤4:输入测试数据,在步骤3中,已对芯粒内扫描链进行配置,使两个芯粒只有其互连端口所在的边界扫描单元被接入扫描链,在本发明的验证方案中,先对左侧芯粒的扫描链以及右侧芯粒的互连输出引脚赋全0(其中有24个低有效使能信号);步骤5:步骤4赋值经过csu周期(capture-shift-update)后,经过改进互连测试结构特殊的设计,测试数据通过互连线从互连的output引脚赋值到对应芯粒的input引脚,此时扫描链上792个bsc存储的值均为0;步骤6:此时第一次移位赋值更新结束,为保持下一次赋值移位的互连测试状态,在两次移位中经过配置状态时,同步骤3,继续从tdi输入4’b1001;步骤7:输入792位测试数据,移出步骤5存储的792位全0数据,并通过tdi输入792位测试向量(使能信号位赋0),具体赋值情况如图8所示;此时检验测试数据输出tdo是否为步骤5赋值更新后的全0数据;步骤8:同步骤5-7,数据双向update的理论过程如图9所示;数据update后,为保持下一次赋值移位的互连测试状态,在两次移位中经过配置状态时,同步骤3,从tdi输入4’b1001进行配置,随后从tdi输入792位向量以移出步骤7存储并update后的792位数据,输入与步骤7的赋值奇偶相反的向量;具体赋值情况如图10所示;并根据图9检测测试数据输出tdo是否为图9所指示的值;步骤9:同步骤5-7,数据双向update的理论过程如图11所示;数据双向update后,在下一次进入移位状态之前,在最后四个配置状态,从tdi输入4’b1001进行配置,以保持互
连测试状态,随后从tdi输入588位全0测试向量,以移出右侧芯粒的扫描链以及左侧芯粒的互连输入引脚的边界扫描单元存储值;并根据图11检测测试数据输出;步骤10:整理测试数据输入和理论输出数据,并整理表格如表1所示;步骤11:编写比较逻辑,期望测试数据输出为tdo_exp,在非观测tck周期内,赋tdo_exp为1’bx;每个观测tck周期内当tdo与tdo_exp不匹配时,比较结果compare为1,否则compare为0;32位信号compare_count记录compare为1的周期数,即从测试开始的匹配失败次数;按上述步骤编写tb文件进行仿真验证后,其关键信号波形如图12所示;其中两对scan_out_sel、group1_bscan_in_sel信号分别为两个芯粒中新增的配置寄存器,state信号指示当前tap _fsm工作的状态。
37.从图中可以观测到双芯粒的新增配置寄存器被成功赋值为4’b1001,同时相较标准测试流程未增加测试周期。
[0038][0039]
本发明所述的快速配置寄存器方法,可以兼容标准测试(即默认测试方法,配置寄存器全为0)以及优化后测试(即增加的配置寄存器所控制的测试);在配置寄存器全为0的默认测试方法中,当首次配置或前一次配置为全0时,无论配置寄存器链的长度,和标准测试相同,无需增加配置周期,大多数情况下,标准测试中这一过程周期数为4,按原有的状态转移过程输入0即可。
[0040]
在优化后测试中,当配置寄存器链长度大于4,即默认的配置周期不足时,经过上述的分析,本发明提出增加必经且可自循环的run-test/idle状态,使配置周期长度足以配置配置寄存器链。
[0041]
以配置寄存器链长为6为例,实际编写测试向量时,如步骤3、步骤6、步骤8、步骤9,在每次优化测试的测试移位前,增加run-test/idle状态,使配置周期为update-ir/update-dr
ꢀ‑
》run-test/idle
ꢀ‑
》run-test/idle
ꢀ‑
》run-test/idle
ꢀ‑
》select-dr
ꢀ‑
》capture-dr六个周期,对配置寄存器进行配置以完成优化测试。
[0042]
在多芯粒场景下,由于配置寄存器存在连接情况,同时为不增加额外的端口,本发明中仍使不同芯粒的配置寄存器链通过tdo相连;为满足不同芯粒的配置寄存器链间连接传输移位的需要,提出通过状态机state信号,生成tdo_sel信号,在其有效时,使tdo来源于配置寄存器链输出。
[0043]
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。

技术特征:
1.一种基于标准状态机功能扩展的快速配置寄存器方法,其特征在于,包括如下步骤:步骤1:在定义的配置周期内从tdi端口输入3’b000对状态机进行默认配置;步骤2:将指令寄存器配置为双芯粒工作状态,输入8位指令,即在shift-ir状态下从tdi端口输入8’b10101000;步骤3:进行扫描链的配置,配置寄存器链长为4;输入4位配置信号,即在update-dr、run-test/idle、select-dr、capture-dr四个状态下从tdi端口输入4’b1001进行配置;步骤4:输入测试数据,对左侧芯粒chiplet0的扫描链和右侧芯粒chiplet1的互连输出引脚进行全0信号赋值;其中有24个信号为低有效使能信号;步骤5:全0信号赋值经过capture-shift-update即csu周期后,测试数据通过互连线从互连的芯粒chiplet0或chiplet1的output引脚赋值到芯粒chiplet1或chiplet0的input引脚,此时扫描链上存储有792位全0数据;步骤6:此时第一次移位赋值更新结束,为保持下一次移位赋值的互连测试状态,在两次移位赋值中经过配置状态时,继续从tdi端口输入4’b1001进行配置;步骤7:从tdi端口输入792位测试数据,其中使能信号位赋0,以移出步骤5存储的792位全0数据;此时检验测试数据输出tdo的值是否为步骤5赋值更新后的全0数据;步骤8:数据双向update后,为保持下一次移位赋值的互连测试状态,在两次移位赋值中经过配置状态时,从tdi端口输入4’b1001进行配置,随后从tdi端口输入792位测试向量以移出步骤7存储并update后的792位数据,输入与步骤7的赋值奇偶相反的向量,并检验测试数据输出tdo的值;步骤9:数据双向update后,在下一次进入移位赋值状态之前,在最后四个配置状态,即update-dr、run-test/idle、select-dr和capture-dr四个状态,从tdi端口输入4’b1001进行配置,以保持互连测试状态,随后从tdi端口输入588位全0测试向量,以移出右侧芯粒chiplet1的扫描链以及左侧芯粒chiplet0的互连输入引脚的边界扫描单元存储值;并检验测试数据输出tdo的值;步骤10:编写比较逻辑,期望测试数据输出为tdo_exp,在非观测tck周期内,赋tdo_exp为1’bx;每个观测tck周期内当tdo与tdo_exp不匹配时,比较结果compare为1,否则compare为0;32位信号compare_count记录compare为1的周期数,即从测试开始的匹配失败次数。2.如权利要求1所述的一种基于标准状态机功能扩展的快速配置寄存器方法,其特征在于,将标准tap状态机,划分为可配置状态和不可配置状态;其中capture-dr、update-dr、update-ir、run-test/idle和select-dr五个状态划分为可配置状态,其余状态为不可配置状态。3.如权利要求1所述的一种基于标准状态机功能扩展的快速配置寄存器方法,其特征在于,所述芯粒chiplet0和芯粒chiplet1为两个相同的768引脚芯粒,其中384引脚为input,384引脚为output;两个芯粒通过192个input引脚和192个output引脚互相通信。4.如权利要求3所述的一种基于标准状态机功能扩展的快速配置寄存器方法,其特征在于,每个芯粒内配置寄存器链长为2,通过左侧芯粒chiplet0和右侧芯粒chiplet1互连,使其芯片的配置寄存器链长为4。5.如权利要求1-4任一项所述的一种基于标准状态机功能扩展的快速配置寄存器方法,其特征在于:
假设配置寄存器链长度为n,正常的两次移位赋值操作时,从update-ir/update-dr到capture-dr需经过4个周期,若测试电路此时工作在配置寄存器控制的某个状态,则需要通过增加run-test/idle状态数来调整状态机中配置状态周期数为n个周期;若测试电路工作在无需配置寄存器控制的标准状态,对应为配置寄存器全0的默认状态,由于寄存器初始值为0,首次配置全0或前一次配置为全0时,不需要增加状态机配置状态的周期数,仍使配置状态的周期数为4即可。6.如权利要求5所述的一种基于标准状态机功能扩展的快速配置寄存器方法,其特征在于:在需要增加配置状态周期数时,若此时需要6个配置周期,则应在update-ir/update-dr
ꢀ‑
>run-test/idle
ꢀ‑
>run-test/idle
ꢀ‑
>run-test/idle
ꢀ‑
>select-dr
ꢀ‑
>capture-dr六个周期中完成配置。

技术总结
本发明涉及超大规模数字集成电路测试领域,具体涉及一种基于标准状态机功能扩展的快速配置寄存器方法。包括如下步骤:步骤1:从TDI端口输入3’b000对状态机进行默认状态配置;步骤2:将指令寄存器配置为双芯粒工作状态,输入8位指令,即在Shift-IR状态下从TDI端口输入8’b10101000;步骤3:进行扫描链的配置,配置寄存器链长为4;输入4位配置信号,即在Update-IR、Run-Test/Idle、Select-DR、Capture-DR四个状态下从TDI端口输入4’b1001进行配置;步骤4:输入测试数据,对对应芯粒引脚的边界扫描单元进行赋值移位更新,验证扫描输出TDO是否与期望值TDO_EXP一致;本发明方法在大部分应用场景中都具有配置时间较短的优势,且硬件开销小、配置时间短。配置时间短。配置时间短。


技术研发人员:魏敬和 章震 殷誉嘉 刘国柱 何健 高营 滕浩然
受保护的技术使用者:中国电子科技集团公司第五十八研究所
技术研发日:2023.07.19
技术公布日:2023/8/16
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐