半导体装置及开发支援装置的制作方法

文档序号:6476068阅读:175来源:国知局
专利名称:半导体装置及开发支援装置的制作方法
技术领域
本发明涉及一种能够在外部跟踪LSI (大规模集成电路)内部 信号的半导体装置以及应用了该半导体装置的开发支援装置。
背景技术
要想实时地对LSI内部的动作进行分析,就需要在LSI外部跟 踪LSI内部信号。因此,在现有技术下,将被跟踪的信号输出到 LSI外部,在LSI外部再利用逻辑分析仪等进行分析。 但是,若跟踪对象即LSI内部信号的数量增加,就需要与该信 号的数量成正比地增加用于跟踪的外部端子的数量,而会导致成本
增加o 因此,能够想到的做法就是使具有通常功能的外部端子兼作用
于跟踪的外部端子用。但在进行评价时通常的功能却得不到利用,
而难以对所有的功能进行评价。
另一方面,还有另一众人皆知的技术。即,将控制内部的选择
电路而从跟踪对象即多个LSI内部信号中选出的信号输出到LSI
外部(参考专利文献l)。
专利文献1:日本公开特许公报特开2002 — 24201号公报

发明内容
一发明要解决的技术问题一
但在现有技术下,对超过了跟踪用外部端子的那一部分LSI内
部信号却不能够同时跟踪。也就是说,现有的跟踪技术对要同时跟
踪的对象即LSI内部信号的数量增加的情况尚未加以考虑。因此, 如果在并列地跟踪多个LSI内部信号时,信号数量增加,就不能够 进行跟踪了,这是很容易预料到的事情。
本发明正是为解决该技术问题而研究开发出来的。其目的在于提供一种能够用一个外部端子同时跟踪多个LSI内部信号的技术方案。
一用以解决技术问题的技术方案— 本发明是这样解决上述技术问题的。即,并非将LSI内部信号 直接输出到LSI外部,而是从跟踪对象即LSI内部信号的状态已发 生变化的信息中获取信号名、信号状态,并与信号状态已变化的时 间信息一起,对该信号名信息和信号状态信息进行编码,之后输出 到LSI外部,在LSI外部再进行解码,以再现LSI内部信息。 一发明的效果一 在本发明中,从一条外部端子所输出的信息中即可知道多个 LSI内部信号动作之有无,在跟踪对象即LSI内部信号的数量比用 于跟踪的外部端子的数量多的情况下,也能够并列地进行跟踪。
若利用同步,则能够在维持着用以在外部跟踪LSI内部信号的 信息量的同时,使数据量减少。而且,若采取对策以避免在获取LSI 内部信号时有可能发生的某些信息的丢失,就一定能够获取所需要 的信息。


