CN107066232B - 半导体设备及其操作方法 - Google Patents

半导体设备及其操作方法 Download PDF

Info

Publication number
CN107066232B
CN107066232B CN201710073120.8A CN201710073120A CN107066232B CN 107066232 B CN107066232 B CN 107066232B CN 201710073120 A CN201710073120 A CN 201710073120A CN 107066232 B CN107066232 B CN 107066232B
Authority
CN
China
Prior art keywords
transaction
packets
information
request
counter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710073120.8A
Other languages
English (en)
Other versions
CN107066232A (zh
Inventor
尹栽根
赵成旻
赵胤校
金秉珍
姜东秀
成洛熙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN107066232A publication Critical patent/CN107066232A/zh
Application granted granted Critical
Publication of CN107066232B publication Critical patent/CN107066232B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/08Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供一种半导体设备及其操作方法。一种半导体设备的操作方法,包括:监视在主设备和从设备之间所传送的多个请求分组和多个响应分组;从多个请求分组当中检测与期望的识别(ID)信息匹配的目标请求分组;通过使用事件计数器对包括目标请求分组的事务的事件的数量进行计数;通过使用多未决(MO)计数器对多个请求分组当中的、其相对应的响应分组尚待检测的请求分组的数量进行计数;确定MO计数器的MO计数值是否有效;以及如果MO计数值无效,则重置事件计数器。

Description

半导体设备及其操作方法
该申请要求于2016年2月11在韩国知识产权局(KIPO)提交的第10-2016-0015470号韩国专利申请的优先权,该韩国专利申请的公开内容通过引用整体并入于此。
背景技术
示例实施例中的至少一些涉及一种半导体设备和/或其操作方法。
技术领域
片上系统(SoC)使得能够使用高性能片上互联(OCI)来在各种知识产权(IP)块之间进行数据传输。OCI可以在各个IP块和/或设备等之间——例如在任意的主设备和从设备之间——传送多个事务(transaction)。可以针对例如执行调试(debug)、服务质量(QoS)控制或者追踪由用户定义的特定事件的发生的目的,通过监视设备来监视在主设备和从设备之间所形成的信道。
发明内容
本公开的至少一个示例实施例提供一种半导体设备的操作方法,用于校正在片上系统(SoC)的主设备和从设备之间所形成的信道中的事件发生值。
本公开的至少一个示例实施例还提供一种半导体设备,用于校正在SoC的主设备和从设备之间所形成的信道中的事件发生值。
然而,本公开的各个示例实施例不限于在本文阐述的那些。通过参考以下给出的本公开的详细描述,本公开的以上和其他示例实施例对本公开所属领域的普通技术人员将变得更加明显。
根据本公开的至少一个示例实施例,提供一种半导体设备的操作方法,该方法包括:监视在至少一个主设备和至少一个从设备之间所传送的多个请求分组和多个响应分组;从多个请求分组当中检测与期望的识别(ID)信息匹配的目标请求分组;使用事件计数器、基于检测到的目标请求分组对事务的事件的数量进行计数;使用多未决(multipleoutstanding,MO)计数器对多个请求分组当中的、其相对应的响应分组尚未被检测到的请求分组的数量进行计数;确定MO计数器的MO计数值是否有效;以及如果MO计数值无效,则重置事件计数器。
根据本公开的至少一个其他示例实施例,提供一种半导体设备的操作方法,该方法包括:监视在第一知识产权(IP)块和第二IP块之间的多个请求分组和多个响应分组,该第一IP块和第二IP块被包括在片上系统(SoC)中;接收期望的第一ID信息和期望的第二ID信息;使用事件计数器对来自与第一ID信息匹配的多个请求分组和多个响应分组的第一事务的事件的数量进行计数;使用事件计数器对来自与第二ID信息匹配的多个请求分组和多个响应分组的第二事务的事件的数量进行计数;通过使用MO计数器对多个请求分组当中的、其相对应的响应分组尚未被检测到的未决的请求分组的数量进行计数;确定MO计数器的MO计数值是否有效;以及如果MO计数值无效,则重置事件计数器。
根据本公开的至少一个示例实施例,提供一种半导体设备,该半导体设备包括:事件监视器,被配置为从在至少一个主设备和至少一个从设备之间所传送的多个请求分组当中检测与期望的ID信息匹配的目标请求分组;事件计数器,被配置为对包括目标请求分组的事务的事件的数量进行计数;MO计数器,被配置为对多个请求分组当中的、其相对应的响应分组尚未被检测到的请求分组的数量进行计数;以及事件值检查器,被配置为确定MO计数器的MO计数值是否有效。
根据本公开的至少一个示例实施例,提供一种监视半导体设备的信道的方法,该方法包括:对半导体设备的信道上的分组传输进行采样,该分组传输包括多个请求分组和多个响应分组;基于期望的事务ID检测来自所采样的多个请求分组的请求分组与目标请求分组是否匹配;基于期望的事务ID检测来自所采样的多个响应分组的响应分组与目标响应分组是否匹配;基于请求分组的检测和响应分组的检测来更新所完成的事务事件的数量的计数;确定所完成的事务事件的数量的计数是否有效;以及基于确定的结果向调试目的地输出事务事件的数量的计数。
根据以下详细描述、附图和权利要求,其他特征和方面将是明显的。
附图说明
通过参考附图详细地描述其各个示例实施例,本发明构思的以上及其他方面和特征将变得更加明显,在附图中,贯穿不同的视图,相同的附图标记指代相同的部件。附图不必按比例,相反,当示出本发明构思的原理时,对其施加强调。在附图中:
图1是根据本公开的至少一个示例实施例的半导体设备的示意性框图。
图2是用于解释如何对在根据图1的至少一个示例实施例的半导体设备的主设备和从设备之间所形成的信道中的事件进行计数的定时图。
图3是根据图1的至少一个示例实施例的半导体设备的监视设备的示意性框图。
图4和图5是根据本公开的一些示例实施例的、用于解释半导体设备的操作方法的定时图。
图6是示出根据图4和图5的示例实施例的操作方法的流程图。
图7是根据本公开的一些示例实施例的半导体设备和/或半导体设备的操作方法可适用的半导体系统的框图。
图8至图10是示出根据本公开的一些示例实施例的半导体设备和/或半导体设备的操作方法可适用的示例半导体系统的示意图。
具体实施方式
将参考附图对各个示例实施例详细地进行描述。然而,本发明构思可以被具体化为各种不同的形式,并且不应当被解释为仅限于所示出的示例实施例。相反,这些示例实施例被提供为示例,使得本公开将是充分的和完全的,并且将向本领域技术人员完整地传达本发明构思的概念。因此,关于在本发明构思的示例实施例中的一些并未描述已知的处理、要素和技术。除非另外地说明,否则贯穿附图和所撰写的说明书,相同的附图标记表示相同的要素,并且因此将不重复描述。在附图中,可以为了清楚而夸大层和区域的大小和相对大小。
除非另外地定义,否则在本文使用的所有术语(包括技术术语和科学术语)具有如本发明构思所属领域的普通技术人员所共同理解的相同的意义。将进一步理解,诸如那些在通用词典中定义的术语应该被解释为具有与它们在相关技术和/或本说明书的上下文中的意义相一致的意义,并且将不以理想化或过于正式的含义被解释,除非在本文明确地如此定义。
通过参考各个示例实施例的以下详细描述和附图,可以更容易地理解本公开的优点和特征以及实现其的方法。
图1是根据至少一个示例实施例的半导体设备的示意性框图。
参考图1,半导体设备100包括一个或多个知识产权(IP)块110和112以及监视设备200。在一些示例实施例中,半导体设备100可以进一步包括存储器控制器114,并且存储器控制器114也可以被实施为IP块。
半导体设备100是包括计算机和/或处理元件——诸如处理单元、控制器、接口、存储器等——的集成电路(IC)。例如,半导体设备100可以包括片上系统(SoC)。计算机和/或处理元件可以被实施为IP块。IP块110和112的示例可以包括中央处理单元(CPU)和图形处理单元(GPU),但是示例实施例不限于此。
IP块110和112以及存储器控制器114可以被实施在单个硅管芯上,并且可以经由片上互联(OCI)130与彼此交换数据,但是不限于此。存储器控制器114可以控制至少一个存储器设备300。
监视设备200监视(例如,分析、观察、检验等)在经由OCI 130来彼此交换数据和/或消息的IP块110和112与存储器控制器114之间的事务。通过监视经由OCI 130交换的数据和/或消息,可以调试在IP块110和112与存储器控制器114之间所形成的信道,可以控制服务质量(QoS)和/或可以追踪由用户定义的特定事件(例如,期望的事件)的发生。
监视设备200可以在半导体设备100中的任何期望的位置处执行事务监视。如图1中所示,监视设备200可以监视与IP块110相关联的事务和/或与IP块112相关联的事务。然而,监视设备200执行事务监视的位置不限于图1中所示的那些位置,并且依赖于半导体设备100的期望和/或预定的使用——诸如监视可以被包括在半导体设备100中的存储器控制器、存储器设备、其他IP块、计算机元件、处理元件、单元等的事务——可以包括半导体设备100内部的各种其他任意的位置。
事务包括请求分组和响应分组。例如,在该示例中,读取事务和写入事务可以发生在操作为主设备的IP块110与操作为从设备的存储器控制器114之间。更具体地,对于读取事务,响应于IP块110向存储器控制器114传送读取请求分组以发起该事务,存储器控制器114可以作为对读取请求分组的响应向IP块110传送读取响应分组以完成该事务。
在半导体设备100中建立多个主/从关系和/或将多个任务分配给单个主/从关系的情况下,可以由监视设备200在半导体设备100中监视多个事务。在这种情况下,可以在IP块110(例如,主设备)和存储器控制器114(例如,从设备)之间传送多个请求分组和多个响应分组。
在一些示例实施例中,多个请求分组和多个响应分组中的每个可以包括识别(ID)信息。更具体地,多个请求分组和多个响应分组中的每个可以包括可以用于唯一地识别每个事务的事务ID信息和事务属性信息中的至少一个。例如,事务ID信息可以包括用于识别分组、主设备和/或从设备(例如,用于数据、消息和/或事务的源和/或目的地信息)的唯一ID信息,并且事务属性信息可以包括与事务有关的附加的信息,诸如突发长度属性信息、高速缓存窥探类型属性信息等。如果存在多个事务,则可以使用事务ID信息和事务属性信息来识别多个事务中的每个。
图2是用于解释如何对在根据诸如图1的示例实施例的一些示例实施例的半导体设备的主设备和从设备之间所形成的信道中的事件进行计数的定时图。
更具体地,图2示出通过使用监视设备200在半导体设备100中的期望的位置处执行事务监视的结果。以在主设备和从设备之间所形成的信道中发生的事件作为示例,将参考图2在下文描述延迟计数,但是示例实施例不限于此。
参考图2,分别在时间t0、t1和t2处顺序地检测到具有为0、1和0的事务ID的三个请求分组。在时间t7处,检测到与在时间t1处检测到的、具有为1的事务ID的请求分组相对应的响应分组。额外地,在时间t9和t11处,分别地检测到与在时间t0和t2处检测到的、具有为0的事务ID的请求分组相对应的响应分组。
当检测到多个响应分组时,根据如图2中示出的至少一个示例实施例,如果多个响应分组与具有不同的事务ID的请求分组相对应,则多个响应分组可以通过其相应的事务ID来识别。另一方面,检测到对于具有相同的事务ID的请求分组的响应分组的次序遵循(例如,匹配和/或对应于)检测到具有相同的事务ID的请求分组的次序。也就是说,检测到对于在时间t0和t2处检测到的、具有为0的事务ID的请求分组的响应分组(例如,在时间t9和t11处的响应分组)的次序遵循(例如,匹配和/或对应于)检测到相对应的请求分组的次序。因此,即使对于具有相同的事务ID的请求分组的响应分组也可以适当地识别。
除了检测在主设备和从设备之间传送的分组的次序之外,半导体设备100可以额外地对尚待检测的请求分组的请求分组的数量进行计数。图2示出根据至少一个示例实施例的、用于目标事务ID为0的情况的多未决(MO)计数值以及用于目标事务ID为1的情况的MO计数值,但是不限于此。
例如,在目标事务ID为0的情况下,当在时间t0处检测到具有为0的事务ID的请求分组时,MO计数值递增1至值1,并且当在时间t2处检测到具有为0的事务ID的请求分组时,MO计数值再次递增1至值2。换句话说,MO计数值被递增针对每个期望的事务ID由监视设备200所检测到的请求分组的数量。然后,在时间t9处检测到具有为0的事务ID的响应分组时,MO计数值降低1至值1,并且在时间t11处检测到具有为0的事务ID的响应分组时,MO计数值再次降低1至值0。换句话说,MO计数值被递减针对每个期望的事务ID由监视设备200所检测到的响应分组的数量。
在另一个示例中,在目标事务ID为1的情况下,当在时间t1处检测到具有为1的事务ID的请求分组时,MO计数值增加1至值1,并且当在时间t7处检测到具有为1的事务ID的响应分组时,MO计数值降低1至值0。
为了计算MO计数值,根据至少一个示例实施例,半导体设备100可以使用稍后将参考图3描述的MO计数器。
对于调试在半导体设备100中所形成的信道和/或控制QoS,延迟测量是有用的(和/或是需要的)。可以通过测量响应于在主设备和从设备之间所形成的信道中的请求分组生成响应分组所花费的时间量来测量延迟。从监视设备200的角度,可以通过测量检测到请求分组传输与检测到响应于请求分组的响应分组之间的时间量来测量延迟。测量的时间可以被确定为信道、事务事件和/或主设备与从设备的延迟。
例如,根据图2中所示的示例,包括在时间t0处检测到的、具有为0的事务ID的请求分组的事务的延迟可以被测量为10,其为从时间t0(例如,由监视设备200检测到具有为0的事务ID的请求分组的时间)到时间t9(例如,由监视设备200检测到对于具有为0的事务ID的请求分组的响应分组的时间)的时间量。类似地,包括在时间t1处检测到的、具有为1事务的ID的请求分组的事务的延迟可以被测量为7,其为从时间t1(例如,由监视设备200检测到具有为1的事务ID的请求分组的时间)到时间t7(例如,由监视设备200检测到对于具有为1的事务ID的请求分组的响应分组的时间)的时间量。延迟测量可以被输出和/或被传送到一个或多个目的地以用于进一步处理,诸如对半导体设备100的调试和/或QoS控制。
如上所述,如果在半导体设备100中所形成的信道中执行多个事务并且在关于特定事务ID追踪事件的发生的中间目标事务ID改变,则事件的发生可能未被精确地(和/或适当地)追踪。例如,如果在追踪与为1的事务ID相对应的事件的发生时目标事务ID从1改变为0,则存在无效的值可以被设置为延迟计数值——诸如MO计数值和/或事件计数值——的风险。
图3是根据诸如图1的示例实施例的一些示例实施例的半导体设备的监视设备的示意性框图。
参考图3,监视设备200包括事件监视器210、事件计数器220和/或事件值检查器230,但是不限于此。例如,尽管未在图3中具体地示出,但是监视设备200可以进一步包括MO计数器等。
根据至少一个示例实施例,事件监视器210从在主设备与从设备、主设备与多个从设备、多个主设备与从设备、多个主设备与多个从设备等之间的信道上所传送的多个请求分组当中检测与期望的(或者替选地,预定义的)ID信息匹配的目标请求分组。事件监视器210可以对在主设备(一个或多个)和从设备(一个或多个)之间的信道上所传送的其他事务当中的、与期望的和/或预定义的ID信息匹配的事务执行事件计数。
尽管未在图3中具体地示出,但是在一些示例实施例中,半导体设备100可以进一步包括配置模块,其从监视设备200外部接收期望的和/或预定义的ID信息并且向事件监视器210提供期望的和/或预定义的ID信息。在一些示例实施例中,监视在半导体设备100中所形成的信道上所传送的其他事务当中的、仅与期望的和/或预定义的ID信息匹配的事务,并且期望的和/或预定义的ID信息可以是由用户或应用预先(或实时)配置的并且从监视设备200或半导体设备100外部接收到的ID信息。然而,本公开不限于这些示例实施例。也就是说,可以将期望的和/或预定义的ID信息存储在监视设备200和/或半导体设备100中的特定IP块中。
在一些示例实施例中,由配置模块提供的期望的和/或预定义的ID信息可以包括事务ID信息、事务属性信息、事务数据值等中的至少一个。例如,事务ID信息可以包括用于识别事务分组、源设备(例如,主设备)和/或目的地设备(例如,从设备)的唯一ID信息;事务属性信息可以包括与事务有关的属性信息,诸如突发长度属性信息、高速缓存窥探类型属性信息等;以及事务数据值可以包括与事务相关联的数据(例如,所请求的数据等)。
事件计数器220对包括期望的事件(诸如目标请求分组的传输)的事务的事件的数量进行计数。在一些示例实施例中,在其中在主设备和从设备之间的信道中发生的事件的计数被设置为延迟计数的情况下,事件计数器220也可以操作为延迟计数器。事件计数器220将事件计数的结果(例如,事件计数器220的输出)输出和/或传送至一个或多个目的地以用于进一步处理,诸如对半导体设备100的调试和/或QoS控制。事件计数器的输出可以在目的地处用于性能评估、响应测试、装备性能验证、软件程序性能验证等,该目的地可以是CPU或其他本地处理设备,或者与操作系统、可编程逻辑单元、调试软件、QoS软件、编译器、运行时间执行环境、测试平台等连接的联网设备。
MO计数器对未决的相对应的事件——诸如与目标请求分组的传输相对应的请求分组的传输——的数量进行计数。例如,MO计数器可以对多个请求分组当中的、作为对于其响应分组尚待检测的请求分组的未决的请求分组的数量进行计数,但是示例实施例不限于此。
事件值检查器230确定MO计数器的计数值——即,MO计数值——是否有效,以下详细地描述证实(validation)过程。额外地,如果确定MO计数值无效,则事件值检查器230向MO计数器传送重置信号。另外,如果MO计数值无效,则事件值检查器230向事件计数器220传送重置信号。
图4和图5是根据本公开的至少一个示例实施例的、用于解释半导体设备的操作方法的定时图。
在图4中,假定存在由监视设备200监视的在主设备与从设备之间的信道。在图4的第一时段I期间,在时间t0至时间t2的时段之间,目标事务ID为0。在图4的第二时段II期间,在时间t3至时间t8的时段之间,目标事务ID为1。例如,假定在图4中,在关于为0的目标事务ID执行监视的过程中,监视设备200从IP块110(例如CPU)接收将目标事务ID从0改变为1的指令。
在一些示例实施例中,主设备可以对应于在SoC中提供的第一IP块,而从设备可以对应于在同一SoC中提供的第二IP块,但是示例实施例不限于此。
因为在时间t0和t1处检测到的请求分组的事务ID为1,所以从事件计数中排除在时间t0和t1处检测到的请求分组。另一方面,因为在时间t2处检测到的请求分组的事务ID为0,所以在时间t2处检测到的请求分组经受事件计数(例如,被包括在事件计数中)。
因为在图4中的第二时段II中目标事务ID改变为1,所以从事件计数中排除在时间t3处检测到的目标分组(例如,具有为0的事务ID的分组)。响应于在时间t7处检测到具有为1的事务ID的响应分组,MO计数值降低1至0,并且响应于在时间t8处检测到具有为1的事务ID的另一个响应分组,MO计数值再次降低1至-1。MO计数值表示作为对于其响应分组尚待检测的请求分组的未决的请求分组的数量。因此,在该情形中,负MO计数值被事件值检查器230确定为无效。另外,为5的事件计数值也可以被事件值检查器230确定为无效。
参考图5,根据至少一个示例实施例,在检测到无效MO计数值和无效事件计数值时,校正MO计数器的计数值和事件计数器220的计数值。
更具体地,事件值检查器230确定MO计数器的计数值——即,MO计数值——是否有效。如果事件值检查器230确定MO计数值无效,例如,如果MO计数值为负,则事件值检查器230向MO计数器传送重置信号。额外地,如果MO计数值无效,则事件值检查器230也可以确定事件计数器220的计数值——即,事件计数值——也无效,并且因此还向事件计数器220传送重置信号。
例如,关于图5,在时间t8之后,MO计数值和事件计数值两者被初始化为0。因为在图5的第二时段II期间目标事务ID为1,所以忽略在时间t11和t12处检测到的响应分组,这是因为该响应分组的事务ID为0并且因此与当前的和/或期望的目标事务ID不相关和/或不对应。额外地,在时间t13和t14处检测到的请求分组被计入(例如,使MO计数器和事件计数器递增),这是因为与那些请求分组相对应的事务ID对应于当前的和/或期望的目标事务ID。
以这样的方式,如果由于在主设备和从设备之间的信道中执行事件计数的过程中目标事务ID改变而生成无效数据,可以简单地通过重置监视设备200的MO计数器和事件计数器220,而不是重置整个监视设备200和/或丢弃无效数据来快速地获取有效数据。另外,从用户的角度,可以使用此方法获取有效数据,而不导致任何无效数据被输出的风险。
另外,能够定制和/或配置将经受事件计数(和/或为事件计数选择的)目标事务,并且因此,可以针对每个独立的应用环境以适当定制的方式执行诸如调试和QoS控制的任务。例如通过设置用于识别特定设备的ID值作为用于事件计数的目标事务ID,可以仅对具有用户期望的事务ID(一个或多个)的一个或多个事务执行事件计数,而同时忽略与用户无关的、不期望的和/或不需要的事务。作为示例,用户可以期望以片上互联级别来监视特定IP块、特定处理单元、特定SoC组件之间的事务和/或涉及特定软件程序、功能、类、API等的事务,并且可以利用示例实施例中的至少一个来这样做。
图6是示出根据图4和图5的至少一个示例实施例的操作方法的流程图。
参考图6,根据至少一个示例实施例的操作方法包括监视在主设备和从设备之间传送的多个请求分组和多个响应分组。然而,示例实施例不限于此,并且可以涉及主设备和从设备的任何组合。
在S501,对多个请求分组和多个响应分组的采样进行初始化。更具体地,从多个请求分组当中检测到与期望的和/或预定义的事务ID信息匹配的目标请求分组,并且执行事件计数,直到检测到对于目标请求分组的目标响应分组为止。
在S503,在执行事件计数时关于MO计数器的MO计数值是否有效做出确定。如果MO计数值有效,则进一步继续事件计数(S507)。
如果MO计数值无效,则重置MO计数器和事件计数器220以及任何延迟测量(S505),并且再次执行采样(S501)。
在一些示例实施例中,在主设备和从设备之间的信道中发生的事件的计数被测量为延迟计数的情况下,在性能评估、响应测试、装备性能验证、软件程序性能验证等方面,基于多个延迟值所计算的平均延迟和峰值延迟可以用于执行诸如对半导体设备100的调试和/或QoS控制的任务。
即使在该情况下,如果由于在主设备和从设备之间的信道中执行事件计数的过程中目标事务ID改变而生成无效数据,则可以简单地通过重置监视设备200的MO计数器和事件计数器220,而不是重置整个监视设备200和/或丢弃无效数据来快速地获取有效数据。另外,从用户的角度,可以在没有任何无效数据被输出的风险的情况下获取特定有效数据。
另外,可以定制将经受事件计数的目标事务,并且因此,可以针对各种独立的应用环境来以适当地定制的和/或配置的方式执行诸如调试和/或QoS控制的任务。例如通过设置用于识别特定设备、特定软件程序等的ID值作为用于事件计数的目标事务ID,可以仅对具有用户期望的事务ID的事务执行事件计数。
图7是根据本公开的一些示例实施例的半导体设备和/或半导体设备的操作方法可适用的半导体系统的框图。
参考图7,半导体系统1100可以包括控制器1110、输入/输出(I/O)设备1120、存储器设备1130、接口1140和总线1150。控制器1110、I/O设备1120、存储器设备1130和/或接口1140可以经由总线1150连接到彼此。总线1150可以是经由其传送数据的路径。
控制器1110可以包括执行与微处理器、数字信号处理器或微控制器类似的功能的微处理器、数字信号处理器、微控制器和/或逻辑元件中的至少一个。I/O设备1120的示例包括键区、键盘、显示设备等。存储器设备1130可以存储数据和/或命令。接口1140将数据传送到通信网络或从通信网络接收数据。接口1140可以是有线接口或无线接口。接口1140的示例包括天线、有线收发器或无线收发器等。
尽管未具体地示出,但是半导体系统1100还可以包括用于改善控制器1110的操作的操作存储器,诸如高速动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)。
可以在存储器设备1130内部提供根据本公开的一些示例实施例的半导体设备,或可以将其作为控制器1110或I/O设备1120的一部分来提供。
半导体系统1110可以适用于个人数字助理(PDA)、个人计算机、便携式计算机、web平板设备、无线电话、智能电话、移动电话、数字音乐播放器、存储卡或能够在有线环境和/或无线环境中传送和/或接收信息的任何类型的电子产品。
图8至图10是示出根据本公开的一些示例实施例的半导体设备和半导体设备的操作方法可适用的各种示例半导体系统的示意图。
更具体地,图8示出平板式PC 1200,图9示出笔记本式计算机1300以及图10示出智能电话1400。可以在平板式PC 1200、笔记本式计算机1300以及智能电话1400中使用根据本公开的一些示例实施例的至少一个半导体设备,但是示例实施例不限于此。
例如,还可以在除了在本文阐述的那些之外的各种IC设备中使用根据本公开的一些示例实施例的半导体设备。
也就是说,尽管平板式PC 1200、笔记本式计算机1300和智能电话1400已经在本文被描述为半导体系统的示例,但是本公开不限于此。
在一些示例实施例中,半导体系统也可以被提供为个人计算机(PC)、超级移动PC(UMPC)、工作站、上网本式计算机、PDA、便携式计算机、无线电话、移动式电话、电子图书(电子书)、便携式多媒体播放器(PMP)、游戏控制台、便携式游戏控制台、个人导航设备、黑盒子、数码相机、三维(3D)电视机、数字录音机、数字音频播放器、数字图像记录器、数字图像播放器、数字视频记录器、数字视频播放器、虚拟现实(VR)设备、增强现实(AR)设备、智能设备、可穿戴设备、物联网(IoT)设备等。
应当理解,在本文描述的示例性实施例应当仅以描述性的意义而非限制的目的来考虑。在根据示例实施例的每个设备或方法内的特征或方面的描述通常应当被认为可用于根据示例实施例的其他设备或方法中的其他类似的特征或方面。尽管已经具体地示出和描述了一些示例实施例,但是本领域普通技术人员将理解的是,可以在不背离权利要求的精神和范围的情况下在其中在形式上和细节上进行变化。
如在本发明构思的领域中传统的那样,在功能块、单元和/或模块方面,描述了并且在附图中示出了各种示例实施例。那些本领域技术人员将理解,通过可以使用基于半导体的制造技术或其他制造技术形成的、诸如逻辑电路、分立组件、微处理器、硬连线电路、存储器元件、有线连接等的电子(或光学)电路来物理地实施这些块、单元和/或模块。在块、单元和/或模块通过微处理器或类似的处理设备来实施的情况下,它们可以使用软件(例如,微指令)被编程以执行在本文讨论的各种功能,并且可以可选地由固件和/或软件驱动,由此将微处理器或类似的处理设备转变为专用处理器。另外地,每个块、单元和/或模块可以通过专用硬件来实施,或可以被实施为执行一些功能的专用硬件以及执行其他功能的处理器(例如,一个或多个编程的微处理器和相关联的电路)的组合。另外,在不背离本发明构思的范围的情况下,示例实施例的每个块、单元和/或模块可以被物理地分离为两个或更多个交互并且分立的块、单元和/或模块。此外,在不背离本发明构思的范围的情况下,示例实施例的块、单元和/或模块可以被物理地组合为更复杂的块、单元和/或模块。

