公开/公告号CN112559275A
专利类型发明专利
公开/公告日2021-03-26
原文格式PDF
申请/专利权人 中国银联股份有限公司;
申请/专利号CN202010934303.6
申请日2020-09-08
分类号G06F11/263(20060101);G06F11/273(20060101);G06F13/40(20060101);G06F13/42(20060101);
代理机构72001 中国专利代理(香港)有限公司;
代理人李湘;姜冰
地址 200135 上海市浦东新区含笑路36号银联大厦
入库时间 2023-06-19 10:24:22
技术领域
本发明涉及半导体技术,特别涉及用于维护调试集成电路的方法和接口电路,以及包含上述接口电路的集成电路和实施上述方法的计算机可读存储介质。
背景技术
在芯片设计领域,为了提高可调试性和可维护性,通常将维护调试功能(模块)与芯片的内部单元集成在一起,并通过特定的接口引脚实现片外设备与片内功能的交互访问。
当前芯片设计中应用较多的维护调试技术主要包括JTAG接口类维护调试技术、SPI接口类维护调试技术、UART接口类维护调试技术以及用户自定义接口类维护调试技术等,它们所采用的协议、处理逻辑复杂度以及芯片的引脚数量各不相同。借助这些维护调试技术,用户可完成芯片状态查询、诊断错误和调试分析等工作。
然而上述维护调试技术的协议处理逻辑比较复杂,测试信号易受干扰且占用的芯片引脚数较多,因而不利于降低成本(包括晶片生产成本、封装成本及板卡成本),而且信号易受干扰也影响了芯片长期稳定的运行。
例如以JTAG类维护接口为例,其在兼容JTAG协议的基础上可通过增加JTAG命令和寄存器扫描链来提供用户自定义的维护扩展功能。虽然其功能灵活,但是处理逻辑较为复杂,接口的引脚数量也较多,特别是对于小型芯片来说,实现代价偏高。又如SPI内维护接口,其同样需占用较多的引脚资源并且控制逻辑复杂。而UART接口虽然能够减少引脚数量,但是协议仍然比较复杂,而且通信稳定性也较差。
由上可见,需要提供一种能够解决上述问题的用于维护调试集成电路的方案。
发明内容
本发明的一个目的是提供一种用于维护调试集成电路的方法、接口电路、包含上述接口电路的集成电路和实施上述方法的计算机可读存储介质,其能够降低维护调试的复杂性和成本。
按照本发明一个方面的用于维护调试集成电路的接口电路包含:
接口模块,配置为经I
与接口模块和集成电路内部单元耦合的处理模块,配置为响应于所述维护调试请求,对所述集成电路内部单元执行读取操作以获取所述集成电路内部单元的状态信息,以及对所述集成电路内部单元执行写入操作以改变所述集成电路内部单元的状态,
其中,所述维护调试请求和维护调试响应消息被包含在I
按照本发明另一个方面的集成电路包括:
用于实现一种或多种功能的内部单元;以及
用于维护调试所述集成电路的接口单元,其特征在于,所述接口单元包含:
接口模块,配置为经I
与接口模块和所述内部单元耦合的处理模块,配置为响应于所述维护调试请求,对所述内部单元执行读取操作以获取所述内部单元的状态信息,以及对所述内部单元执行写入操作以改变所述内部单元的状态,
其中,所述维护调试请求和维护调试响应消息被包含在I
按照本发明另一个方面的用于维护调试集成电路的方法包含:
a)经I
b)基于所述维护调试请求中包含的操作参数对集成电路内部单元执行读取操作或写入操作;
c)生成维护调试响应消息;以及
d)经所述I
其中,所述维护调试请求和维护调试响应消息被包含在I
按照本发明还有一个方面的计算机可读存储介质,其上存储计算机程序,其中,该程序被处理器执行时实现如上所述的方法。
与现有技术相比,本发明的一个或多个实施例的至少具有下列优点:
·能够减少用于维护调试的芯片引脚数量(仅占用2个引脚),节约逻辑资源,并且缩小芯片的封装尺寸。
·降低芯片板卡集成的复杂度和成本,并提高芯片运行稳定性。
·由于I
·与JTAG协议和SPI协议相比,I
·由于具备对集成电路内部状态和寄存器的读写功能,因此大大方便了芯片运行状态下的问题诊断分析。
附图说明
本发明的上述和/或其它方面和优点将通过以下结合附图的各个方面的描述变得更加清晰和更容易理解,附图中相同或相似的单元采用相同的标号表示。附图包括:
图1为按照本发明一个实施例的用于维护调试集成电路的接口电路的示意框图。
图2为维护调试协议帧与I
图3示出了维护调试写入请求帧的格式。
图4示出了维护调试读取请求帧的格式。
图5示出了用于承载维护调试响应消息的维护调试响应消息帧的格式。
图6示出了图3和4所示维护调试请求帧中的命令字节的格式。
图7示出了接口电路的状态寄存器各字节的定义。
图8示出了在维护调试过程中读取操作和写入操作所访问地址的格式。
图9为图1所示接口电路的电路模块示意图。
图10为第一控制模块的状态控制与转换示意图。
图11为I
图12为图9中的移位寄存器的示例性结构的示意图。
图13为第二控制模块的状态控制与转换示意图。
图14为按照本发明另一个实施例的集成电路的示意框图。
图15为按照本发明另一个实施例的用于维护调试集成电路的方法的流程图。
具体实施方式
下面参照其中图示了本发明示意性实施例的附图更为全面地说明本发明。但本发明可以按不同形式来实现,而不应解读为仅限于本文给出的各实施例。给出的上述各实施例旨在使本文的披露全面完整,以将本发明的保护范围更为全面地传达给本领域技术人员。
在本说明书中,诸如“包含”和“包括”之类的用语表示除了具有在说明书和权利要求书中有直接和明确表述的单元和步骤以外,本发明的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。
诸如“第一”和“第二”之类的用语并不表示单元在时间、空间、大小等方面的顺序而仅仅是作区分各单元之用。
在本说明书中,术语“芯片”和“集成电路”可以互换使用,它们泛指能够实现一种或多种功能(例如计算、存储、选择和比较等)的微型电子器件或部件。
在本说明书中,术语“内部单元”泛指集成电路中除用于维护调试集成电路的接口电路以外、能够实现特定功能的电路单元。
图1为按照本发明一个实施例的用于维护调试集成电路的接口电路的示意框图。
如图1所示,接口电路10包括接口模块110和处理模块120,其中,接口模块110被接入I
在图1所示的接口电路中,接口模块110被配置为经I
可选地,接口模块110可支持I
处理模块120被配置为调取操作参数,基于操作参数对集成电路的内部单元30执行相应的读取操作以获取内部单元30的状态信息或对内部单元30执行写入操作以改变内部单元的状态,以及向接口模块110返回操作结果(例如所获取的状态信息)。
优选地,处理模块120按照总线方式主动发起对具有总线地址的内部单元30的读写操作(例如作为高级外围总线(APB)协议的主设备)。
为了提高性能指标,集成电路普遍采用多电源域、多时钟域、不同功能模块(IP)集成等设计技术,并且为了提高芯片使用的灵活性与可靠性,片内通常配备用于控制各部分上电、复位、时钟(PLL设置与升频)以及初始化过程的控制寄存器与状态寄存器。在本实施例中,优选地,处理模块120具有对诸如全局控制寄存器、全局状态寄存器和全局数据寄存器之类的全局寄存器(在本说明书中,全局寄存器也被视为一种集成电路内部单元)执行读写操作的能力,从而实现对集成电路内部单元的上电、复位、时钟以及初始化流程进行控制和监测,并且在正常运行或发生异常时也能借助接口电路进行分析和诊断。
此外,可选地,处理模块120还可以IRQ中断方式向集成电路核心逻辑反馈接口电路的状态信息。
需要指出的是,I
由于无需改变I
优选地,维护调试请求和维护调试响应消息可以依照下面将要详细描述的维护调试协议来生成维护调试请求帧和维护调试响应消息帧(以下统称为维护调试协议帧)。
图2为维护调试协议帧与I
在图2所示的示例中,I
可选地,维护调试协议可以从以下几个方面进行定义。但是需要指出的是,下面所描述的维护调试协议仅仅是示例性的,按照本发明的用于维护调试集成电路的方法、接口电路和包含该接口电路的集成电路的实施并不局限于特定结构或格式的协议。
·维护调试操作类型的定义
表1示出了维护调试操作类型的定义。
表1
·读取操作和写入操作可寻址的地址空间的分配
表2定义了在维护调试过程中读取操作和写入操作可寻址的集成电路内部单元的地址空间。
表2
·维护调试请求帧的格式
用于承载维护调试请求的维护调试请求帧包括维护调试写入请求帧和维护调试读取请求帧,图3和4分别示出了维护调试写入请求帧和维护调试读取请求帧的格式。
·维护调试响应消息帧的格式
图5示出了用于承载维护调试响应消息的维护调试响应消息帧的格式。
·命令字节的格式
图6示出了图3和4所示维护调试请求帧中的命令字节的格式。
·状态寄存器
图7示出了接口电路的状态寄存器各字节的定义。I
·地址格式
图8示出了在维护调试过程中读取操作和写入操作所访问地址的格式。
由上面关于维护调试协议的描述可见,维护调试协议不改变I
在本实施例中,优选地,接口模块110包含移位寄存器(例如宽移位寄存器),其配置为存储接口模块110所提取的操作参数以供处理模块120执行相应的读写操作之用,此外,该移位寄存器还配置为存储处理模块120所获取的内部单元30的状态信息以供生成维护调试响应消息之用。由于仅利用一个移位寄存器即可满足操作参数和状态信息的临时存储需要,因此简化了接口电路的结构并降低了制造成本。
图9为图1所示接口电路的电路模块示意图。
如图9所示,接口模块110包括第一控制模块1101、起始/停止及SCL检测模块1102、移位寄存器1103、地址比较模块1104及I
表3为第一控制模块1101的各个控制状态的描述。
表3
图10为第一控制模块的状态控制与转换示意图。
第一控制模块1101被接入I
以可支持的最高总线传输速率为400Kbps为例,在I
通过在每个I
起始/停止及SCL检测模块1102与第一控制模块1101和I
如上所述,I
移位寄存器1103与第一控制模块1101、处理模块120中的各个寄存器和I
为了支持基于I
地址比较模块1104与第一控制模块1101和移位寄存器1103耦合。第一控制模块1101将来自主机的I
处理模块120包括第二控制模块1201、寄存器组1202和总线接口模块1203,其中,第二控制模块1201与总线接口模块1203耦合,寄存器组1202中的各个寄存器例如以总线方式与移位寄存器1103耦合,其还例如以总线方式与第二控制模块1201耦合。此外,寄存器组1202中的状态寄存器1202A、控制寄存器1202B、地址寄存器1202C和数据寄存器1202D例如以总线方式与总线接口模块1203耦合。
在第二控制模块1201的控制下,总线接口模块1203基于控制寄存器1202B、地址寄存器1202C和数据寄存器1202D的寄存器值对内部单元30执行相应的读取操作或写入操作,并且将获取自内部单元30的状态信息写入数据寄存器1202D中。
可选地,总线接口模块1203可以为基于高级外围总线(APB)协议的接口模块,总线地址基于高级微控制器总线架构(AMBA)协议。可选地,总线接口模块1203能够以多个地址访问粒度(例如8位、16位及32位)对集成电路内部单元执行读写操作。
可选地,第二控制模块1201能够对全局控制寄存器执行读取操作和写入操作并且对全局状态寄存器执行读取操作。
参见图9,状态寄存器1202A与I
表4为第二控制模块1201的各个控制状态的描述。
表4
图13为第二控制模块的状态控制与转换示意图。
如图13所示,第二控制模块1201在集成电路上电复位后进入IDEAL状态,等待来自接口模块110的操作请求(包括操作命令(类型)、读取/写入地址或写入数据)。如果操作请求为APB总线读写请求,则第二控制模块1201命令总线接口模块1203将操作请求转换为APB总线的读/写周期,从而实现对APB地址空间的读/写访问;如果为全局寄存器读写请求,则第二控制模块1203命令例如配置寄存器1202E或状态寄存器1202F执行单拍的寄存器读写操作。
寄存器组1202包括状态寄存器1202A、控制寄存器1202B、地址寄存器1202C、数据寄存器1202D、配置寄存器1202E和状态寄存器1202F。状态寄存器1202A被配置为存储总线接口的当前操作状态和操作结果,控制寄存器1202B被配置为存储诸如读取命令或写入命令之类的操作参数,地址寄存器1202C被配置为存储诸如读取地址或写入地址之类的操作参数,数据寄存器1202D被配置为在读取操作时存储状态信息以及在写入操作时存储写入数据,配置寄存器1202E被配置为存储写入集成电路内部的全局寄存器的寄存器值,状态寄存器1202F被配置为存储从集成电路内部的全局寄存器读取的寄存器值。如图9所示,寄存器组1202中的各个寄存器以总线方式与移位寄存器1103耦合,使得维护调试请求中的操作参数能够被写入相应的寄存器内,并且所获取的内部单元的状态信息能够写入移位寄存器以用于维护调试响应消息的生成。
总线接口模块1203以总线方式与集成电路内部单元耦合,并且还与第二控制模块1201以及寄存器组1202中的部分寄存器耦合。在第二控制模块1201的控制下,对于读取操作,总线接口模块1203基于控制寄存器1202B和地址寄存器1202C中的寄存器值,将接口模块110发送的APB读取请求转换为APB总线读操作周期,并将APB总线上返回的读取数据写入数据寄存器1202D;对于写入操作,总线接口模块1203基于控制寄存器1202B、地址寄存器1202C及数据寄存器1202D中的寄存器值,将接口模块110发送的APB写请求转换为APB总线写操作周期,以将数据写入相应的地址。
图14为按照本发明另一个实施例的集成电路的示意框图。
如图14所示的集成电路1包括内部单元1A和用于维护调试的接口电路1B。在本实施例中,集成电路例如为SOC集成电路或ASIC集成电路,而接口电路1B可具有上面借助图1-13所述的实施例的各种结构和特征,此处不再赘述。
图15为按照本发明另一个实施例的用于维护调试集成电路的方法的流程图。在下面的描述中,示例性地但非必须地,所述方法步骤被应用于借助图1-13所述的接口电路和借助图14所述的集成电路。
如图15所示,在步骤1501,接口模块110经I
随后进入步骤1502,地址比较模块1102基于I
在步骤1503,在第一控制模块1101的控制下,操作参数被写入移位寄存器1103以供处理模块120执行读取操作或写入操作之用。
随后进入步骤1505,处理模块120基于移位寄存器1103中所存储的操作参数对集成电路内部单元30执行相应的读取操作或写入操作。如上所述,集成电路的内部单元30被分配相应的总线地址,因此总线接口模块1203能够按照总线方式执行相应的读取操作或写入操作。在本步骤中,对于读取操作,获取自内部单元30的状态信息被存储在移位寄存器1103内。
接着进入步骤1506,接口模块110生成维护调试响应消息。维护调试响应消息包含读取操作和写入操作的执行结果。例如对于读取操作,维护调试响应消息可包含内部单元30的状态信息(如果读取操作成功)或操作失败的指示;对于写入操作,维护调试响应消息可包含关于写入操作成功或失败的指示。
随后进入步骤1507,接口模块110经I
回到步骤1502的另一个分支步骤1504,在该步骤中,第一状态控制机模块1101使接口模块110进入IDEAL状态。
可选地,图15所示的方法流程还可进一步包含步骤1508,在该步骤中,处理模块120通过IRQ中断方式向集成电路的内部单元30报告发生异常情况的事件,例如处理模块或接口模块发生异常情况的事件。
在本实施例中,步骤1508的执行可独立于其它步骤,因此可与步骤1501-1507中的任何一个步骤同时执行,或者可在步骤1501-1507中的任何一个步骤之前或之后执行。
按照本发明的另一方面,还提供了一种计算机可读存储介质,其上存储计算机程序,该程序被处理器执行时可实现上面借助图15所述的用于维护调试集成电路的方法步骤。
提供本文中提出的实施例和示例,以便最好地说明按照本技术及其特定应用的实施例,并且由此使本领域的技术人员能够实施和使用本发明。但是,本领域的技术人员将会知道,仅为了便于说明和举例而提供以上描述和示例。所提出的描述不是意在涵盖本发明的各个方面或者将本发明局限于所公开的精确形式。
鉴于以上所述,本公开的范围通过以下权利要求书来确定。
机译: 用于集成电路的电压接口电路和用于连接集成电路的方法
机译: 用于集成电路的电压接口电路以及用于将电压与集成电路接口的方法
机译: 用于半导体集成电路的操作和调试系统的方法,半导体集成电路