[图l]图l是一方框图,示出了本发明所涉及的半导体装置与开 发支援装置的大致构成。图2是一方框图,示出了本发明第一实施方式所涉及的 半导体装置的构成。图3是一方框图,示出了本发明第一实施方式所涉及的 开发支援装置的构成。图4是一流程图,示出了本发明第一实施方式所涉及的 获取LSI内部信息的算法。图5是一显示本发明第一实施方式所涉及的获取LSI内 部信息的过程的图。图6是一显示本发明第一实施方式所涉及的由调试装置 对跟踪信息加以解码的算法的图。图7是一显示本发明第一实施方式所涉及的对跟踪信息进行解码的过程的图。图8是一显示本发明第一实施方式所涉及的由调试装置 再现LSI内部信息的算法的图。图9是一显示本发明第一实施方式所涉及的LSI内部信 息的再现过程的图。图IO是一方框图,示出了本发明第二实施方式所涉及 的半导体装置的构成。图11是一显示本发明第二实施方式所涉及的用来获取 LSI内部信息的算法的图。图12是一显示本发明第二实施方式所涉及的获取LSI 内部信息的过程的图。图13 (a)到图13 (d)是显示跟踪信息的丢失与回避 措施的图。图14是一方框图,示出了本发明第三实施方式所涉及 的半导体装置的构成。图15是一显示本发明第三实施方式所涉及的用来获取 LSI内部信息的算法的图。图16是一显示本发明第三实施方式所涉及的获取LSI 内部信息的过程的图。图17—方框图,示出了本发明第四实施方式所涉及的 半导体装置的构成。图18是一显示本发明第四实施方式所涉及的用来获取 LSI内部信息的算法的图。图19是一显示本发明第四实施方式所涉及的获取LSI 内部信息的过程的图。图20是一方框图,示出了本发明第五实施方式所涉及 的半导体装置的构成。图21是一显示本发明第五实施方式所涉及的用来获取 LSI内部信息的算法的图。图22是显示本发明第五实施方式所涉及的获取LSI内部信息的过程的图。图23是一方框图,示出了本发明第六实施方式所涉及 的半导体装置的构成。图24是显示本发明第六实施方式所涉及的用来获取 LSI内部信息的算法的图。 一符号的说明一
1LSI (半导体装置)
2调试装置(开发支援装置)
10跟踪信息
ll-15功能块
lG跟踪信息输出端子
17LSI内部信息获取部
21跟踪信息解码部
22LSI内部信息再现部
23LSI内部信息緩冲部
24时间信息解码部
25实时变换部
26波形再现部
31信号名信息(LSI側)
32信号状态信息(LSI侧)
33时间信息(LSI侧)
41信号名信息(调试装置側)
42信号状态信息(调试装置側)
43时间信息(调试装置侧)
44同步信息
45LSI内部时间信息
46实时信息
51同步信息
52跟踪信息的数据量
53同步周期的变更信息54 同步产生周期设定部有效/无效切换信号
55 事件选择控制部有效/无效切换信号
56 时间信息获取事件选择控制部有效/无效切换信号
100--107 LSI内部信号
200跟踪信息生成部
201时间信息获取事件逸择控制部
202限制对象事件设定部
203保持缓冲器
204输出緩冲器
210时间信息生成部
211同步信号生成部
212内部计数器
213同步产生周期设定部
220信号确定信息生成部
221信号名信息生成部
222信号状态信息生成部
223事件选择控制部
224限制对象事件设定部
230跟踪信息丢失回避部选择部
240跟踪信息输出部
具体实施例方式下面,参考附图对本发明的实施方式进行说明。
(第一实施方式)
图1示出了本发明中半导体装置与开发支援装置的整体概略构 成。这里,假定是在开发支援装置(调试装置)2中对半导体装置 (LSI) 1中的功能块11 — 14与功能块15之间的内部信号100 — 107进行跟踪。LSI内部信息获取部17经由单一的输出端子16将 表示跟踪对象即信号的状态已发生跃变的信息作为跟踪信息10提 供给调试装置2。调试装置2包括跟踪信息解码部21和LSI内部 信息再现部22。
图2与图3分別示出了本发明第一实施方式中的半导体装置与 开发支援装置的构成。 在图2所示的LSI1中,信号确定信息生成部220包括信号名 信息生成部221和信号状态信息生成部222。该信号确定信息生成 部220对功能块11 — 14与功能块15之间的内部信号100—107进 行跟踪。当跟踪对象即信号的状态已发生跃变时,便检测出这一现 象,并生成信号名信息31和信号状态信息32。时间信息生成部210 包括同步信号生成部211和内部计数器212,同步信号生成部211 工作,而使得LSI1和与外部连接的调试装置2同步,在同步的时 候生成同步信号,且将同步信号与内部计数器212的值设定为时间 信息33。跟踪信息生成部200 —检测出信号名信息31与信号状态 信息32,就利用该时刻的时间信息33生成并输出将各信息31 — 33 包化(packetize)后所得的跟踪信息10。 另一方面,图3所示的调试装置2—检测出跟踪信息10,就在 跟踪信息解码部21将跟踪信息10分离为信号名信息41、信号状 态信息42以及时间信息43。时间信息解码部24将时间信息43分 离为同步信息44和LSI内部时间信息45;实时变换部25计数同 步的次数,将同步次数与LSI内部时间信息45变换为实时信息46。 信号名信息41、信号状态信息42以及实时信息46被存储在LSI 内部信息緩冲部23内。波形再现部26根据从LSI内部信息緩冲部 23读出的信息41、 42、 46再现LSI内部信息。 参考图5所示的波形图,对在LSI1检测内部信号的状态跃变, 并利用图4所示的算法生成跟踪信息10的过程进行说明。 在图5中,内部信号100,是初始状态为高电平"H"、在测量 开始后500ns时跃变为低电平"L"、在1600ns时跃变为"H"的 信号;内部信号101,是初始状态为"H"、在从测量开始1400ns 时跃变为"L"、在1900ns时跃变为"H"的信号;假定内部信号 102—107是测量时状态不发生跃变的信号。设输出一组跟踪信息 所需要的时间是250ns。以使LSIl的内部计数器212工作的内部 时钟的周期是100ns进行计算的话,LSI1与调试装置2同步工作的周期CYC就是"8"。
由图4可知,开始测量时,在步骤1001中,将内部计数器的 值CNT、同步信号SYN设为"0",之后进入步骤1002。在步骤 1002中,确认测量是否结束。当要结束测量时,进入步骤1003; 当不让测量结束时,进入步骤1004。在步骤1003中,判断跟踪信 息生成部200中的緩冲器是否为"空"。当緩冲器是"空"时,则 结束流程;当緩冲器不是"空"时,则进入步骤1004。在步骤1004 中,确认内部信号100—107的状态,因为在500ns、 1400ns、 1600ns、 1900ns时具有状态已发生跃变的信号,所以,为生成跟 踪信息IO便进入步骤1005;其它情况下,因为不存在状态已发生 跃变的信号,所以进入步骤1006。在步骤1005中,将状态已发生 跃变的信号的信号信息设定为"1",亦即,500ns、 1600ns时将信 号100的信号信息设定为"1", 1400ns、 1900ns时将信号101的 信号信息设定为"1",将除此以外的信号的信号信息设定为"0", 之后进入步骤1007。在步骤1007中,将状态已发生跃变的信号的 信号状态信息32设定为"0"或"1"。具体而言,在500ns时,信 号100从"H"跃变为"L",所以将信号100的信号状态信息32 设定为"0",在1400ns时,信号101从"H"跃变为"L",所以 将信号101的信号状态信息32设定为"0",在1600ns时,信号 100从"L"跃变为"H",所以将信号100的信号状态信息32设 定为"1",在1900ns时,信号101从"L"跃变为"H",所以将 信号101的信号状态信息32设定为"1"。之后进入步骤1008。在 步骤1008,由状态已发生跃变的信号的信号信息生成表示信号名 (信号100是"1"、信号101是"2"、…信号107是"8")的信 号名信息31,并将信号名信息31、信号状态信息32以及由同步信 号SYN、 CNT构成的时间信息33作为跟踪信息包化。因为500ns 时信号100的信号信息成为"1",所以包化为"1、 0、 0、 5";因 为1400ns时信号101的信号信息成为"1",所以包化为"2、 0、 0、 6";因为1600ns时信号100的信号信息成为"1",所以包化 为"1、 1、 1、 0";因为1900ns时信号101的信号信息成为"1",所以包化为"2、 1、 0、 3",之后进入步骤1009。在步骤1009中, 将已包化的跟踪信息IO存储到跟踪信息生成部200内的缓冲器中 后,进入步骤1002。 在步骤1006中,将所有信号的信号信息全部设定为"0"后, 进入步骤1010。在步骤1010中,确认SYN的状态。因为800ns 时SYN是"1",所以为生成虽然产生了同步信号但信号的状态却 没有发生跃变的情况下的跟踪信息而进入步骤1011;其它情况因为 SYN是"0",所以进入步骤1012。在步骤1011中,生成800ns 时虽然产生了同步信号但信号的状态却没有发生跃变的情况下的跟 踪信息"0、 0、 1、 0"并包化,之后进入步骤1009。 在步骤1012中,当信息残留在跟踪信息生成部200内的緩冲 器中时,为从緩冲器中输出信息而进入步骤1013。当緩冲器是"空" 时,进入步骤1014。在步骤1013中,从输出端子16将缓冲器内 的信息作为跟踪信息10输出,之后进入步骤1015。在步骤1015 中,从缓冲器中将已输出的数据删除,并为将尚未输出的数据输出 而在緩冲器内进行移位,之后进入步骤1016。在步骤1014中,使 输出端子16为"开放"并以此作为无跟踪信息10输出时的设定, 之后进入步骤1016。 在步骤1016中,确认内部时钟是否上升。当已上升时,便为 使内部计数器212工作而进入步骤1017;当尚未上升时,则进入 步骤1002。在步骤1017中,确认CNT是否与从CYC中减去1 后所得到的数值一致。因为在800ns和1600ns时CNT成为从设 定在CYC内的8减去1所得到的7,所以进入为生成同步信号SYN 的步骤1018;当不一致时,则进入步骤1019。在步骤1018中, 在800ns和1600ns时,将同步信号SYN置为'T',将CNT清除 为"0",之后进入步骤1002。在步骤1019中,确认CNT是否为 "0"。因为在900ns与1700ns时CNT是"0",所以为将同步信 号SYN清除并对CNT进行加法运算而进入步骤1020;当CNT不 是"0"时,则仅为对CNT进行加法运算而进入步骤1021。在步 骤1020中,在900ns与1700ns时,使同步信号SYN为"0",为对CNT进行加法运算而进入步骤1021。在步骤1021中,在CNT 中加上l,之后进入步骤1002。 接下来,参考图7所示的波形图,说明由调试装置2根据图6 所示的算法对跟踪信息IO进行解码的过程。 开始测量以前,设定LSI1和调试装置2同步工作的周期 SYNCYC、 LSI内部计数器212的周期CLKCYC。图7中,按照 LSI1的工作情况,将SYNCYC设定为800ns,将CLKCYC设定 为100ns。而且,设跟踪信息IO的输入期间为250ns。 开始测量时,在步骤1101中,将同步信号的计数器SYNCYC、 实时信息T设定为"0"后,进入步骤1102。在步骤1102中,确 认测量是否结束。当要结束测量时,便使流程结束;当不让测量结 束时,便进入步骤1103。在步骤1103中,确认有无输入跟踪信息 10。当已输入跟踪信息10时,便进入步骤1104;当尚未输入跟踪 信息10时,则进入步骤1102。在步骤1104中,将已输入的跟踪 信息10存储到跟踪信息解码部21内的缓冲器中,之后进入步骤 1105。在步骤1105中,确认一組跟踪信息10是否已被存储到缓沖 器中。因为在750ns、 1050ns、 1650ns、 1900ns以及2150ns时, 一組跟踪信息10已被存储到緩冲器中,所以进入步骤1106;除此 以外的情况则进入步骤1102。在步骤1106中,将已存储到緩冲器 中的跟踪信息10解码。具体而言,使表示信号名的信息与信号名 相对应,即,将"1"解码为表示信号100的"100",将"2"解码 为表示信号101的"101",将"0"解码为无对应信号的"000" 并作为信号名信息41输出。使表示信号状态的信息与信号状态相 对应,将"0"解码为表示"H" — "L"的信号跃变的"10",将 "1"解码为表示"L" — "H"的信号跃变的"01"并作为信号状 态信息42输出。将表示时间信息的信息分离为同步信息(SYN) 44和LSI内部时间信息(CNT) 45,之后进入步骤1107。 在步骤1107中,确认从跟踪信息10中获取的SYN的值。因 为1050ns、 1900ns时SYN是"1",所以为对同步信号的计数值 SYNCYC进行加法运算而进入步骤1108;除此以外的情况因为SYN是"O",所以进入步骤1109。在步骤1108中将1加到SYNCYC 中,之后进入步骤1109。 在步骤1109中,确认信号名信息所表示的信号是否是实际存 在的信号。这里,因为在1050ns时信号名信息成为"000",是一 个未被分配信号名的信息,所以判断出该信号名信息不表示LSI 内部信号的信息,而表示出现同步的跟踪信息。于是,不生成LSI 内部信号就进入步骤1102。在750ns、1650ns、1900ns以及2150ns 时,为生成LSI内部信息而进入步骤1110。
〖0029] 在步骤1110中,由同步信号的计数值SYNCNT、进行同步工 作的周期SYNCYC(800ns)、LSI内部计数器212的周期CLKCYC (100ns)以及从跟踪信息10中得到的CNT计算发生了信号跃变 的实时信息T。因为750ns时已解码的CNT是"5"、 SYNCNT 是"O",所以T成为500ns;因为1650ns时已解码的CNT是"6"、 SYNCNT是"1",所以T成为1400ns;因为1900ns时已解码的 CNT是"0"、 SYNCNT是"2",所以T成为1600ns;因为2150ns 时已解码的CNT是"3"、 SYNCNT是"2",所以T成为1900ns。 将已生成的T作为实时信息46输出后,进入步骤1111。在步骤1111 中,将已解码的信号名信息41、信号状态信息42及实时信息46 存储到LSI内部信息緩冲部23中。750ns时,将"100、 10、 500" 存储到LSI内部信息緩冲部23中;1650ns时,将"101、 10、 1400" 存储到LSI内部信息緩冲部23中;1900ns时,将"100、 01、 1600" 存储到LSI内部信息緩冲部23中;2150ns时,将"101、01、 1900" 存储到LSI内部信息緩冲部23中。 接下来,参考图6所示的波形图,说明在再现LSI内部信号波 形时根据图8所示的算法对信息进行解码的过程。 首先,将波形再现对象的信号名指定为"100"。将已指定的信 号名"100"设定在PIN中。 开始再现时,在步骤1201中将Tbef设定为Ons,将Abef设 定为"0",之后进入步骤1202。在步骤1202中确认再现是否结束。 当要结束再现时,便使流程结束;当不让再现结束时,便进入步骤1203。在步骤1203中,确认LSI内部信息緩冲部23内是否存在 尚未读出的信息。因为LSI内部信息緩冲部23内存在4組信息, 所以在将该4組信息读出以前还存在尚未读出的信息。于是,便进 入步骤1204。将该4組信息读出以后便不存在尚未读出的信息, 于是进入步骤1205。 在步骤1204中,从LSI内部信息緩冲部23中读出一组信息, 之后进入步骤1206。在步骤1206中,将已读出的LSI内部信息分 离为信号名信息、信号状态信息、T (实时信息),之后进入步骤 1207。例如,在是"100、 10、 500"的情况下,信号名信息成为 "100",信号状态信息成为"10", T成为"500"。在步骤1207 中,确认已分离出的信号名信息是否与PIN中的内容一致。读出信 息按以下顺序存在4組,分别是"100、 10、 500"、 "101、 10、 1400"、 "100、 01、 1600"以及"101、 01、 1900"。这里,在读出"100、 10、 500"、 "100、 01、 1600"时,信号名信息与已设定在PIN中 的"100" —致,便进入步骤1208;在读出"101、 10、 1400"、 "101、 01、 1900"时,信号名信息与设定在PIN中的"100"不一致,于 是便进入步骤1202。在步骤1208中,根据信号状态信息设定为信 号跃变前的状态B与信号跃变后的状态A。当信号状态信息是"10" 时,将B设定为"H",将A设定为"L";当信号状态信息是"01" 时,将B设定为"L",将A设定为"H",之后进入步骤1209。在 步骤1209中,再现LSI内部信息。具体而言,当读出"100、 10、 500"时,Tbef是0,所以在从Tbef所表示的Ons到T所表示的 500ns为止的时间内,使信号IOO的波形显示B所表示的"H";当 读出"100、 01、 1600"时,Tbef是500ns,所以在从Tbef所表 示的500ns到T所表示的1600ns为止的时间内,使信号100的波 形显示B所表示的"L"。之后进入步骤1210。在步骤1210中, 将T写入Tbef中,将A写入Abef中,之后进入步骤1202。
在步骤1205中,进行波形再现结束时的处理。因为在步骤1205 分支时Tbef成为1600ns,所以进入步骤1211。在步骤1211中, 对未表示部分的波形进行表示。也就是说,在从Tbef所示的1600ns到再现结束时为止的时间内,显示Abef所表示的"H",而结束再 现。
经过上述流程,信号100的波形在从开始测量时到500ns的时 间内表示为"H"、在从500ns至'J 1600ns的时间内表示为"L"、 在1600ns以后的时间内表示为"H",而再现了图5中所示的已测 量的信号100的波形。 接下来,在使波形再现对象的信号名是"101"的情况下,经 过同样的流程,在从开始测量到1400ns这一段时间内表示为"H"、 在从1400ns至'J 1900ns这一段时间内表示为"L"、在1900ns以 后表示为"H"。 在使波形再现对象的信号名是"102"到"107"中之任一个的 情况下,以同样的流程读出数据,到数据读出结束为止都没有与再 现对象的信号一致的信息,所以在步骤1205中Tbef—直维持着初 始值"0"不变,因此便不显示波形,流程结束。 (第二实施方式)
图IO是一方框图,示出了本发明第二实施方式中的半导体装 置的构成。第一实施方式中的半导体装置,每逢检测出信号状态发 生跃变或出现同步,都会将跟踪信息IO输出到外部。而第二实施 方式是这样的,所生成的跟踪信息先累积到跟踪信息生成部200内 的保持緩冲器203中,保持緩冲器203内的信息根据时间信息生成 部210输出的同步信号51移动到输出緩冲器204中,之后再从输 出緩冲器204中作为跟踪信息IO输出。 在第二实施方式的情况下,因为调试装置2能够把握对应于已 输入的跟踪信息10的同步信号的次数,所以能够将表示同步信号 的跟踪信息的输出省略,从而能够使要输出的信息的数据量减少。 而且,当同一信号在同一个测量循环中发生多次状态跃变时,能够 通过将跟踪信息合并而将信号名省略,因此能够使要输出的信息的 数据量减少。 在本发明的第二实施方式中,参考图12所示的波形图,对检 测内部信号的状态跃变,并利用图11所示的算法生成跟踪信息10的过程进行说明。 在图12中,内部信号100,是初始状态为"H"、在测量开始 后500ns时跃变为"L"、在1800ns时跃变为"H"的信号;内部 信号101,是初始状态为"H"、在测量开始后1600ns时跃变为"L"、 在2100ns时跃变为"H"的信号。假定内部信号102 — 107是测量 时状态不发生跃变的信号。以使LSIl的内部计数器212工作的内 部时钟的周期是100ns进行计算,就将LSIl与调试装置2同步工 作的周期CYC设定为"8"。 ' 开始测量时,在步骤1301中,将内部计数器212的值CNT、 同步信号SYN以及输出状态信号OUT设为"0",之后进入步骤 1002。在步骤1002中,确认测量是否结束。当要结束测量时,则 进入步骤1003;当不让测量结束时,则进入步骤1004。在步骤1003 中,判断跟踪信息生成部200中的输出緩冲器204是否为"空"。 当緩冲器204是"空"时,则结束流程;当緩沖器204不是"空" 时,则进入步骤1004。在步骤1004中,确认内部信号100—107 的状态,因为在500ns、 1600ns、 1800ns以及2100ns时具有状 态已发生跃变的信号,所以为生成跟踪信息便进入步骤1005;其它 情况下,因为不存在状态已发生跃变的信号,所以进入步骤1006。 在步骤1005中,将状态已发生跃变的信号的信号信息设定为"1", 亦即,500ns、 1800ns时,将信号100的信号信息设定为"1", 1600ns、 2100ns时,将信号101的信号信息设定为"1",将除此 以外的信号的信号信息设定为"0"。之后进入步骤1007。在步骤 1007中,将状态已发生跃变的信号的信号状态信息32设定为"0" 或"i"。具体而言,在500ns时,信号100从"H"跃变为"L", 所以将信号100的信号状态信息32设定为"0",在1400ns时, 信号101从"H"跃变为"L",所以将信号101的信号状态信息 32设定为"0",在1600ns时,信号100从"L"跃变为"H",所 以将信号100的信号状态信息32设定为"1",在1900ns时,信 号101从"L"跃变为"H",所以将信号101的信号状态信息32 设定为"1"。之后进入步骤1008。在步骤1008中,由状态已发生跃变的信号的信号信息生成表示信号名(信号100是"1"、信号
101是"2"、...信号107是"8")的信号名信息31,并将信号名 信息31、信号状态信息32以及仅由CNT构成的时间信息33作为 跟踪信息包化。因为500ns时信号IOO的信号信息成为"1",所以 包化为"1、 0、 5";因为1600ns时信号101的信号信息成为"1", 所以包化为"2、 0、 0";因为1800ns时信号100的信号信息成为 "1",所以包化为"1、 1、 2";因为2100ns时信号101的信号信 息成为"1",所以包化为"2、 1、 5",之后进入步骤1302。在步 骤1302中,确认累积在保持緩冲器203内的信号的跟踪信息中是 否存在已在步骤1008中包化的同一信号的信息。因为在2100ns 时,已在1600ns时生成的同一信号101的跟踪信息存在于保持缓 冲器203内,所以为将信息合并而进入步骤1304;因为在500ns、 1600ns、 1800ns时,保持緩冲器203内不存在同一信号的跟踪信 息,所以便进入步骤1303。在步骤1303中,将已包化的跟踪信息 存储到保持緩冲器203中,之后进入步骤1305。在步骤1304中, 将已生成的跟踪信息的信号状态信息、CNT追加到存在于保持緩冲 器203中的同一信号的跟踪信息中。在2100ns时,将已生成的跟 踪信息"2、 1、 5"的信号状态信息、相当于CNT的"1、 5"追加 到已存在于保持緩冲器203内的跟踪信息"2、 0、 0"中,之后进 入步骤1304。 在步骤1006中,将所有信号的信号信息全部设定为"0"后, 进入步骤1305。在步骤1305中,确认输出状态信号OUT的值。 当输出跟踪信息10时OUT成为"1",于是进入步骤1306;当尚 未输出跟踪信息IO时OUT成为"0",于是进入步骤1016。在步 骤1306中,判断输出緩冲器204是否为"空"状态。在已结束输 出跟踪信息IO的情况下,为使OUT从"1"变为"0"而进入步骤 1309;在尚未结束输出跟踪信息10的情况下,为进行输出而进入 步骤1307。在步骤1307中,从输出端子16将输出緩冲器204内 的信息作为跟踪信息10输出,之后进入步骤1308。在步骤1308 中,从输出緩冲器204中将已输出的数据删掉,为将、尚未输出的数据输出而在输出緩冲器204内进行移位,之后进入步骤1016。在 步骤1309中,使输出端子16为"开放"并以此作为无跟踪信息 IO输出时的设定,使OUT为"0"而设定为尚未进行输出的状态, 之后进入步骤1016。
在步骤1016中,确认内部时钟是否上升。当已上升时,便为 使内部计数器212工作而进入步骤1017;当尚未上升时,则进入 步骤1002。在步骤1017中,确认CNT是否与从CYC中减去1 后所得到的数值一致。因为在800ns和1600ns时,CNT成为从设 定在CYC内的8减去1所得到的7,所以为生成同步信号SYN而 进入步骤1310;当不一致时,则进入步骤1019。在步骤1310中, 在800ns和1600ns时,将同步信号SYN置为"1",将CNT清除 为"0",且使输出状态信号OUT为"1"而设定为输出状态,将已 累积在保持緩冲器203中的数据移动到输出缓冲器204中,之后进 入步骤1002。在步骤1019中,确认CNT是否为"0"。因为在900ns 与1700ns时,CNT是"0",所以为将同步信号SYN清除并对CNT 进行加法运算而进入步骤1020;当CNT不是"0"时,则仅为对 CNT进行加法运算而进入步骤1021。在步骤1020中,在900ns 与1700ns时,使同步信号SYN为"0",为对CNT进行加法运算 而进入步骤1021。在步骤1021中,在CNT中加上1,之后进入 步骤1002。 如上所述,在跟踪信息累积在跟踪信息生成部200内的保持緩 冲器203中,且根据同步信号51将跟踪信息IO从输出緩冲器204 中输出到外部的情况下, 一次输出期间内的跟踪信息10的数据量 很多,如图13 (a)所示。在将已累积在输出緩冲器204中的信息 全部输出完以前又产生了下一个同步信号51的情况下,因为保持 缓冲器203中的数据重写(rewrite)在输出緩冲器204中,所以 那时残留在输出緩冲器204中的数据就会丢失。这样便有可能导致 调试装置2所取得的跟踪信息10丢失。 图13 (b)到图13 (d)示出了为回避这样的跟踪信息丟失的 技术方案。首先,如图13 (b)所示,使同步时刻暂时延长。于是在输出跟踪信息的时间内便不会产生下一个同步信号。如13 (C)所示,限制跟踪对象事件而使要输出的信息的量减少,由此在 产生下一个同步信号以前就结束跟踪信息的输出。如图13 (d)所 示,分为获取不包含时间信息的跟踪信息的事件和包含时间信息的 跟踪信息的事件,使要输出的信息量减少,由此在产生下一个同步 信号以前就结束跟踪信息的输出。 接下来,以图13 (b)到图13 (d)所示的跟踪信息丢失回避 技术方案的具体例作为第三到第五实施方式进行说明。 (第三实施方式)
图14是一方框图,示出了本发明第三实施方式中的半导体装 置的构成。在第三实施方式中,在时间信息生成部210中设置有同 步产生周期设定部213。象图13 (b)所示的那样加长进行同步工 作的周期,由此使得在输出跟踪信息10时不会产生下一个同步信 号51。 能够根据跟踪信息的数据量52将同步周期变更为事先设定好 的值。例如,在同步周期CYC的初始值是800ns的情况下,将NCYC 事先设定为1200ns,在积累了在800ns的时间内未能够输出完的 跟踪信息的情况下,将同步周期CYC变更为1200ns。进行同步工 作的周期一变更,在产生下一个同步信号51时,就将表示同步周 期的变更的信息53与跟踪信息10 —起输出。 根据该实施方式,因为能够根据数据量自动地进行同步周期的 变更,所以便没有必要在确认出数据有丢失而对同步周期进行了再 次设定之后,再次进行测量了。 在本发明的第三实施方式中,参考图16所示的波形图,对检 测内部信号的状态跃变,并利用图15所示的算法生成跟踪信息10 的过程进行说明。 在图16中,内部信号100,是初始状态为"H"、在测量开始 后500ns时跃变为"L"、在1000ns时跃变为"H"的信号;内部 信号101,是初始状态为"H"、在测量开始后800ns时跃变为"L"、 在1300ns时跃变为"H"的信号;内部信号102是初始状态是"H"、在从测量开始到1500ns时跃变为"L"、在2200ns时跃变为"H" 的信号。假定内部信号103—107是测量时状态不发生跃变的信号。 以使LSIl的内部计数器212工作的内部时钟的周期是100ns进行 计算,就将LSIl与调试装置2同步工作的周期CYC设定为"8"。 而且,同步周期变更后进行同步工作的周期NCYC被设定为"12"; 在一次输出周期可能输出的数据量LIM被设定为"48";同步周期 变更后在一次输出周期可能输出的数据量NLIM的初始值被设定 为"72"。 LIM、 NLIM的单位是比特,假定一組跟踪信息的数据 量是14比特,被合并时所追加的数据量是10比特。
开始测量时,在步骤1401中,将内部计数器212的值CNT、 同步信号SYN以及输出状态信号OUT设为"0",之后进入步骤 1002。在步骤1002中,确认测量是否结束。当要结束测量时,则 进入步骤1003;当不让测量结束时,则进入步骤1004。在步骤1003 中,判断跟踪信息生成部200中的输出缓冲器204是否为"空"。 当緩冲器204是"空"时,则结束流程;当緩冲器204不是"空" 时,则进入步骤1004。在步骤1004中,确认内部信号100—107 的状态,因为在500ns、 800ns、 1000ns、 1300ns、 1500ns以及 2200ns时具有状态已发生跃变的信号,所以为生成跟踪信息便进 入步骤1005;其它情况下,.因为不存在状态已发生跃变的信号,所 以进入步骤1006。在步骤1005中,将状态已发生跃变的信号设定 为"1",亦即500ns、 1000ns时,将信号100的信号信息设定为 "1", 800ns、 1300ns时,将信号101的信号信息设定为"1", 1500ns、 2200ns时,将信号102的信号信息设定为"1",将除此 以外的信号的信号信息设定为"0",之后进入步骤1007。在步骤 1007中,将状态已发生跃变的信号的信号状态信息32设定为"0" 或"i"。具体而言,在500ns时,信号100从"H"跃变为"L", 所以将信号100的信号状态信息32设定为"0",在800ns时,信 号101从"H"跃变为"L",所以将信号101的信号状态信息32 设定为"0",在1500ns时,信号102从"H"跃变为"L",所以 将信号102的信号状态信息32设定为"0";在1000ns时,信号100从"L"跃变为"H",所以将信号100的信号状态信息32设 定为"1",在1300ns时,信号101从"L"跃变为"H",所以将 信号101的信号状态信息32设定为"1",在2200ns时,信号102 从"L"跃变为"H",所以将信号102的信号状态信息32设定为
"1"。之后进入步骤1008。在步骤1008中,由状态已发生跃变的 信号的信号信息生成表示信号名(信号100是"1"、信号101是
"2"、...信号107是"8")的信号名信息31,并将信号名信息31、 信号状态信息32以及仅由CNT构成的时间信息33作为跟踪信息 包化。因为500ns时信号lOO的信号信息成为"l",所以包化为"l、 0、 5";因为800ns时信号101的信号信息成为"1",所以包化为
"2、 0、 0";因为1000ns时信号100的信号信息成为"1",所以 包化为"1、 1、 2";因为1300ns时信号101的信号信息成为"1", 所以包化为"2、 1、 5",因为1500ns时信号102的信号信息成为
"1",所以包化为"3、 0、 7";因为2200ns时信号102的信号信 息成为"1",所以包化为"3、 1、 2",之后进入步骤1302。在步 骤1302中,确认累积在保持緩冲器203内的信号的跟踪信息中是 否存在已在步骤1008中包化的同一信号的信息。因为在1300ns 时,在800ns时已生成的同一信号101的跟踪信息存在于保持緩冲 器203内,所以为将信息合并而进入步骤1304;因为在500ns、 800ns、 1000ns、 1500ns、 2200ns时,保持緩冲器203内不存在 同一信号的跟踪信息,所以便进入步骤1303。在步骤1303中,将 已包化的跟踪信息存储到保持緩冲器203中后,进入步骤1402。 在步骤1304中,将已生成的跟踪信息的信号状态信息、CNT追加 到存在于保持緩冲器203中的同一信号的跟踪信息中。具体而言, 在1300ns时,将已生成的跟踪信息"2、 1、 5"的信号状态信息、 相当于CNT的"1、 5"追加到已存在于保持緩冲器203内的跟踪 信息"2、 0、 0"中,之后进入步骤1402。
在步骤1006中,使所有信号的信号信息都为"0",之后进入 步骤1402。在步骤1402中,根据跟踪信息的数据量52确认保持 緩冲器203中的数据量。因为1500ns时,数据量是52而变为LIM以上的值,所以进入步骤1403。在1500ns以外的时候,数据量小 于LIM的值,所以进入步骤1305。在步骤1403中,将同步周期 的变更信息输出到跟踪信息生成部200中,响应于此,表示同步周 期变更的信息"0、 0、 0"存储到保持缓冲器203中,时间信息生 成部210将同步周期CYC更新为NCYC的值,将可能输出的数据 量LIM更新为NLIM的值,之后进入步骤1305。 在步骤1305中,确认输出状态信号OUT的值。当输出跟踪信 息10时,OUT成为"1",于是进入步骤1306;当尚未输出跟踪 信息10时,OUT成为"0",于是进入步骤1016。在步骤1306中, 判断输出緩冲器204是否为"空"状态。在已结束输出跟踪信息10 的情况下,为使OUT从"1"变为"0"而进入步骤1309;在尚未 结束输出跟踪信息10的情况下,为进行输出而进入步骤1307。在 步骤1307中,从输出端子16将输出緩冲器204内的信息作为跟踪 信息10输出,之后进入步骤1308。在步骤1308中,从输出緩冲 器204中将已输出的数据删掉,为将尚未输出的数据输出而在输出 緩冲器204内进行移位,之后进入步骤1016。在步骤1309中,使 输出端子16为"开放"并以此作为无跟踪信息IO输出时的设定, 使OUT为"0"而设定为尚未进行输出的状态,之后进入步骤1016。 在步骤1016中,确认内部时钟是否上升。当已上升时,便为 使内部计数器212工作而进入步骤1017;当尚未上升时,则进入 步骤1002。在步骤1017中,确认CNT是否与从CYC中减去1 后所得到的数值一致。因为在800ns时,CNT成为从设定在CYC 内的8减去1所得到的7,在2000ns时,CNT成为从设定在CYC 内的12减去1所得到的11,所以为生成同步信号SYN而进入步 骤1310;当不一致时,则进入步骤1019。在步骤1310中,在800ns 和2000ns时,将同步信号SYN置为'T',将CNT清除为"0", 且使输出状态信号OUT为"1"而设定为输出状态,将已累积在保 持緩冲器203中的数据移动到输出緩冲器204中,之后进入步骤 1002。在步骤1019中,确认CNT是否为"0"。因为在900ns与 2100ns时,CNT是"0",所以为将同步信号SYN清除并对CNT进行加法运算而进入步骤1020;当CNT不是"0"时,则仅为对 CNT进行加法运算而进入步骤1021。在步骤1020中,在900ns 与2100ns时,使同步信号SYN为"0",为对CNT进行加法运算 而进入步骤1021。在步骤1021中,在CNT中加上1,之后进入 步骤1002。 (第四实施方式)
图17是一方框图,示出了本发明第四实施方式中的半导体装 置的构成。在第四实施方式中,在信号确定信息生成部220中设置 有事件选冲f控制部223。如图13 (c)所示,限定获取多艮踪信息的 事件,而使要输出的信息的量减少,由此使得在产生下一个同步信 号以前就结束输出跟踪信息。这对以下情况适用,例如,想知道内 部信号100—103的信号跃变的时间关系,且获取内部信号104 — 107的信息的优先顺序较低的情况等。 能够根据跟踪信息的数据量52自动地限定获取跟踪信息的事 件。对各个事件设定了获取跟踪信息的优先顺序,将对优先顺序较 低的事件的信息的获取屏蔽起来(即禁止获取优先顺序较低的事件 的信息)。能够借助限制对象事件设定部224的设定任意地改变优 先顺序。 在本发明的第四实施方式中,参考图19所示的波形图,对检 测内部信号的状态跃变,并利用图18所示的算法生成跟踪信息10 的过程进行说明。 在图19中,内部信号100,是初始状态为"H"、在测量开始 后500ns时跃变为"L"、在1000ns时跃变为"H"的信号;内部 信号101,是初始状态'为"H"、在测量开始后800ns时跃变为"L"、 在1300ns时跃变为"H"的信号;内部信号102是初始状态是"H"、 在测量开始后1500ns时跃变为"L"、在2200ns时跃变为"H" 的信号;假定内部信号103—107是测量时状态不发生跃变的信号。 以LSI1的内部计数器212工作的内部时钟的周期是100ns进行计 算,就将LSIl与调试装置2同步工作的周期CYC设定为"8"。将 开始信号屏蔽的跟踪信息的数据量RLIM设定为"24"。 RLIM的单位是比特。所设定的信号屏蔽的优先顺序是信号102较高,信号
100和信号101较低。假定一组跟踪信息的数据量是14比特,被 合并时所追加的数据量是10比特。
开始测量时,在步骤1501中,将内部计数器212的值CNT、 同步信号SYN以及输出状态信号OUT设为"0",之后进入步骤 1002。在步骤1002中,确认测量是否结束。当要结束测量时,则 进入步骤1003;当不让测量结束时,则进入步骤1502。在步骤1003 中,判断跟踪信息生成部200中的输出緩沖器204是否为"空"。 当緩冲器204是"空"时,则结束流程;当緩冲器204不是"空" 时,则进入步骤1502。在步骤1502中,确认内部信号100—107 的状态,虽然在500ns、 800ns、 1000ns、 1300ns、 1500ns以及 2200ns时具有状态已发生跃变的信号,但在1500ns时信号102 被指定"屏蔽,,,所以为在500ns、 800ns、 1000ns、 1300ns以及 2200ns时生成跟踪信息,便进入步骤1005;其它情况下,因为不 存在状态已发生跃变的信号,或者已被指定"屏蔽",所以进入步骤 1006。在步骤1005中,将状态已发生跃变的信号的信号信息设定 为"1",亦即,500ns、 1000ns时,将信号100的信号信息设定为
'T'; 800ns、 1300ns时,将信号101的信号信息设定为'T'; 2200ns时,将信号102的信号信息设定为"1";将除此以外的信 号的信号信息设定为"0"。之后进入步骤1007。在步骤1007中, 将状态已发生跃变的信号的信号状态信息32设定为"0"或"1"。 具体而言,在500ns时,信号100从"H"跃变为"L",所以将信 号IOO的信号状态信息32设定为"0",在800ns时,信号101从
"H"跃变为"L",所以将信号101的信号状态信息32设定为"0", 在1000ns时,信号100从"L"跃变为"H",所以将信号100的 信号状态信息32设定为"1",在1300ns时,信号101从"L"跃 变为"H",所以将信号101的信号状态信息32设定为"1",在 2200ns时,信号102从"L"跃变为"H",所以将信号102的信 号状态信息32设定为'T'。之后进入步骤1008。在步骤1008中, 由状态已发生跃变的信号的信号信息生成表示信号名(信号100是'T,、信号101是"2"、信号102是"3"、…信号107是"8") 的信号名信息31,并将信号名信息31、信号状态信息32和仅由 CNT构成的时间信息33作为跟踪信息包化。因为500ns时信号 IOO的信号信息是"1",所以包化为"1、 0、 5";因为800ns时信 号101的信号信息是"1",所以包化为"2、 0、 0";因为1000ns 时信号100的信号信息是"r,所以包化为"1、1、2";因为1300ns 时信号101的信号信息是"1",所以包化为"2、1、5";因为2200ns 时信号102的信号信息是"1",所以包化为"3、 1、 6"。之后进入 步骤1302。在步骤1302中,确认累积在保持緩冲器203内的信号 的跟踪信息中是否存在已在步骤1008中包化的同一信号的信息。 因为在1300ns时,在800ns时已生成的同一信号101的跟踪信息 存在于保持緩冲器203内,所以为将信息合并而进入步骤1304; 因为在500ns、 800ns、 1000ns以及2200ns时,保持緩冲器203 内不存在同一信号的跟踪信息,所以进入步骤1303。在步骤1303 中,将已包化的跟踪信息存储到保持緩冲器203中,之后进入步骤 1503。在步骤1304中,将已生成的跟踪信息的信号状态信息、CNT 追加到存在于保持緩冲器203中的同一信号的跟踪信息中。在 1300ns时,将已生成的跟踪信息"2、 1、 5"的信号状态信息、相 当于CNT的"1、 5"追加到已存在于保持緩冲器203内的跟踪信 息"2、 0、 0"中,之后进入步骤1503。在步骤1006中,使所有 信号的信号信息为"0",之后进入步骤1503。
在步骤1503中,根据跟踪信息的数据量52确认保持緩冲器 203中的数据量。因为1000ns时,数据量是28,变为RLIM以上 的值,所以进入步骤1504。在1000ns以外的时候,进入步骤1305。 在步骤1504中,指定将屏蔽优先顺序较高的信号102 "屏蔽",之 后进入步骤1305。 在步骤1305中,确认输出状态信号OUT的值。当输出跟踪信 息10时,OUT成为'T',因此进入步骤1306;当尚未输出跟踪 信息10时,OUT成为"0",因此进入步骤1016。在步骤1306中, 判断输出緩冲器204是否为"空"状态。在已结束输出跟踪信息10的情况下,为使OUT从"1"变为"0"而进入步骤1309;在尚未 结束输出跟踪信息10的情况下,为进行输出而进入步骤1307。在 步骤1307中,从输出端子16将输出緩冲器204内的信息作为跟踪 信息IO输出,之后进入步骤1308。在步骤1308中,从输出緩冲 器204中将已输出的数据删掉,为将尚未输出的数据输出而在输出 緩冲器204内进行移位,之后进入步骤1016。在步骤1309中,使 输出端子16为"开放"并以此作为无跟踪信息IO输出时的设定, 使OUT为"0"而设定为尚未进行输出的状态,之后进入步骤1016。 在步骤1016中,确认内部时钟是否上升。当已上升时,便为 使内部计数器212工作而进入步骤1017;当尚未上升时,则进入 步骤1002。在步骤1017中,确认CNT是否与从CYC中减去1 后所得到的数值一致。因为在800ns、1600ns以及2400ns时,CNT 成为从设定在CYC内的8减去l所得到的7,所以为生成同步信号 SYN而进入步骤1310;当不一致时,则进入步骤1019。在步骤 1310中,在800ns、 1600ns以及2400ns时,将同步信号SYN置 为"1",将CNT清除为"0",且使输出状态信号OUT为"1"而 设定为输出状态,将已累积在保持緩冲器203中的数据移动到输出 緩冲器204中,之后进入步骤1002。在步骤1019中,确认CNT 是否为"0"。因为在900ns、 1700ns以及2500ns时,CNT是"O", 所以为将同步信号SYN清除并对CNT进行加法运算而进入步骤 1020;当CNT不是"0"时,则仅为对CNT进行加法运算而进入 步骤1021。在步骤1020中,在900ns、 1700ns以及2500ns时, 使同步信号SYN为"0",为对CNT进行加法运算而进入步骤1021 。 在步骤1021中,在CNT中加上1,之后进入步骤1002。 (第五实施方式)
图20是一方框图,示出了本发明第五实施方式中的半导体装 置的构成。在第五实施方式中,在跟踪信息生成部200中设置有时 间信息获取事件选择控制部201。如图13 (d)所示,分为获取不 包含时间信息的跟踪信息的事件和获取包含时间信息的跟踪信息的 事件,而使要输出的信息的量减少,由此使得在产生下一个同步信号以前就结束跟踪信息的输出。这对以下情况适用,例如,在想知
道各个内部信号100—107的下降时间之间的关系,但对于各个内
部信号的上升仅获取这一事件之产生的信息,却不需要获取各个信 号上升这一 事件的时间信息。
能够根据跟踪信息的数据量52自动地限定获取包含时间信息 的跟踪信息的事件。对各个事件设定了获取跟踪信息的优先顺序。 在获取信息时,优先顺序最低的事件就第一个不去获取时间信息, 优先顺序第二低的事件就第二个不去获取时间信息,依次类推,优 先顺序越低就越不去获取时间信息。能够借助限制对象事件设定部 202的设定任意地改变优先顺序。 在本发明的第五实施方式中,参考图22所示的波形图,对检 测内部信号的状态跃变,并利用图21所示的算法生成跟踪信息10 的过程进行说明。 在图22中,内部信号100,是初始状态为"H"、在测量开始 后500ns时跃变为"L"、在1000ns时跃变为"H"的信号;内部 信号101,是初始状态为"H"、在测量开始后800ns时跃变为"L"、 在1300ns时跃变为"H"的信号;内部信号102是初始状态是"H"、 在测量开始后1500ns时跃变为"L"、在2200ns时跃变为"H" 的信号;假定内部信号103 —107是测量时状态不发生跃变的信号。 以使LSIl的内部计数器212工作的内部时钟的周期是100ns进行 计算,就将LSIl与调试装置2同步工作的周期CYC设定为"8"。 将使时间信息屏蔽开始的跟踪信息的数据量TLIM设定为"24"。 TLIM的单位是比特。无论是信号100、 101还是信号102,所设 定的对时间信息进行屏蔽的优先顺序都是上升时高,下降时低。假 设一組跟踪信息的数据量是14比特,被合并时所追加的信号状态 信息32的数据量是2比特。
开始测量时,在步骤1601中,将内部计数器212的值CNT、 同步信号SYN以及输出状态信号OUT设为"0",之后进入步骤 1002。在步骤1002中,确认测量是否结束。当要结束测量时,则 进入步骤1003;当不让测量结束时,则进入步骤1004。在步骤1003中,判断跟踪信息生成部200中的输出緩冲器204是否为"空"。 当緩冲器204是"空"时,则结束流程;当緩冲器204不是"空" 时,则进入步骤1004。在步骤1004中,确认内部信号100—107 的状态,因为在500ns、 800ns、 1000ns、 1300ns、 1500ns以及 2200ns时具有状态已发生跃变的信号,所以为生成跟踪信息,便 进入步骤1005;其它情况下,因为不存在状态已发生跃变的信号, 所以进入步骤1006。在步骤1005中,将状态已发生跃变的信号的 信号信息设定为"1",亦即,500ns、 1000ns时,将信号100的信 号信息设定为"1"; 800ns、 1300ns时,将信号101的信号信息设 定为"1"; 1500ns、 2200ns时,将信号102的信号信息设定为"1"; 将除此以外的信号的信号信息设定为"0"。之后进入步骤1007。 在步骤1007中,将状态已发生跃变的信号的信号状态信息32设定 为"0"或"1"。具体而言,在500ns时,信号100从"H"跃变 为"L",所以将信号100的信号状态信息32设定为"0",在800ns 时,信号101从"H"跃变为"L",所以将信号101的信号状态信 息32设定为"0",在1500ns时,信号102从"H,,跃变为"L", 所以将信号102的信号状态信息32设定为"0";在1000ns时, 信号100从"L"跃变为"H",所以将信号100的信号状态信息 32设定为"1",在1300ns时,信号101从"L"跃变为"H",所 以将信号101的信号状态信息32设定为"1",在2200ns时,信 号102从"L"跃变为"H",所以将信号102的信号状态信息32 设定为'T'。之后进入步骤1602。在步骤1602中,确认信号是否 是时间信息被指定"屏蔽"的信号。因为在1300ns时,对信号100 —102的上升指定为对时间信息加以屏蔽,因此为生成不含时间信 息的跟踪信息而进入步骤1603。 1300ns以外的时候为生成含有时 间信息的跟踪信息而进入步骤1008。在步骤1603中,生成不含时 间信息的跟踪信息。具体而言,1300ns时,将内部信号101的信 号名信息"2"和信号状态信息"1"包化为"2、 1"作跟踪信息用, 之后进入步骤1302。在步骤1008中,由状态已发生跃变的信号的 信号信息生成表示信号名(信号100是"1"、信号101是"2"、信.号102是"3"、...信号107是"8")的信号名信息31,并将信号 名信息31、信号状态信息32和仅由CNT构成的时间信息33作为 跟踪信息包化。因为500ns时,信号IOO的信号信息是"1",所以 包化为"1、 0、 5";因为800ns时,信号101的信号信息是"1", 所以包化为"2、 0、 0";因为1000ns时,信号100的信号信息是 "1",所以包化为"1、 1、 2";因为1500ns时,信号102的信号 信息是"1",所以包化为"3、 0、 7";因为2200ns时,信号102 的信号信息是"1",所以包化为"3、 1、 6"。之后进入步骤1302。 在步骤1302中,确认累积在保持緩冲器203内的信号的跟踪信息 中是否存在已在步骤1008中包化的同一信号的信息。因为在 1300ns时,已在800ns时生成的同一信号101的跟踪信息存在于 保持緩冲器203内,所以为将信息合并而进入步骤1604;因为在 500ns、 800ns、 1000ns、 1500ns以及2200ns时,保持緩冲器203 内不存在同一信号的跟踪信息,所以进入步骤1303。在步骤1303 中,将已包化的跟踪信息存储到保持緩冲器203中,之后进入步骤 1605。在步骤1604中,将从已生成的跟踪信息中除去信号名信息 后所得到的信息追加到存在于保持緩冲器203中的同 一信号的跟踪 信息中。在1300ns时,将对应于已生成的跟踪信息"2、 1"中的 信号状态信息的"1"追加到已存在于保持緩冲器203内的跟踪信 息"2、 0、 0"中,之后进入步骤1605。在步骤1006中,使所有 信号的信号信息为"0",之后进入步骤1605。 在步骤1605中,根据跟踪信息的数据量52确认保持緩冲器 203中的数据量。因为1000ns时,数据量是28,变为TLIM以上 的值,所以进入步骤1606。在1000ns以外的时候,进入步骤1305。 在步骤1606中,将时间信息屏蔽优先顺序较高的事件即信号100 —102的上升指定为"屏蔽",之后进入步骤1305。 在步骤1305中,确认输出状态信号OUT的值。当输出跟踪信 息10时,OUT成为"1",因此进入步骤1306;当尚未输出跟踪 信息10时,OUT成为"0",因此进入步骤1016。在步骤1306中, 判断输出緩冲器204是否为"空"状态。在已结束输出跟踪信息10的情况下,为使OUT从"1"变为"0"而进入步骤1309;在尚未 结束输出跟踪信息10的情况下,为进行输出而进入步骤1307。在 步骤1307中,从输出端子16将输出緩冲器204内的信息作为跟踪 信息10输出,之后进入步骤1308。在步骤1308中,从输出緩冲 器204中将已输出的数据删掉,为将尚未输出的数据输出而在输出 緩冲器204内进行移位,之后进入步骤1016。在步骤1309中,使 输出端子16为"开放"并以此作为无跟踪信息IO输出时的设定, 使OUT为"0"而设定为尚未进行输出的状态,之后进入步骤1016。 在步骤1016中,确认内部时钟是否上升。当已上升时,便为 使内部计数器212工作而进入步骤1017;当尚未上升时,则进入 步骤1002。在步骤1017中,确认CNT是否与从CYC中减去1 后所得到的数值一致。因为在800ns、1600ns以及2400ns时,CNT 成为从设定在CYC内的8减去1所得到的7,所以为生成同步信号 SYN而进入步骤1310;当不一致时,则进入步骤1019。在步骤 1310中,在800ns、 1600ns以及2400ns时,将同步信号SYN置 为"1",将CNT清除为"0",且使输出状态信号OUT为"1"而 设定为输出状态,将已累积在保持緩冲器203中的数据移动到输出 緩冲器204中,之后进入步骤1002。在步骤1019中,确认CNT 是否为"0"。因为在900ns、 1700ns以及2500ns时,CNT是"0", 所以为将同步信号SYN清除并对CNT进行加法运算而进入步骤 1020;当CNT不是"0"时,则仅为对CNT进行加法运算而进入 步骤1021。在步骤1020中,在900ns、 1700ns以及2500ns时, 使同步信号SYN为"0",为对CNT进行加法运算而进入步骤1021 。 在步骤1021中,在CNT中加上1,之后进入步骤1002。 (第六实施方式)
图23是一方框图,示出了本发明第六实施方式中的半导体装 置的构成。在第六实施方式中,设置有第三实施方式中所示的同步 产生周期设定部213、第四实施方式中所示的事件选择控制部223 以及第五实施方式中所示的时间信息获取事件选择控制部201。利 用跟踪信息丢失回避单元选择部230进行选择,使上述三种单元中之一单元有效。由此便能够任意地选捧对跟踪信息的丢失加以回避 的单元。 能够根据保持緩冲器203内的跟踪信息的数据量52自动地对 跟踪信息的丢失加以回避的单元进行有效/无效切换。对各个跟踪 信息丟失回避单元201、 213、 223设定了优先顺序。在正在输出信 息时产生了下一个同步信号而有可能导致数据丢失的情况下,利用 各个单元的有效/无效切换信号54 — 56使优先顺序较高的单元有 效。能够借助跟踪信息丢失回避单元选摔部230的设定任意地改变 优先顺序。 在本发明的第六实施方式中,对检测内部信号的状态跃变,并 利用图24所示的算法生成跟踪信息IO的过程进行说明。因为若使 屏蔽时间信息的方法的优先顺序最高,则此时的波形图与图22所 示的波形图一样,所以利用波形图22进行说明。 在图22中,内部信号100,是初始状态为"H"、在测量开始 后500ns时跃变为"L"、在1000ns时跃变为"H"的信号;内部 信号101,是初始状态为"H"、在测量开始后800ns时跃变为"L"、 在1300ns时跃变为"H"的信号;内部信号102是初始状态是"H"、 在测量开始后1500ns时跃变为"L"、在2200ns时跃变为"H" 的信号;假定内部信号103 —107是测量时状态不发生跃变的信号。 以使LSIl的内部计数器212工作的内部时钟的周期是100ns进行 计算,就将LSIl与调试装置2同步工作的周期CYC设定为"8"。 将使跟踪信息丢失回避单元201、 213、 223有效的跟踪信息的数据 量ALIM设定为"24"。 ALIM的单位是比特。在跟踪信息丢失回 避单元选择部230中,将屏蔽时间信息的方法的优先顺序设定得较 高,将其它方法的优先顺序设定得较低。在利用时间信息获取事件 选择控制部201的时候,设定成对信号100—102下降的时间信息 进行屏蔽。假设一组跟踪信息的数据量是14比特,被合并时所追 加的信号状态信息的数据量是2比特。
开始测量时,在步骤1701中,将内部计数器212的值CNT、 同步信号SYN以及输出状态信号OUT设为"0",之后进入步骤1002。在步骤1002中,确认测量是否结束。当要结束测量时,则 进入步骤1003;当不让测量结束时,则进入步骤1502。在步骤1003 中,判断跟踪信息生成部200中的输出緩冲器204是否为"空"。 当緩冲器204是"空"时,则结束流程;当緩冲器204不是"空" 时,则进入步骤1502。在步骤1502中,确认内部信号100—107 的状态,因为在500ns、 800ns、 1000ns、 1300ns、 1500ns以及 2200ns时具有状态已发生跃变的信号,而且任何时候信号都没有 被指定"屏蔽",所以为生成跟踪信息而进入步骤1005;其它情况 下,因为不存在状态已发生跃变的信号,所以进入步骤1006。在步 骤1005中,将状态已发生跃变的信号的信号信息设定为"1",亦 即,500ns、 1000ns时,将信号100的信号信息设定为'T,; 800ns、 1300ns时,将信号101的信号信息设定为"1"; 1500ns、 2200ns 时,将信号102的信号信息设定为"1";将除此以外的信号的信号 信息设定为"0"。之后进入步骤1007。在步骤1007中,将状态已 发生跃变的信号的信号状态信息32设定为"0"或"1"。具体而言, 在500ns时,信号100从"H"跃变为"L",所以将信号100的 信号状态信息32设定为"0",在800ns时,信号101从"H"跃 变为"L",所以将信号101的信号状态信息32设定为"0",在1500ns 时,信号102从"H"跃变为"L",所以将信号102的信号状态信 息32设定为"0";在1000ns时,信号100从"L"跃变为"H", 所以将信号100的信号状态信息32设定为'T',在1300ns时, 信号101从"L"跃变为"H",所以将信号101的信号状态信息 32设定为'T,,在2200ns时,信号102从"L"跃变为"H",所 以将信号102的信号状态信息32设定为"1"。之后进入步骤1602。 在步骤1602中,确认信号是否是时间信息被指定"屏蔽"的信号。 在1300ns时,被指定为对信号100—102上升的时间信息进行屏 蔽,所以为生成不含时间信息的跟踪信息而进入步骤1603。在 1300ns以外的时候,为生成含有时间信息的跟踪信息而进入步骤 1008。在步骤1603中,生成不含时间信息的跟踪信息。在1300ns 时,将内部信号101的信号名信息"2"和信号状态信息"1"包化为"2、 1"作跟踪信息用,之后进入步骤1302。在步骤1008中, 由状态已发生跃变的信号的信号信息生成表示信号名(信号100是 "1"、信号101是"2"、 信号102是"3"、...信号107是"8") 的信号名信息31,并将信号名信息31、信号状态信息32和仅由 CNT构成的时间信息33作为跟踪信息包化。因为500ns时,信号 IOO的信号信息是"1",所以包化为"1、 0、 5";因为800ns时, 信号101的信号信息是"1",所以包化为"2、 0、 0";因为1000ns 时,信号100的信号信息是"1",所以包化为"1、 1、 2";因为 1500ns时,信号102的信号信息是"1",所以包化为"3、 0、 7"; 因为2200ns时,信号102的信号信息是"1",所以包化为"3、 1、 6"。之后进入步骤1302。在步骤1302中,确认累积在保持缓冲器 203内的信号的跟踪信息中是否存在已在步骤1008中包化的同一 信号的信息。因为在1300ns时,在800ns时已生成的同一信号101 的跟踪信息存在于保持緩冲器203内,所以为将信息合并而进入步 骤1604;因为在500ns、 800ns、 1000ns、 1500ns以及2200ns 时,保持緩冲器203内不存在同一信号的跟踪信息,所以进入步骤 1303。在步骤1303中,将已包化的跟踪信息存储到保持緩冲器203 中,之后进入步骤1702。在步骤1604中,将从已生成的跟踪信息 中除去信号名信息后所得到的信息追加到存在于保持緩冲器203中 的同一信号的跟踪信息中。在1300ns时,将对应于已生成的跟踪 信息"2、 1"中的信号状态信息的"1"追加到已存在于保持緩冲 器203内的跟踪信息"2、 0、 0"中,之后进入步骤1702。在步骤 1006中,使所有信号的信号信息为"0",之后进入步骤1702。
在步骤1702中,根据跟踪信息的数据量52确认保持緩冲器 203中的数据量。因为1000ns时,数据量是28,变为ALIM以上 的值,所以进入步骤1703。在1000ns以外的时候,进入步骤1305。 在步骤1703中,确认在跟踪信息丟失回避单元选择部230中所设 定的优先顺序。在变更同步周期的方法的优先顺序最高的情况下, 为进行变更同步周期的处理而进入步骤1704;在变更同步周期以外 的方法的优先顺序最高的情况下,则进入步骤1705。在步骤1704中,同步产生周期设定部213在同步产生周期设定部有效/无效切
换信号54的控制下工作,将要变更同步周期这一信息输出给跟踪 信息生成部200,跟踪信息生成部200接收该信息后,将表示同步 周期变更的信息"0、 0、 0"存储到保持缓冲器203中。时间信息 生成部210将同步周期CYC更新为NCYC的值,之后进入步骤 1305。在步骤1705中,对设定在跟踪信息丢失回避单元选择部230 中的优先顺序进行确认。在对获取信号的信息加以屏蔽的方法的优 先顺序最高的情况下,为进行信号的"屏蔽"指定而进入步骤1706; 在对获取信号的信息加以屏蔽的方法以外的方法的优先顺序最高的 情况下,因为这意味着对时间信息进行屏蔽的方法的优先顺序最高, 所以为指定对时间信息进行屏蔽而进入步骤1707。在步骤1706中, 事件选择控制部223在事件选择控制部有效/无效切换信号55的 控制下,将被设定为屏蔽的信号指定为"屏蔽",之后进入步骤1305。 在步骤1707中,时间信息获取事件选择控制部201在时间信息获 取事件选择部有效/无效切换信号56的控制下工作,将在利用时 间信息获取事件选择控制部201时设定为屏蔽的信号指定为对时间 信息进行屏蔽。将在利用时间信息获取事件选择控制部201时被设 定为屏蔽的信号100—102下降的时间信息指定为屏蔽,之后进入 步骤1305。 在步骤1305中,确认输出状态信号OUT的值。当输出跟踪信 息10时,OUT成为"1",因此进入步骤1306;当尚未输出跟踪 信息10时,OUT成为"0",因此进入步骤1016。在步骤1306中, 判断输出緩冲器204是否为"空"状态。在已结束输出跟踪信息10 的情况下,为使OUT从"1"变为"0"而进入步骤1309;在尚未 结束输出跟踪信息10的情况下,为进行输出而进入步骤1307。在 步骤1307中,从输出端子16将输出緩冲器204内的信息作为跟踪 信息10输出,之后进入步骤1308。在步骤1308中,从输出緩冲 器204中将已输出的数据删掉,为将尚未输出的数据输出而在输出 緩沖器204内进行移位,之后进入步骤1016。在步骤1309中,使 输出端子16为"开放"并以此作为无跟踪信息IO输出时的设定,使OUT为"0"而设定为尚未进行输出的状态,之后进入步骤1016。
在步骤1016中,确认内部时钟是否上升。当已上升时,便为 使内部计数器212工作而进入步骤1017;当尚未上升时,则进入 步骤1002。在步骤1017中,确认CNT是否与从CYC中减去1 后所得到的数值一致。因为在800ns、1600ns以及2400ns时,CNT 成为从设定在CYC内的8减去1所得到的7,所以为生成同步信号 SYN而进入步骤1310;当不一致时,则进入步骤1019。在步骤 1310中,在800ns、 1600ns以及2400ns时,将同步信号SYN置 为"1",将CNT清除为"0",且使输出状态信号OUT'为"1"而 设定为输出状态,将已累积在保持緩冲器203中的数据移动到输出 緩冲器204中,之后进入步骤1002。在步骤1019中,确认CNT 是否为"0,,。因为在900ns、 1700ns以及2500ns时,CNT是"0", 所以为将同步信号SYN清除并对CNT进行加法运算而进入步骤 1020;当CNT不是"0"时,则仅为对CNT进行加法运算而进入 步骤1021。在步骤1020中,在900ns、 1700ns以及2500ns时, 使同步信号SYN为"0",为对CNT进行加法运算而进入步骤1021 。 在步骤1021中,在CNT中加上1,之后进入步骤1002。 一工业实用性一
综上所述,本发明所涉及的半导体装置及开发支援装置,作为 从外部对LSI内部信号的工作情况进行分析、评价的技术方案很有 用。
权利要求
1. 一种半导体装置,其特征在于包括自内部信号的跃变信息获取信号名信息与信号状态信息的单元,将所述信号名信息与所述信号状态信息编码的单元,以及将对所述信号名信息与所述信号状态信息编码所得的结果作为跟踪信息输出的单元。
2. 根据权利要求l所述的半导体装置,其特征在于 进一步包括生成表示所述半导体装置的内部时间的时间信息的单元, 将所述时间信息编码的单元,以及将对所述时间信息编码所得的结果追加为所述跟踪信息的 一 部分的单元。
3. 根据权利要求l所述的半导体装置,其特征在于 进一步包括生成表示同步信号的时刻的第一时间信息的单元, 生成表示相对于所述笫一时间信息的所述半导体装置的内部时间的第 二时间信息的单元,将所述第一与第二时间信息编码的单元,以及将对所述第 一与第二时间信息编码所得的结果追加为所述跟踪信息的 一部分的单元。
4. 一种开发支援装置,从权利要求3所述的半导体装置接收所迷跟踪 信息,其特征在于包括将所述跟踪信息解码以获取所述信号名信息、所述信号状态信息以及 所述第一与第二时间信息的单元,由所述第一与第二时间信息计算求出实时信息的单元,以及 利用所述信号名信息、所迷信号状态信息及所述实时信息再现所迷半导体装置的内部信号的波形的信息的单元。
5. 根据权利要求2所述的半导体装置,其特征在于 进一步包括积累所述应该输出的跟踪信息的单元,以及与同步信号的时刻同步地输出所述已积累下来的跟踪信息的单元。
6. 根据权利要求5所述的半导体装置,其特征在于 进一步包括变更所述同步信号的时刻的单元。
7. 根据权利要求5所述的半导体装置,其特征在于进一步包括对获取所述信号名信息与所述信号状态信息的事件加以 限制的单元。
8. 根据权利要求5所迷的半导体装置,其特征在子进一步包括进行限制以部分地输出不包含所述时间信息的跟踪信息的 单元。
9. 根据权利要求5所述的半导体装置,其特征在于 进一步包括第一单元,变更所述同步信号的时刻,第二单元,对获取所述信号名信息与所述信号状态信息的事件加以限制,第三单元,进行限制而部分地输出不包含所述时间信息的跟踪信息, 以及第四单元,选择并使所述第一、第二以及第三单元中的任一个单元有效。
10. 根据权利要求5所述的半导体装置,其特征在于进一 步包括根据所述跟踪信息中的累积数据量自动地变更所迷同步 信号的时刻的单元。
11. 根据权利要求5所述的半导体装置,其特征在于进一 步包括根据所述跟踪信息中的累积数据量自动地限制获取所述 信号名信息与所述信号状态信息的事件的单元。
12. 根据权利要求5所述的半导体装置,其特征在于进一步包括根据所迷跟踪信息中的累积数据量自动地限制而部分地输出不包含所述时间信息的跟踪信息的单元。
13. 根据权利要求9所述的半导体装置,其特征在于 所述第四单元,根据所述跟踪信息中的累积数据量使所述第一单元工作而自动地变更所述同步信号的时刻,或根据所述跟踪信息中的累积数据 量使所述第二单元工作而自动地限制获取所述信号名信息与所述信号状态 信息的事件,或根据所述跟踪信息中的累积数据量使所述第三单无工作而 自动地进行限制,以便部分地输出不包含所述时间信息的跟踪信息。
14. 根据权利要求ll所述的半导体装置,其特征在于 进一步包括根据事先设定好的优先顺序决定不获取所述信号名信息与所述信号状态信息的事件的单元。
15. 根据权利要求12所述的半导体装置,其特征在于 进一步包括根据事先设定好的优先顺序决定输出不包含所述时间信息的跟踪信息的事件的单元。
全文摘要
本发明公开了一种半导体装置及开发支援装置。对LSI内部信号(100-107)的状态进行监视,将信号名信息(31)、信号状态信息(32)以及信号状态已发生跃变的LSI内部的时间信息(33)包化并作为跟踪信息(10)输出到外部。在开发支援装置中,将跟踪信息(10)解码,再将LSI内部的时间信息变换为实时信息,然后,根据所得到的信息再现LSI内部信号的波形。能够用个数比跟踪信号的条数还少的端子(16)跟踪多个LSI内部信号。
文档编号G06F11/28GK101548270SQ200880000818
公开日2009年9月30日 申请日期2008年6月9日 优先权日2007年9月3日
发明者三野吉辉, 土居大峰, 尾坂匡隆, 濑崎朋久, 生形笃, 筒井龙太 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1