Claims (20)

1.一种半导体设备的操作方法,包括:
监视在至少一个主设备和至少一个从设备之间所传送的多个请求分组和多个响应分组,其中至少一个主设备和至少一个从设备被包括在所述半导体设备中;
从多个请求分组当中检测与期望的识别ID信息匹配的目标请求分组;
使用事件计数器基于检测到的目标请求分组对事务的事件的数量进行计数;
使用多未决MO计数器对多个请求分组当中的、其相对应的响应分组尚未被检测到的请求分组的数量进行计数;
确定MO计数器的MO计数值是否有效;以及
如果MO计数值无效,则重置事件计数器。
2.根据权利要求1所述的操作方法,其中,重置事件计数器包括重置MO计数器。
3.根据权利要求1所述的操作方法,其中,期望的ID信息包括事务ID信息和事务属性信息中的至少一个。
4.根据权利要求3所述的操作方法,其中,事务ID信息包括用于识别至少一个主设备或至少一个从设备的唯一ID信息。
5.根据权利要求3所述的操作方法,其中,事务属性信息包括突发长度属性信息和高速缓存窥探类型属性信息中的至少一个。
6.根据权利要求1所述的操作方法,其中:
所述半导体设备还包括片上系统SoC,至少一个主设备是在SoC中提供的知识产权IP块;并且
至少一个主设备和至少一个从设备经由片上互联OCI来交换多个请求分组和多个响应分组。
7.根据权利要求6所述的操作方法,进一步包括:
接收期望的ID信息,该期望的ID信息由用户或者SoC外部的应用来设置。
8.根据权利要求1所述的操作方法,进一步包括:
获取第一事务的第一延迟值和第二事务的第二延迟值,第二事务与第一事务不同;以及
基于第一延迟值和第二延迟值来计算平均延迟和峰值延迟。
9.根据权利要求8所述的操作方法,进一步包括:
通过使用平均延迟和峰值延迟来调试至少一个主设备和至少一个从设备之间的信道。
10.根据权利要求9所述的操作方法,进一步包括:
基于平均延迟和峰值延迟来控制信道的服务质量QoS。
11.一种半导体设备的操作方法,其中所述半导体设备包括片上系统SoC,所述操作方法包括:
监视在第一知识产权IP块和第二IP块之间的多个请求分组和多个响应分组,第一IP块和第二IP块被包括在SoC中;
接收期望的第一识别ID信息和期望的第二ID信息;
使用事件计数器对来自与第一ID信息匹配的多个请求分组和多个响应分组的第一事务的事件的数量进行计数;
使用事件计数器对来自与第二ID信息匹配的多个请求分组和多个响应分组的第二事务的事件的数量进行计数;
通过使用多未决MO计数器对多个请求分组当中的、其相对应的响应分组尚未被检测到的未决的请求分组的数量进行计数;
确定MO计数器的MO计数值是否有效;以及
如果MO计数值无效,则重置事件计数器。
12.根据权利要求11所述的操作方法,其中,重置事件计数器包括重置MO计数器。
13.根据权利要求11所述的操作方法,其中,期望的ID信息包括事务ID信息和事务属性信息中的至少一个。
14.根据权利要求13所述的操作方法,其中,事务ID信息包括用于识别第一IP块或第二IP块的唯一ID信息。
15.根据权利要求13所述的操作方法,其中,事务属性信息包括突发长度属性信息和高速缓存窥探类型属性信息中的至少一个。
16.一种监视半导体设备的信道的方法,包括:
对半导体设备的信道上分组传输进行采样,该分组传输包括多个请求分组和多个响应分组;
基于期望的事务ID检测来自所采样的多个请求分组的请求分组与目标请求分组是否匹配;
基于期望的事务ID检测来自所采样的多个响应分组的响应分组与目标响应分组是否匹配;
基于请求分组的检测和响应分组的检测来更新所完成的事务事件的数量的计数;
确定所完成的事务事件的数量的计数是否有效;以及
基于确定的结果向调试目的地输出事务事件的数量的计数。
17.根据权利要求16所述的方法,其中
该确定包括:如果计数大于或等于0,则确定事务事件的数量的计数有效;并且
该输出包括:如果所完成的事务事件的数量的计数无效,则重置所完成的事务事件的数量的计数。
18.根据权利要求16所述的方法,其中
信道至少包括第一知识产权IP块和第二IP块;并且
该采样包括监视在第一IP块和第二IP块之间的分组传输。
19.根据权利要求16所述的方法,进一步包括:
测量在检测到与目标请求分组匹配的请求分组和检测到与目标响应分组匹配的响应分组之间的时间;以及
基于测量的时间来确定与信道相关联的延迟。
20.根据权利要求19所述的方法,其中
该输出包括:如果所完成的事务事件的数量的计数无效,则重置所完成的事务事件的数量的计数和延迟测量。
CN201710073120.8A 2016-02-11 2017-02-10 半导体设备及其操作方法 Active CN107066232B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0015470 2016-02-11
KR1020160015470A KR102440948B1 (ko) 2016-02-11 2016-02-11 반도체 장치 및 반도체 장치의 동작 방법

