CN109408431B - 半导体装置和用于剖析半导体装置中的事件的方法 - Google Patents
半导体装置和用于剖析半导体装置中的事件的方法 Download PDFInfo
- Publication number
- CN109408431B CN109408431B CN201810940324.1A CN201810940324A CN109408431B CN 109408431 B CN109408431 B CN 109408431B CN 201810940324 A CN201810940324 A CN 201810940324A CN 109408431 B CN109408431 B CN 109408431B
- Authority
- CN
- China
- Prior art keywords
- data stream
- captured
- period
- semiconductor device
- serial data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M9/00—Parallel/series conversion or vice versa
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
- Noodles (AREA)
- Mechanical Treatment Of Semiconductor (AREA)
- Bipolar Transistors (AREA)
Abstract
本申请公开了一种半导体装置和剖析半导体装置中的事件的方法。所述半导体装置包括:第一串行化器,其构造为收集第一域中的至少一个事件,以产生第一串行数据流,并以第一周期周期性地发送第一串行数据流;第一解串行化器,其构造为接收第一串行数据流,以将第一串行数据流恢复为第一并行数据流,第一并行数据流对第一并行数据项编码;定时器,其构造为提供具有第二周期的时钟信号;直接存储器存取(DMA),其构造为利用时钟信号以第二周期周期性地捕获第一并行数据项,以产生捕获数据项;以及第一存储器,其构造为存储捕获数据项。存储捕获数据项的第一存储器的地址按照对应的捕获数据项被捕获的次序排列。
Description
相关申请的交叉引用
本申请要求于2017年8月17日在韩国知识产权局提交的韩国专利申请No.10-2017-0103989的优先权,该申请的公开以引用方式全文并入本文中。
技术领域
本发明构思涉及半导体装置和/或用于剖析半导体装置中的事件的方法。
背景技术
按照传统,软件被用来剖析芯片中的事件。在现有的使用软件的剖析方案中,可将软件改变为用于剖析的调试模式或可启用软件剖析器。因此,剖析运行中的事件会很难,而剖析只在软件改变了操作之后才进行。
此外,使用软件的剖析方案检查软件的状态,而不是硬件的状态,因此监控硬件事件会很难。当监视不同的软件结构的不同事件时,在改变调试选项的同时执行多次剖析会不便。这种情况下,所提取的数据项会具有不同周期,因此分析系统芯片(SOC)的操作会很难。
发明内容
本发明构思的一些示例实施例提供了一种通过利用硬件构造能够容易地剖析芯片中的事件的半导体装置。
本发明构思的一些示例实施例还提供了一种通过利用硬件构造容易地剖析半导体装置中的事件的方法。
应该注意,本发明构思的目的不限于上述目的,并且根据以下描述,本发明构思的其它目的对于本领域技术人员而言将会显而易见。
根据本发明构思的示例实施例,提供了一种半导体装置,该半导体装置包括:第一串行化器,其构造为收集第一域中的至少一个事件,以产生第一串行数据流,并以第一周期周期性地发送第一串行数据流;第一解串行化器,其构造为接收第一串行数据流,以将第一串行数据流恢复为第一并行数据流,第一并行数据流对第一并行数据项编码;定时器,其构造为提供具有第二周期的时钟信号;直接存储器存取(DMA),其构造为利用时钟信号以第二周期周期性地捕获第一并行数据项,以产生捕获数据项;以及第一存储器,其被构造为存储捕获数据项。存储捕获数据项的第一存储器的地址按照对应的捕获数据项被捕获的次序排列。
根据本发明构思的示例实施例,提供了一种半导体装置,该半导体装置包括:第一串行化器,其构造为收集第一域中的事件,以产生第一串行数据流并以第一周期周期性地发送第一串行数据流;第一解串行化器,其构造为接收第一串行数据流,以将第一串行数据流恢复为第一并行数据流;第二串行化器,其构造为收集第二域中的事件,以产生第二串行数据流并以第二周期周期性地发送第二串行数据流;第二解串行化器,其构造为接收第二串行数据流,以将第二串行数据流恢复为第二并行数据流;第一存储器,其构造为将第一并行数据流和第二并行数据流存储为集成的数据;定时器,其构造为确定捕获频率;直接内存存取(DMA),其构造为按照捕获频率根据集成的数据产生捕获数据项,其中,捕获数据项包括按照数据项被捕获的次序的第一捕获数据项至第n捕获数据项;以及第二存储器,其构造为分别在第一地址至第n地址存储第一捕获数据项至第n捕获数据项。第一地址至第n地址按照数据项被捕获的次序排列。
根据本发明构思的示例实施例,提供了一种剖析半导体装置中的事件的方法,所述方法包括以下步骤:收集第一域中的事件,以产生第一串行数据流;以第一周期周期性地更新第一串行数据流;将第一串行数据流转换为第一并行数据流,以产生恢复的数据;以第二周期周期性地捕获恢复的数据,以产生捕获数据项;以及存储捕获数据项。捕获数据项分别被存储在按照数据项被捕获的次序排列的地址。
附图说明
通过参照附图详细描述本发明构思的示例实施例,本发明构思的以上和其它方面和特征将变得更清楚,附图中:
图1是示出根据本发明构思的一些示例实施例的半导体装置的框图;
图2是详细示出图1的串行化器和解串行化器的操作的时序图;
图3是概念性地示出通过图1的解串行化器恢复的并行数据的示图;
图4是示出存储在图1的第二存储器中的捕获数据的地址的示图;
图5是示出根据本发明构思的一些示例实施例的半导体装置的框图;
图6是详细示出图5的串行化器和解串行化器的操作的时序图;
图7是用于示出根据本发明构思的一些示例实施例的通过半导体装置剖析事件的方法的流程图;
图8是示出图7的读捕获数据的曲线图;以及
图9是用于示出根据本发明构思的一些示例实施例的通过半导体装置剖析事件的方法的流程图。
具体实施方式
下文中,将参照图1至图4描述根据本发明构思的一些示例实施例的半导体装置。
图1是示出根据本发明构思的一些示例实施例的半导体装置的框图。图2是详细示出图1的串行化器和解串行化器的操作的时序图。图3是概念性地示出通过图1的解串行化器恢复的并行数据的示图。图4是示出存储在图1的第二存储器中的捕获数据项的地址的示图。
参照图1,根据本发明构思的一些示例实施例的半导体装置包括第一事件池100、第一串行化器210、第一解串行化器220、第一布线230、第一存储器300、直接存储器存取(DMA)400、定时器410、第二存储器500和总线接口600。
第一事件池100可指可能发生事件的半导体装置的所有空间。例如,在第一事件池100中可包括CPU、存储器或一些知识产权块(IP)。换句话说,第一事件池100可指可能发生事件的半导体装置的虚拟位置。
第一事件池100可包括至少一个事件。第一事件池100可包括第一时钟选通状态101、第一功率选通状态102和第一动态电压和频率调节(DVFS)状态103。这仅是示出性的,而不旨在限制本发明构思的范围。
第一时钟选通状态101的数量可为最大,第一功率选通状态102的数量可为第二大,并且第一DVFS状态103的数量可为最小。所述数量不限于此。
第一串行化器210可从第一事件池100收集各种事件。事件可包括上述第一时钟选通状态101、第一功率选通状态102和第一DVFS状态103中的至少一个。
第一串行化器210可将收集的事件转换为一个串行数据流。也就是说,通过第一串行化器210收集的第一时钟选通状态101、第一功率选通状态102和第一DVFS状态103可采用并行数据流的形式。每个并行数据流可具有不同周期,并且可彼此不同步。
第一串行化器210可将并行数据流转换为单个串行数据流,并且可将串行数据流发送至第一解串行化器220。当发送并行数据流时,需要与并行数据流的行数相同数量的布线。然而,当发送串行数据流时,仅需要一条布线。
因此,第一串行化器210可经第一布线230将串行数据流发送至第一解串行化器220。第一布线230可具有单个路径。
第一解串行化器220可从第一串行化器210接收串行数据流。由于第一解串行化器220经第一布线230连接至第一串行化器210,因此第一解串行化器22可经第一布线230连续地接收一个输入。
参照图2,当第一串行化器210从空闲状态IDLE进入开始状态START时,第一串行化器210可将数据发送至第一解串行化器220。在开始状态START中可在有效数据之前发送伪数据,以进行同步。在移位状态SHIFT中,可在伪数据之后连续地发送有效数据。
接着,在停止状态STOP中,数据传输可中断,然后再次进入空闲状态IDLE。可重复在空闲状态IDLE之前的状态作为第一周期P1。例如,从一个开始状态START至另一个开始状态START的周期可被定义为第一周期P1,并且可重复,即,周期性地重复。
相似地,当数据被发送时,第一解串行化器220从空闲状态IDLE进入开始状态START,并且可接收伪数据并对数据进行识别。在识别数据时,第一解串行化器220可从有效数据开始的位置进行识别。
返回参照图1,第一串行化器210可以第一周期P1周期性地更新(即,发送)串行数据。在每个第一周期P1,第一解串行化器220可接收串行数据。
通过将第一串行化器210与第一解串行化器220组合,可减少使用不必要的布线。例如,根据本发明构思的一些示例实施例的半导体装置可通过尽可能少地使用硬件规范来执行事件剖析。
第一解串行化器220可将接收到的串行数据流恢复为原始的并行数据流。第一解串行化器220可将恢复的并行数据流存储在第一存储器300中。
图3示出了存储在第一存储器300中的并行数据流的示例。并行数据流可具有包括IP状态、CPU状态等的不同类型的事件。这种并行数据流彼此并不同步,因此可为具有不同周期的离散数据流的简单集合。
第一存储器300可临时存储并行数据流。例如,第一存储器300可为或可包括倒装芯片和静态随机存取存储器(SRAM)中的至少一个,然而,本发明构思不限于此。
返回参照图1,DMA 400可取回存储在第一存储器300中的并行数据流。DMA 400可随时间捕获并行数据流。如本文所述,操作“捕获”是指将特定时间点的数据按原样进行日志处理。各个事件随时间改变,并且并行数据流存储所有这些改变。相反,“捕获的”数据不存储随时间的改变,而是可仅包含在其被捕获的时间点的数据。
例如,DMA 400可在图3的第一时间点T1至第九时间点T9执行捕获。第一时间点T1至第九时间点T9可以相等的间隔排列。所述相等的间隔可为捕获周期Pe,并且可由定时器410限定。
定时器410可将捕获周期Pe或捕获频率1/Pe提供至DMA 400。捕获周期Pe可增加或减少,例如,可根据期望增加或减少。例如,为了获取更多详细的事件信息,可以更小的捕获周期Pe更加密集地排列第一时间点T1至第九时间点T9。
另一方面,为了获取较小容量的事件信息,可以更大的捕获周期Pe更加稀疏地排列第一时间点T1至第九时间点T9。
参照图3,根据捕获周期Pe,可能存在丢失事件ME。当事件的值在相邻的捕获时间点之间改变和隔离时,发生丢失事件ME。
例如,参照图3的IP状态,在第二时间点T2与第三时间点T3之间存在已改变并且再次改变的值。在第二时间点T2和第三时间点T3捕获的数据不包括这种改变,因此会存在丢失事件ME。
因此,根据本发明构思的一些示例实施例,为了防止或减小丢失事件ME的可能性,可使捕获周期Pe小于事件的周期。
或者,根据本发明构思的一些示例实施例,为了观察较低容量的数据的一般趋势,可使捕获周期Pe较大,而不在意丢失事件ME。
返回参照图1,DMA 400可经总线接口600将捕获数据项存储在第二存储器500中。可在第一时间点T1至第九时间点T9的每一个时间点捕获所述捕获数据项。
第二存储器500可通过DMA 400存储并行数据流。第二存储器500可包括动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和闪速存储器中的至少一个。
第二存储器500可包括保留区域510。在保留区域510中,捕获数据项可通过DMA400存储。保留区域510的大小可等于捕获数据项的大小。例如,可根据捕获数据项的大小和捕获的时间点的数量确定保留区域510的大小。
总线接口600可将DMA 400与第二存储器500连接。总线接口600可不仅被用作DMA400与第二存储器500之间的路径,而且还可在半导体装置中的其它元件之间提供连接,然而,本发明构思不限于此。
按照传统,为了DMA将数据存储在存储器中,除实际数据之外,指示实际数据将被存储在存储器的哪个区域的地址数据为需要或必要的。因此,需要具有比实际数据的容量具有更大容量的数据。
相比之下,根据本发明构思的一些示例实施例的半导体装置的DMA 400可在捕获时间(即,第一时间点T1至第九时间点T9)依次自动存储并行数据流。可将捕获数据项存储在第二存储器500的保留区域510中。
具体地说,参照图4,可将在第一时间点T1捕获的捕获数据项存储在开始地址。接着,可将在第二时间点T2捕获的捕获数据项存储在从开始地址增加0x020的地址(开始地址+0x020)。接着,可将在第三时间点T3捕获的捕获数据项存储在从开始地址增加0x040的地址(开始地址+0x040)。接着,可将在第四时间点T4捕获的捕获数据项存储在从开始地址增加0x060的地址(开始地址+0x060)。接着,可将在第五时间点T5捕获的捕获数据项存储在从开始地址增加0x080的地址(开始地址+0x080)。
因此,分别存储捕获数据项的地址可彼此等距间隔开。另外,可根据第一时间点T1至第九时间点T9按照时间顺序排列这些地址。例如,可将在第一时间点T1与第三时间点T3之间的第二时间点T2捕获的数据存储在在第一时间点T1捕获的数据的存储地址(开始地址)与在第三时间点T3捕获的数据的存储地址(开始地址+0x040)之间的地址(开始地址+0x020)。
尽管在图4中捕获周期Pe为1ms,并且捕获数据项的大小为256比特,但这仅是示出性的,而不旨在限制本发明构思的范围。
如上所述,存储的事件可不包括关于丢失事件ME的信息。因此,即使稍后通过读取第二存储器500的保留区域510,也不能检查关于丢失事件ME的信息。对此,通过减小捕获周期Pe,可防止或减小这种丢失事件ME的发生的可能性。
再参照图1,DMA 400可按次序读取存储在第二存储器500的保留区域510中的捕获数据项。这样,可在硬件中随时间检查事件。
由于根据本发明构思的一些示例实施例的半导体装置可剖析硬件中的事件,因此不需要软件干预。当在软件中执行事件剖析时,仅当软件操作时能够剖析事件。相比之下,根据本发明构思的示例实施例,可在硬件中收集每个事件,而不管软件的操作如何。
另外,软件中的剖析对CPU施加工作负载,这会降低半导体装置的性能和速度。相比之下,根据本发明构思的示例实施例,仅在硬件中剖析事件,因此可降低CPU上的负担。
此外,由于软件中的剖析需要对应类型的事件的驱动,因此使用多个驱动会是必要的。相比之下,根据本发明构思的示例实施例,可仅用捕获数据项来剖析事件。
此外,对于软件的剖析,监视操作本身会导致装置行为的改变,因此直观的事件剖析会是困难的或不可能的。相比之下,根据本发明构思的示例实施例的半导体装置可直接在硬件中剖析事件,从而允许直观的事件剖析。
下文中,将参照图5至图6来描述根据本发明构思的一些示例实施例的半导体装置。将省略对上述相同元件的描述或进行简要描述,以避免冗余。
图5是示出根据本发明构思的一些示例实施例的半导体装置的框图。图6是详细示出图5的串行化器和解串行化器的操作的时序图。
参照图5,根据本发明构思的一些示例实施例的半导体装置可包括第一域D1至第三域D3。
第一域D1可包括第一事件池100、第一串行化器210和第一解串行化器220。第二域D2可包括第二事件池1100、第二串行化器1210和第二解串行化器1220。第三域D3可包括第三事件池2100、第三串行化器2210和第三解串行化器2220。
虽然图5示出了三个域,但是域的数量不限于三个。例如,根据本发明构思的一些示例实施例的半导体装置可包括两个域或者四个或更多个域。例如,半导体装置可包括不止一个域。
第一域D1可具有与以上参照图1描述的构造相似的构造。第二域D2的第二事件池1100可为或可包括与第一事件池100分离的空间。第二事件池1100可为或可包括不通过第一串行化器210收集事件的区域。第二事件池1100可包括第二时钟选通状态1101和第二DVFS状态1102。如图5所示,第二事件池1100可包括与第一事件池100的事件的类型和数量不同类型和数量的事件,然而,本发明构思不限于此。
第二串行化器1210可从第二事件池1100收集各种事件。第二串行化器1210可将收集的并行数据流转换为单个行数据流,并且可将其发送至第二解串行化器1220。第二串行化器1210可经第二布线1230将串行数据流发送至第二解串行化器1220。第二布线1230可具有单个路径。
第三域D3的第三事件池2100可为或可包括与第一事件池100和第二事件池1100分离的空间。第三事件池2100可为或可包括既不通过第一串行化器210收集事件也不通过第二串行化器1210收集事件的区域。第三事件池2100可包括第三时钟选通状态2101。如图5所示,第三事件池1100可包括与第一事件池100和第二事件池1100的事件的类型和数量不同类型和数量的事件,然而,本发明构思不限于此。
第三串行化器2210可从第三事件池2100收集各种事件。第三串行化器2210可将收集的并行数据流转换为单个串行数据流,并且可将其发送至第三解串行化器2220。第三串行化器2210可经第三布线2220将串行数据流发送至第三解串行化器2230。第三布线2230可具有单个路径。
参照图6,第一串行化器210和第一解串行化器220的操作可分别与第二串行化器1210和第二解串行化器1220的操作相似。例如,可通过重复在状态IDLE、START、SHIFT和STOP下的操作执行第一串行化器210和第一解串行化器220的操作以及第二串行化器1210和第二解串行化器1220的操作。
第一串行化器210和第二串行化器1210可以不同周期操作。例如,第一串行化器210可以第一周期P1周期性地发送串行数据流,第二串行化器1210可以第二周期P2周期性地发送串行数据流。
因此,更新第一串行化器210的时间与更新第二串行化器1210的时间可彼此不同步。在根据本发明构思的一些示例实施例的半导体装置中,即使串行化器在不同的域中分开操作而不同步,稍后也可恢复出并行数据流,因此,没必要在串行化器级同步时间。因此,可用更少资源更自由地剖析事件。
再参照图5,第一域D1至第三域D3中的第一串行化器至第三串行化器(210、1210和2210)可以不同周期分别发送串行数据流,并且第一解串行化器至第三解串行化器(220、1220和2220)也可以不同周期接收串行数据流。
第一解串行化器至第三解串行化器(220、1220和2220)可将接收到的串行数据流恢复为并行数据流。此时,第一解串行化器至第三解串行化器(220、1220和2220)可将恢复的并行数据流组合,以产生单个集成的数据。可将该集成的数据存储在第一存储器300中。
DMA 400可根据定时器410提供的捕获周期捕获集成的数据,并且将其存储在第二存储器500中。该情况下,待存储的捕获数据项的地址可根据捕获的时间点的次序按次序排列。
在根据本发明构思的一些示例实施例的半导体装置中,串行化器可在不同域中独立地收集事件。可将域限定为半导体装置的一组相邻的区域,或者可通过连接区域来限定域,以实现最短单个路径。也就是说,可限定域以有效地收集事件,以增大事件剖析的效率。
根据本发明构思的示例实施例,由于域独立地收集事件,因此半导体装置可不要求时钟信号,可不要求为了同步的缓冲时间,并且可不要求为了同步的逻辑模块。因此,可利用较少的资源快速执行事件剖析。
下文中,将参照图1、图3、图4、图7和图8描述根据本发明构思的示例实施例的剖析半导体装置中的事件的方法。将省略对上述相同元件的描述或进行简单描述,以避免冗余。
图7是用于示出根据本发明构思的一些示例实施例的用于剖析半导体装置中的事件的方法的流程图。图8是示出图7的读捕获数据项的曲线图。
开始参照图7,如在步骤S100中,可通过收集事件产生串行数据。
具体地说,参照图1,第一串行化器210可从第一事件池100收集各种事件。事件可包括上述第一时钟选通状态101、第一功率选通状态102和第一DVFS状态103中的至少一个。第一串行化器210可将收集的事件转换为一个串行数据流。
再参照图7,如在步骤S200中,将串行数据转换为并行数据流,以产生恢复的数据。
具体地说,参照图1,第一解串行化器220可将接收到的串行数据流恢复为原始的并行数据流。
再参照图7,如在步骤S300中,产生捕获数据项。
具体地说,参照图1和图3,DMA 400可随时间捕获并行数据流。DMA 400可在例如图3的第一时间点T1至第九时间点T9执行捕获。第一时间点T1至第九时间点T9可等间隔排列。等间隔可为捕获周期Pe,并且可通过定时器410限定。
再参照图7,如在步骤S400中,将捕获数据项按次序存储在对应地址。
具体地说,参照图1和图4,可将在第一时间点T1捕获的捕获数据项存储在开始地址。接着,可将在第二时间点T2捕获的捕获数据项存储在从开始地址加0x020的地址(开始地址+0x020)。接着,可将在第三时间点T3捕获的捕获数据项存储在从开始地址加0x040的地址(开始地址+0x040)。接着,可将在第四时间点T4捕获的捕获数据项存储在从开始地址加0x060的地址(开始地址+0x060)。接着,可将在第五时间点T5捕获的捕获数据项存储在从开始地址加0x080的地址(开始地址+0x080)。
因此,分别存储捕获数据项的地址可彼此等距间隔开。
再参照图7,如在步骤S500中,读取捕获数据项。
具体地说,参照图8,捕获数据项可以像图8所示的曲线图那样通过曲线图表示。捕获数据项也可以以不同的方式表示。捕获数据项的这种表示可以用于监视事件。
下文中,将参照图5、图7和图9描述根据本发明构思的示例实施例的剖析半导体装置中的事件的方法。将省略对上述相同元件的描述或进行简单描述,以避免冗余。
图9是用于示出根据本发明构思的一些示例实施例的通过半导体装置剖析事件的方法的流程图。
参照图9,可在第一域D1和第二域D2中独立地执行操作。将首先描述第一域D1,然后将描述第二域D2。
最初,通过收集事件以产生第一串行数据流(步骤S100a)。
具体地说,参照图5,第一串行化器210收集第一域D1中的事件,以产生第一串行数据流。
再参照图9,如步骤S200a中,将第一串行数据流转换为第一并行数据流。
具体地说,参照图5,第一解串行化器220可将接收到的第一串行数据流转换为第一域D1中的第一并行数据流。
下文中,将描述第二域D2。
再参照图9,收集事件,以产生第二串行数据流(步骤S100b)。
具体地说,参照图5,第二串行化器1210收集第二域D2中的事件,以产生第二串行数据流。
再参照图9,如步骤S200b中,可将第二串行数据流转换为第二并行数据流。
具体地说,参照图5,第二解串行化器1220可将接收到的第二串行数据流转换为第二域D2中的第二并行数据流。
再参照图9,产生恢复的数据(步骤S200c)。
可通过将第一并行数据流和第二并行数据流集成来产生恢复的数据。
接着,根据本发明构思的示例实施例的用于剖析半导体装置中的事件的方法可包括步骤:产生捕获数据项(步骤S300);在对应的地址存储捕获数据项(步骤S400);以及读出捕获数据项(步骤S500)。
根据本发明构思的示例实施例的用于剖析半导体装置中的事件的方法,在不同的域中独立地收集事件,从而可用减少的或最少的资源快速地执行事件剖析。
Claims (20)
1.一种半导体装置,包括:
第一串行化器,其构造为收集第一域中的事件,以产生第一串行数据流,并以第一周期周期性地发送所述第一串行数据流;
第一解串行化器,其构造为接收所述第一串行数据流,以将所述第一串行数据流转换为第一并行数据流;
定时器,其构造为提供具有第二周期的时钟信号;
直接存储器存取,其构造为利用所述时钟信号以所述第二周期周期性地捕获所述第一并行数据流,以产生捕获数据项;以及
第一存储器,其构造为存储所述捕获数据项,
其中,存储所述捕获数据项的第一存储器的地址按照对应的捕获数据项被捕获的次序排列。
2.根据权利要求1所述的半导体装置,其中,所述事件包括时钟选通状态、功率选通状态和动态电压和频率调节状态中的至少一个。
3.根据权利要求1所述的半导体装置,还包括:
第二串行化器,其构造为收集与所述第一域不同的第二域中的事件,以产生第二串行数据流并以第三周期周期性地发送所述第二串行数据流;以及
第二解串行化器,其构造为接收所述第二串行数据流,以将所述第二串行数据流恢复为第二并行数据流,
其中,所述直接存储器存取以所述第二周期周期性地捕获所述第一并行数据流和所述第二并行数据流,以产生所述捕获数据项。
4.根据权利要求3所述的半导体装置,其中,所述第一周期与所述第三周期不同。
5.根据权利要求3所述的半导体装置,还包括:
第二存储器,其构造为存储所述第一并行数据流和所述第二并行数据流。
6.根据权利要求5所述的半导体装置,其中,所述第二存储器存储所述第一并行数据流的时间点与所述第二存储器存储第二并行数据流的时间点不同。
7.根据权利要求1所述的半导体装置,其中,所述直接存储器存取构造为存储:
在第一时间点在第一地址捕获的第一捕获数据项,
从所述第一时间点开始经过所述第二周期之后在第二时间点在第二地址捕获的第二捕获数据项,以及
从所述第二时间点开始经过所述第二周期之后在第三时间点在第三地址捕获的第三捕获数据项,并且
其中,所述第二地址与所述第一地址之间的差等于所述第三地址和所述第二地址之间的差。
8.根据权利要求1所述的半导体装置,其中,所述第二周期小于所述事件的周期中的最小周期。
9.一种半导体装置,包括:
第一串行化器,其构造为收集第一域中的事件,以产生第一串行数据流并以第一周期周期性地发送所述第一串行数据流;
第一解串行化器,其构造为接收所述第一串行数据流,以将所述第一串行数据流转换为第一并行数据流;
第二串行化器,其构造为收集第二域中的事件,以产生第二串行数据流并以第二周期周期性地发送所述第二串行数据流;
第二解串行化器,其构造为接收所述第二串行数据流,以将所述第二串行数据流转换为第二并行数据流;
第一存储器,其构造为将所述第一并行数据流和所述第二并行数据流存储为集成的数据;
定时器,其构造为确定捕获频率;
直接存储器存取,其构造为按照所述捕获频率根据所述集成的数据产生捕获数据项,其中,所述捕获数据项包括按照数据项被捕获的次序的第一捕获数据项至第n捕获数据项;以及
第二存储器,其构造为分别在第一地址至第n地址存储所述第一捕获数据项至所述第n捕获数据项,
其中,所述第一地址至所述第n地址按照数据项被捕获的次序排列。
10.根据权利要求9所述的半导体装置,其中,所述第一地址至所述第n地址彼此等距间隔开。
11.根据权利要求9所述的半导体装置,其中,所述第一捕获数据项至所述第n捕获数据项全部具有相同大小。
12.根据权利要求11所述的半导体装置,其中,所述第一存储器包括倒装芯片和SRAM中的至少一个。
13.根据权利要求11所述的半导体装置,其中,所述第二存储器包括DRAM、SRAM和闪速存储器中的至少一个。
14.根据权利要求11所述的半导体装置,其中,所述第一周期与所述第二周期不同。
15.一种剖析半导体装置中的事件的方法,所述方法包括步骤:
收集第一域中的事件,以产生第一串行数据流;
以第一周期周期性地更新所述第一串行数据流;
将所述第一串行数据流转换为第一并行数据流,以产生转换的数据;
以第二周期周期性地捕获所述转换的数据,以产生捕获数据项;以及
存储所述捕获数据项,
其中,所述捕获数据项分别被存储在按照数据项被捕获的次序排列的地址。
16.根据权利要求15所述的方法,还包括步骤:
收集与所述第一域不同的第二域中的事件,以产生第二串行数据流;
以第三周期周期性地更新所述第二串行数据流;以及
将所述第二串行数据流转换为第二并行数据流,
其中,将所述第一串行数据流和所述第二串行数据流转换为所述第一并行数据流和所述第二并行数据流的步骤包括将所述第一并行数据流和所述第二并行数据流集成。
17.根据权利要求16所述的方法,其中,所述第一周期与所述第三周期不同。
18.根据权利要求15所述的方法,其中,所述事件包括时钟选通状态、功率选通状态和动态电压和频率调节(DVFS)状态中的至少一个。
19.根据权利要求15所述的方法,其中,所述地址彼此等距间隔开。
20.根据权利要求15所述的方法,还包括步骤:
按次序读出所述捕获数据项,以通过曲线图显示所述事件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170103989A KR102276895B1 (ko) | 2017-08-17 | 2017-08-17 | 반도체 장치 및 그 이벤트 프로파일링 방법 |
KR10-2017-0103989 | 2017-08-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408431A CN109408431A (zh) | 2019-03-01 |
CN109408431B true CN109408431B (zh) | 2023-05-23 |
Family
ID=65360672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810940324.1A Active CN109408431B (zh) | 2017-08-17 | 2018-08-17 | 半导体装置和用于剖析半导体装置中的事件的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10475501B2 (zh) |
KR (1) | KR102276895B1 (zh) |
CN (1) | CN109408431B (zh) |
TW (1) | TWI781209B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5570356A (en) * | 1995-06-07 | 1996-10-29 | International Business Machines Corporation | High bandwidth communications system having multiple serial links |
CN104579570A (zh) * | 2015-01-14 | 2015-04-29 | 灿芯半导体(上海)有限公司 | 数据接收器、数据接收系统和数据传输系统 |
CN105389274A (zh) * | 2014-08-29 | 2016-03-09 | 三星电子株式会社 | 半导体装置、半导体系统和片上系统 |
CN105991196A (zh) * | 2015-02-17 | 2016-10-05 | 华为技术有限公司 | 一种数据预编码器、系统以及编码方法 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6081852A (en) * | 1996-04-26 | 2000-06-27 | Texas Instruments Incorporated | Packet data transferring system for autonomously operating a DMA by autonomous boot mode select signal wherein the DMA is enabled to at least one program control list |
JPH1040211A (ja) * | 1996-04-30 | 1998-02-13 | Texas Instr Inc <Ti> | パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路 |
JPH1198163A (ja) * | 1997-09-19 | 1999-04-09 | Nec Corp | 装置内監視情報の収集装置及び収集方法 |
US6798420B1 (en) * | 1998-11-09 | 2004-09-28 | Broadcom Corporation | Video and graphics system with a single-port RAM |
US6594609B1 (en) | 2000-11-25 | 2003-07-15 | Advantest, Corp. | Scan vector support for event based test system |
US20040139305A1 (en) * | 2003-01-09 | 2004-07-15 | International Business Machines Corporation | Hardware-enabled instruction tracing |
EP1447739A1 (en) * | 2003-02-12 | 2004-08-18 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for preprocessing input/output signals of/to different types of interfaces using a common format |
US7363577B2 (en) | 2004-05-18 | 2008-04-22 | Novell, Inc. | Techniques for serializing events |
US7739668B2 (en) * | 2005-05-16 | 2010-06-15 | Texas Instruments Incorporated | Method and system of profiling applications that use virtual memory |
US7603589B2 (en) * | 2005-05-16 | 2009-10-13 | Texas Instruments Incorporated | Method and system for debugging a software program |
US20070174910A1 (en) * | 2005-12-13 | 2007-07-26 | Zachman Frederick J | Computer memory security platform |
US20070143678A1 (en) | 2005-12-21 | 2007-06-21 | Feigenbaum Barry A | Method and apparatus for persistently resolving events to event source |
US7769558B2 (en) * | 2006-07-10 | 2010-08-03 | Asterion, Inc. | Digital waveform generation and measurement in automated test equipment |
JP2008090505A (ja) * | 2006-09-29 | 2008-04-17 | Fujitsu Ltd | イベント保持回路 |
US8045667B2 (en) * | 2007-02-02 | 2011-10-25 | Samsung Electronics Co., Ltd. | Deserializer and data recovery method |
US8121542B2 (en) * | 2007-10-16 | 2012-02-21 | Rafi Zack | Virtual connector based on contactless link |
JP5027623B2 (ja) * | 2007-11-13 | 2012-09-19 | アズビル株式会社 | 遠隔監視情報収集システム、遠隔監視情報収集装置、監視端末、及び、遠隔監視情報収集方法 |
US7921239B2 (en) | 2008-08-08 | 2011-04-05 | Dell Products, Lp | Multi-mode processing module and method of use |
US8560568B2 (en) * | 2008-08-26 | 2013-10-15 | Zeewise, Inc. | Remote data collection systems and methods using read only data extraction and dynamic data handling |
US8407528B2 (en) * | 2009-06-30 | 2013-03-26 | Texas Instruments Incorporated | Circuits, systems, apparatus and processes for monitoring activity in multi-processing systems |
US20110137909A1 (en) | 2009-12-07 | 2011-06-09 | Sap Ag | Location independent execution of user interface operations |
US8683254B2 (en) | 2011-01-07 | 2014-03-25 | Anue Systems, Inc. | Systems and methods for precise event timing measurements |
US8788867B2 (en) | 2011-01-07 | 2014-07-22 | Anue Systems, Inc. | Systems and methods for playback of detected timing events |
US8943369B2 (en) * | 2011-02-21 | 2015-01-27 | Texas Instruments Incorporated | Prioritizing stall/reason data into priority information stream over PC/data trace |
US9405713B2 (en) * | 2012-02-17 | 2016-08-02 | Netronome Systems, Inc. | Commonality of memory island interface and structure |
US8930872B2 (en) * | 2012-02-17 | 2015-01-06 | Netronome Systems, Incorporated | Staggered island structure in an island-based network flow processor |
US20130305012A1 (en) | 2012-05-10 | 2013-11-14 | Telefonaktiebolaget L M Ericsson (Publ) | Implementation of counters using trace hardware |
US9092560B2 (en) * | 2012-10-01 | 2015-07-28 | Infineon Technologies Ag | Trace based measurement architecture |
US9176911B2 (en) * | 2012-12-11 | 2015-11-03 | Intel Corporation | Explicit flow control for implicit memory registration |
US8996889B2 (en) | 2013-03-29 | 2015-03-31 | Dropbox, Inc. | Portable computing device with methodologies for client-side analytic data collection |
US9830245B2 (en) * | 2013-06-27 | 2017-11-28 | Atmel Corporation | Tracing events in an autonomous event system |
US9158720B2 (en) * | 2013-08-11 | 2015-10-13 | Qualcomm Incorporated | System and method for scalable trace unit timestamping |
US10073754B2 (en) * | 2013-09-13 | 2018-09-11 | Assurant, Inc. | Systems and methods for collecting, tracking, and storing system performance and event data for computing devices |
US9635398B2 (en) | 2013-11-01 | 2017-04-25 | Adobe Systems Incorporated | Real-time tracking collection for video experiences |
US9372947B1 (en) * | 2014-09-29 | 2016-06-21 | Cadence Design Systems, Inc. | Compacting trace data generated by emulation processors during emulation of a circuit design |
US9703670B2 (en) * | 2015-01-06 | 2017-07-11 | Microsoft Technology Licensing, Llc | Performance state machine control with aggregation insertion |
KR102391385B1 (ko) * | 2015-08-13 | 2022-04-27 | 삼성전자주식회사 | 내장형 로직 분석기 및 이를 포함하는 집적 회로 |
-
2017
- 2017-08-17 KR KR1020170103989A patent/KR102276895B1/ko active IP Right Grant
-
2018
- 2018-04-06 US US15/946,992 patent/US10475501B2/en active Active
- 2018-08-10 TW TW107128060A patent/TWI781209B/zh active
- 2018-08-17 CN CN201810940324.1A patent/CN109408431B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5570356A (en) * | 1995-06-07 | 1996-10-29 | International Business Machines Corporation | High bandwidth communications system having multiple serial links |
CN105389274A (zh) * | 2014-08-29 | 2016-03-09 | 三星电子株式会社 | 半导体装置、半导体系统和片上系统 |
CN104579570A (zh) * | 2015-01-14 | 2015-04-29 | 灿芯半导体(上海)有限公司 | 数据接收器、数据接收系统和数据传输系统 |
CN105991196A (zh) * | 2015-02-17 | 2016-10-05 | 华为技术有限公司 | 一种数据预编码器、系统以及编码方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20190019295A (ko) | 2019-02-27 |
KR102276895B1 (ko) | 2021-07-12 |
US20190057733A1 (en) | 2019-02-21 |
TWI781209B (zh) | 2022-10-21 |
US10475501B2 (en) | 2019-11-12 |
CN109408431A (zh) | 2019-03-01 |
TW201913389A (zh) | 2019-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101859289B (zh) | 一种利用片外存储器访问控制器访问外部存储器的方法 | |
US8386828B1 (en) | Circuit for estimating latency through a FIFO buffer | |
US8850137B2 (en) | Memory subsystem for counter-based and other applications | |
JP2006166445A (ja) | ハード・インテレクチャル・プロパティ・ブロックのための出力レポーティング技術 | |
JP4076946B2 (ja) | 先入れ先出しメモリ・システム及びその方法 | |
US6802036B2 (en) | High-speed first-in-first-out buffer | |
US7895430B2 (en) | On-chip logic analyzer using compression | |
CN108170571B (zh) | 一种芯片追踪调试装置及方法 | |
CN109408431B (zh) | 半导体装置和用于剖析半导体装置中的事件的方法 | |
JP3681773B2 (ja) | エラー検出および補正ユニットを有する先入先出バッファシステム | |
JP4470582B2 (ja) | ハードウェア/ソフトウェア協調シミュレーション方式及びその方法 | |
TWI518703B (zh) | 提供多埠功能的記憶體裝置與方法 | |
US20100169697A1 (en) | Control Device Having Output Pin Expansion Function and Output Pin Expansion Method | |
JP2006318315A (ja) | 画像処理パイプライン回路 | |
TWI839817B (zh) | 資料處理裝置及其操作方法 | |
KR102184695B1 (ko) | 진단 인터페이스 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법 | |
US7031206B2 (en) | Digital line delay using a single port memory | |
US7479803B1 (en) | Techniques for debugging hard intellectual property blocks | |
JP4894218B2 (ja) | 半導体集積回路 | |
US7392332B2 (en) | Bit rate adaptation in a data processing flow | |
JP3090053B2 (ja) | 回路データ用モニタ装置 | |
Cisneros et al. | Space-time aer protocol receiver asynchronously controlled on fpga | |
US20060023564A1 (en) | Signal output device and method for the same | |
JP2000341256A (ja) | エラスティック回路および集積回路 | |
CN116050329A (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 |