Publications (2)

Publication Number Publication Date
CN107066232A CN107066232A (zh) 2017-08-18
CN107066232B true CN107066232B (zh) 2023-07-25

Family

ID=59561853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710073120.8A Active CN107066232B (zh) 2016-02-11 2017-02-10 半导体设备及其操作方法

Country Status (4)

Country Link
US (4) US10680923B2 (zh)
KR (1) KR102440948B1 (zh)
CN (1) CN107066232B (zh)
TW (1) TWI644213B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102510900B1 (ko) * 2016-02-04 2023-03-15 삼성전자주식회사 반도체 장치 및 반도체 장치의 동작 방법
KR102440948B1 (ko) * 2016-02-11 2022-09-05 삼성전자주식회사 반도체 장치 및 반도체 장치의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104025549A (zh) * 2012-12-18 2014-09-03 英特尔公司 与服务器事务延迟信息相关的技术

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100191318B1 (ko) * 1996-03-26 1999-06-15 윤종용 고속의 동벡터 복호회로
US6636488B1 (en) * 2000-10-11 2003-10-21 Aperto Networks, Inc. Automatic retransmission and error recovery for packet oriented point-to-multipoint communication
JP4445160B2 (ja) 2001-05-18 2010-04-07 富士通株式会社 イベント計測装置および方法並びにイベント計測プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体並びにプロセッサシステム
US7444679B2 (en) * 2001-10-31 2008-10-28 Hewlett-Packard Development Company, L.P. Network, method and computer readable medium for distributing security updates to select nodes on a network
US7039010B2 (en) * 2002-03-06 2006-05-02 Broadcom Corporation Optimized data path structure for multi-channel management information base (MIB) event generation
DE60223806T2 (de) * 2002-09-16 2008-10-30 Agilent Technologies, Inc. - a Delaware Corporation -, Santa Clara Messung von Netzwerkparametern wie sie von nicht künstlichem Netzwerkverkehr wahrgenommen werden
US6937961B2 (en) * 2002-09-26 2005-08-30 Freescale Semiconductor, Inc. Performance monitor and method therefor
JP4102163B2 (ja) * 2002-11-11 2008-06-18 日本政策投資銀行 Catv伝送路監視装置、方法及びプログラム
US7188219B2 (en) * 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7565580B2 (en) * 2005-08-10 2009-07-21 Qlogic, Corporation Method and system for testing network device logic
US7548964B2 (en) * 2005-10-11 2009-06-16 International Business Machines Corporation Performance counters for virtualized network interfaces of communications networks
US7809009B2 (en) * 2006-02-21 2010-10-05 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
JP4284332B2 (ja) 2006-04-21 2009-06-24 株式会社東芝 パフォーマンスモニタ装置、データ収集方法及びそのプログラム
US7650322B2 (en) * 2006-10-23 2010-01-19 Analog Devices, Inc. Method and apparatus for mapping the primary operational sequences of an algorithm in a compute unit having an internal random access memory
US8041901B2 (en) 2007-03-05 2011-10-18 Freescale Semiconductor, Inc. Performance monitoring device and method thereof
US8179872B2 (en) * 2007-05-09 2012-05-15 Research In Motion Limited Wireless router system and method
JP2009059122A (ja) * 2007-08-31 2009-03-19 Renesas Technology Corp データ処理システム
JP5119994B2 (ja) 2008-03-14 2013-01-16 富士通株式会社 性能モニタリングプログラム、性能モニタリング方法、性能モニタリング装置
US8346509B2 (en) 2009-04-08 2013-01-01 Intel Corporation Context switch sampling
US20120227045A1 (en) * 2009-12-26 2012-09-06 Knauth Laura A Method, apparatus, and system for speculative execution event counter checkpointing and restoring
US10169187B2 (en) 2010-08-18 2019-01-01 International Business Machines Corporation Processor core having a saturating event counter for making performance measurements
KR101855399B1 (ko) * 2011-03-24 2018-05-09 삼성전자주식회사 데이터 트래픽을 개선한 SoC 및 이의 동작 방법
KR101842245B1 (ko) * 2011-07-25 2018-03-26 삼성전자주식회사 시스템 온 칩 버스 장치 및 그에 따른 루트 클럭 게이팅 방법
EP2621092A1 (en) * 2012-01-27 2013-07-31 Imec Method for Viterbi decoder implementation
KR101949382B1 (ko) * 2012-04-04 2019-02-18 삼성전자주식회사 서비스 품질의 향상을 위한 시스템 온 칩 및 시스템 온 칩의 제어 방법
JP5962359B2 (ja) 2012-09-10 2016-08-03 富士通株式会社 プロセッサおよびプロセッサの評価方法
US8789006B2 (en) * 2012-11-01 2014-07-22 Nvidia Corporation System, method, and computer program product for testing an integrated circuit from a command line
KR20140066914A (ko) * 2012-11-23 2014-06-03 삼성전자주식회사 퍼포먼스 측정 유닛, 이를 포함하는 프로세서 코어 및 프로세스 프로파일링 방법
GB2519350A (en) * 2013-10-18 2015-04-22 St Microelectronics Grenoble 2 Method and apparatus for supporting reprogramming or reconfiguring
KR102160251B1 (ko) * 2013-10-23 2020-09-25 삼성전자주식회사 복수의 프로세서들을 병렬적으로 이용하여 시뮬레이션을 수행하는 방법 및 장치
US9836400B2 (en) * 2013-10-31 2017-12-05 Intel Corporation Method, apparatus and system for dynamically controlling an addressing mode for a cache memory
US9298620B2 (en) * 2013-11-25 2016-03-29 Apple Inc. Selective victimization in a multi-level cache hierarchy
US20150170238A1 (en) * 2013-12-18 2015-06-18 Joseph O'Malley Computerized retail exchange system and method
KR102440948B1 (ko) * 2016-02-11 2022-09-05 삼성전자주식회사 반도체 장치 및 반도체 장치의 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104025549A (zh) * 2012-12-18 2014-09-03 英特尔公司 与服务器事务延迟信息相关的技术

Also Published As

Publication number Publication date
US20220272013A1 (en) 2022-08-25
US10680923B2 (en) 2020-06-09
KR102440948B1 (ko) 2022-09-05
KR20170094579A (ko) 2017-08-21
US11349738B2 (en) 2022-05-31
TW201734817A (zh) 2017-10-01
US20200296020A1 (en) 2020-09-17
CN107066232A (zh) 2017-08-18
US20230269157A1 (en) 2023-08-24
US11652718B2 (en) 2023-05-16
TWI644213B (zh) 2018-12-11
US20170237636A1 (en) 2017-08-17

Similar Documents

Publication Publication Date Title
US20230269157A1 (en) Semiconductor device and operating method thereof
US10289779B2 (en) Universal verification methodology (UVM) register abstraction layer (RAL) traffic predictor
US10564855B2 (en) Semiconductor device and operating method thereof
JP2009157928A (ja) 相互接続アーキテクチャの状態カバレッジの測定方法
US10853289B2 (en) System, apparatus and method for hardware-based bi-directional communication via reliable high performance half-duplex link
WO2013181690A1 (en) Synchronisation of a system of distributed computers
CN111858439A (zh) 用于多种通信业务的共享的资源
US20130290594A1 (en) Core-driven translation and loopback test
CN105531964A (zh) 链接伙伴之间的备用巷道的协调
US10530562B2 (en) Correlating local time counts of first and second integrated circuits
US9166773B2 (en) System timing margin improvement of high speed I/O interconnect links by using fine training of phase interpolator
EP2704363A2 (en) Transmitting device, transceiver system, and control method
TWI695176B (zh) 基於協定之自動化測試器刺激產生器
US8745455B2 (en) Providing an on-die logic analyzer (ODLA) having reduced communications
US20140180662A1 (en) Radio frequency communication simulation
US10146714B1 (en) Method and system for synchronizing transaction streams of a partial sequence of transactions through master-slave interfaces
JP2015121531A (ja) トレース情報とセンサ・データをリンク付けするためのシステムおよび方法
Zhezlov et al. Analysis of performance bottlenecks in SoC interconnect subsystems
CN116880963B (zh) 用于检测多个硬件仿真工具之间的连接错误的方法
CN116266163A (zh) 数据传输的检测方法、装置和电子设备
CN114443400A (zh) 信号测试方法、装置、片上系统、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant