專利名稱:半導(dǎo)體裝置及開發(fā)支援裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種能夠在外部跟蹤LSI (大規(guī)模集成電路)內(nèi)部 信號的半導(dǎo)體裝置以及應(yīng)用了該半導(dǎo)體裝置的開發(fā)支援裝置。
背景技術(shù):
要想實(shí)時地對LSI內(nèi)部的動作進(jìn)行分析,就需要在LSI外部跟 蹤LSI內(nèi)部信號。因此,在現(xiàn)有技術(shù)下,將被跟蹤的信號輸出到 LSI外部,在LSI外部再利用邏輯分析儀等進(jìn)行分析。 但是,若跟蹤對象即LSI內(nèi)部信號的數(shù)量增加,就需要與該信 號的數(shù)量成正比地增加用于跟蹤的外部端子的數(shù)量,而會導(dǎo)致成本
增加o 因此,能夠想到的做法就是使具有通常功能的外部端子兼作用
于跟蹤的外部端子用。但在進(jìn)行評價時通常的功能卻得不到利用,
而難以對所有的功能進(jìn)行評價。
另一方面,還有另一眾人皆知的技術(shù)。即,將控制內(nèi)部的選擇
電路而從跟蹤對象即多個LSI內(nèi)部信號中選出的信號輸出到LSI
外部(參考專利文獻(xiàn)l)。
專利文獻(xiàn)1:日本公開特許公報(bào)特開2002 — 24201號公報(bào)
發(fā)明內(nèi)容
一發(fā)明要解決的技術(shù)問題一
但在現(xiàn)有技術(shù)下,對超過了跟蹤用外部端子的那一部分LSI內(nèi)
部信號卻不能夠同時跟蹤。也就是說,現(xiàn)有的跟蹤技術(shù)對要同時跟
蹤的對象即LSI內(nèi)部信號的數(shù)量增加的情況尚未加以考慮。因此, 如果在并列地跟蹤多個LSI內(nèi)部信號時,信號數(shù)量增加,就不能夠 進(jìn)行跟蹤了,這是很容易預(yù)料到的事情。
本發(fā)明正是為解決該技術(shù)問題而研究開發(fā)出來的。其目的在于提供一種能夠用一個外部端子同時跟蹤多個LSI內(nèi)部信號的技術(shù)方案。
一用以解決技術(shù)問題的技術(shù)方案— 本發(fā)明是這樣解決上述技術(shù)問題的。即,并非將LSI內(nèi)部信號 直接輸出到LSI外部,而是從跟蹤對象即LSI內(nèi)部信號的狀態(tài)已發(fā) 生變化的信息中獲取信號名、信號狀態(tài),并與信號狀態(tài)已變化的時 間信息一起,對該信號名信息和信號狀態(tài)信息進(jìn)行編碼,之后輸出 到LSI外部,在LSI外部再進(jìn)行解碼,以再現(xiàn)LSI內(nèi)部信息。 一發(fā)明的效果一 在本發(fā)明中,從一條外部端子所輸出的信息中即可知道多個 LSI內(nèi)部信號動作之有無,在跟蹤對象即LSI內(nèi)部信號的數(shù)量比用 于跟蹤的外部端子的數(shù)量多的情況下,也能夠并列地進(jìn)行跟蹤。
若利用同步,則能夠在維持著用以在外部跟蹤LSI內(nèi)部信號的 信息量的同時,使數(shù)據(jù)量減少。而且,若采取對策以避免在獲取LSI 內(nèi)部信號時有可能發(fā)生的某些信息的丟失,就一定能夠獲取所需要 的信息。
[圖l]圖l是一方框圖,示出了本發(fā)明所涉及的半導(dǎo)體裝置與開 發(fā)支援裝置的大致構(gòu)成。圖2是一方框圖,示出了本發(fā)明第一實(shí)施方式所涉及的 半導(dǎo)體裝置的構(gòu)成。圖3是一方框圖,示出了本發(fā)明第一實(shí)施方式所涉及的 開發(fā)支援裝置的構(gòu)成。圖4是一流程圖,示出了本發(fā)明第一實(shí)施方式所涉及的 獲取LSI內(nèi)部信息的算法。圖5是一顯示本發(fā)明第一實(shí)施方式所涉及的獲取LSI內(nèi) 部信息的過程的圖。圖6是一顯示本發(fā)明第一實(shí)施方式所涉及的由調(diào)試裝置 對跟蹤信息加以解碼的算法的圖。圖7是一顯示本發(fā)明第一實(shí)施方式所涉及的對跟蹤信息進(jìn)行解碼的過程的圖。圖8是一顯示本發(fā)明第一實(shí)施方式所涉及的由調(diào)試裝置 再現(xiàn)LSI內(nèi)部信息的算法的圖。圖9是一顯示本發(fā)明第一實(shí)施方式所涉及的LSI內(nèi)部信 息的再現(xiàn)過程的圖。圖IO是一方框圖,示出了本發(fā)明第二實(shí)施方式所涉及 的半導(dǎo)體裝置的構(gòu)成。圖11是一顯示本發(fā)明第二實(shí)施方式所涉及的用來獲取 LSI內(nèi)部信息的算法的圖。圖12是一顯示本發(fā)明第二實(shí)施方式所涉及的獲取LSI 內(nèi)部信息的過程的圖。圖13 (a)到圖13 (d)是顯示跟蹤信息的丟失與回避 措施的圖。圖14是一方框圖,示出了本發(fā)明第三實(shí)施方式所涉及 的半導(dǎo)體裝置的構(gòu)成。圖15是一顯示本發(fā)明第三實(shí)施方式所涉及的用來獲取 LSI內(nèi)部信息的算法的圖。圖16是一顯示本發(fā)明第三實(shí)施方式所涉及的獲取LSI 內(nèi)部信息的過程的圖。圖17—方框圖,示出了本發(fā)明第四實(shí)施方式所涉及的 半導(dǎo)體裝置的構(gòu)成。圖18是一顯示本發(fā)明第四實(shí)施方式所涉及的用來獲取 LSI內(nèi)部信息的算法的圖。圖19是一顯示本發(fā)明第四實(shí)施方式所涉及的獲取LSI 內(nèi)部信息的過程的圖。圖20是一方框圖,示出了本發(fā)明第五實(shí)施方式所涉及 的半導(dǎo)體裝置的構(gòu)成。圖21是一顯示本發(fā)明第五實(shí)施方式所涉及的用來獲取 LSI內(nèi)部信息的算法的圖。圖22是顯示本發(fā)明第五實(shí)施方式所涉及的獲取LSI內(nèi)部信息的過程的圖。圖23是一方框圖,示出了本發(fā)明第六實(shí)施方式所涉及 的半導(dǎo)體裝置的構(gòu)成。圖24是顯示本發(fā)明第六實(shí)施方式所涉及的用來獲取 LSI內(nèi)部信息的算法的圖。 一符號的說明一
1LSI (半導(dǎo)體裝置)
2調(diào)試裝置(開發(fā)支援裝置)
10跟蹤信息
ll-15功能塊
lG跟蹤信息輸出端子
17LSI內(nèi)部信息獲取部
21跟蹤信息解碼部
22LSI內(nèi)部信息再現(xiàn)部
23LSI內(nèi)部信息緩沖部
24時間信息解碼部
25實(shí)時變換部
26波形再現(xiàn)部
31信號名信息(LSI側(cè))
32信號狀態(tài)信息(LSI側(cè))
33時間信息(LSI側(cè))
41信號名信息(調(diào)試裝置側(cè))
42信號狀態(tài)信息(調(diào)試裝置側(cè))
43時間信息(調(diào)試裝置側(cè))
44同步信息
45LSI內(nèi)部時間信息
46實(shí)時信息
51同步信息
52跟蹤信息的數(shù)據(jù)量
53同步周期的變更信息54 同步產(chǎn)生周期設(shè)定部有效/無效切換信號
55 事件選擇控制部有效/無效切換信號
56 時間信息獲取事件選擇控制部有效/無效切換信號
100--107 LSI內(nèi)部信號
200跟蹤信息生成部
201時間信息獲取事件逸擇控制部
202限制對象事件設(shè)定部
203保持緩沖器
204輸出緩沖器
210時間信息生成部
211同步信號生成部
212內(nèi)部計(jì)數(shù)器
213同步產(chǎn)生周期設(shè)定部
220信號確定信息生成部
221信號名信息生成部
222信號狀態(tài)信息生成部
223事件選擇控制部
224限制對象事件設(shè)定部
230跟蹤信息丟失回避部選擇部
240跟蹤信息輸出部
具體實(shí)施例方式下面,參考附圖對本發(fā)明的實(shí)施方式進(jìn)行說明。
(第一實(shí)施方式)
圖1示出了本發(fā)明中半導(dǎo)體裝置與開發(fā)支援裝置的整體概略構(gòu) 成。這里,假定是在開發(fā)支援裝置(調(diào)試裝置)2中對半導(dǎo)體裝置 (LSI) 1中的功能塊11 — 14與功能塊15之間的內(nèi)部信號100 — 107進(jìn)行跟蹤。LSI內(nèi)部信息獲取部17經(jīng)由單一的輸出端子16將 表示跟蹤對象即信號的狀態(tài)已發(fā)生躍變的信息作為跟蹤信息10提 供給調(diào)試裝置2。調(diào)試裝置2包括跟蹤信息解碼部21和LSI內(nèi)部 信息再現(xiàn)部22。
圖2與圖3分別示出了本發(fā)明第一實(shí)施方式中的半導(dǎo)體裝置與 開發(fā)支援裝置的構(gòu)成。 在圖2所示的LSI1中,信號確定信息生成部220包括信號名 信息生成部221和信號狀態(tài)信息生成部222。該信號確定信息生成 部220對功能塊11 — 14與功能塊15之間的內(nèi)部信號100—107進(jìn) 行跟蹤。當(dāng)跟蹤對象即信號的狀態(tài)已發(fā)生躍變時,便檢測出這一現(xiàn) 象,并生成信號名信息31和信號狀態(tài)信息32。時間信息生成部210 包括同步信號生成部211和內(nèi)部計(jì)數(shù)器212,同步信號生成部211 工作,而使得LSI1和與外部連接的調(diào)試裝置2同步,在同步的時 候生成同步信號,且將同步信號與內(nèi)部計(jì)數(shù)器212的值設(shè)定為時間 信息33。跟蹤信息生成部200 —檢測出信號名信息31與信號狀態(tài) 信息32,就利用該時刻的時間信息33生成并輸出將各信息31 — 33 包化(packetize)后所得的跟蹤信息10。 另一方面,圖3所示的調(diào)試裝置2—檢測出跟蹤信息10,就在 跟蹤信息解碼部21將跟蹤信息10分離為信號名信息41、信號狀 態(tài)信息42以及時間信息43。時間信息解碼部24將時間信息43分 離為同步信息44和LSI內(nèi)部時間信息45;實(shí)時變換部25計(jì)數(shù)同 步的次數(shù),將同步次數(shù)與LSI內(nèi)部時間信息45變換為實(shí)時信息46。 信號名信息41、信號狀態(tài)信息42以及實(shí)時信息46被存儲在LSI 內(nèi)部信息緩沖部23內(nèi)。波形再現(xiàn)部26根據(jù)從LSI內(nèi)部信息緩沖部 23讀出的信息41、 42、 46再現(xiàn)LSI內(nèi)部信息。 參考圖5所示的波形圖,對在LSI1檢測內(nèi)部信號的狀態(tài)躍變, 并利用圖4所示的算法生成跟蹤信息10的過程進(jìn)行說明。 在圖5中,內(nèi)部信號100,是初始狀態(tài)為高電平"H"、在測量 開始后500ns時躍變?yōu)榈碗娖?L"、在1600ns時躍變?yōu)?H"的 信號;內(nèi)部信號101,是初始狀態(tài)為"H"、在從測量開始1400ns 時躍變?yōu)?L"、在1900ns時躍變?yōu)?H"的信號;假定內(nèi)部信號 102—107是測量時狀態(tài)不發(fā)生躍變的信號。設(shè)輸出一組跟蹤信息 所需要的時間是250ns。以使LSIl的內(nèi)部計(jì)數(shù)器212工作的內(nèi)部 時鐘的周期是100ns進(jìn)行計(jì)算的話,LSI1與調(diào)試裝置2同步工作的周期CYC就是"8"。
由圖4可知,開始測量時,在步驟1001中,將內(nèi)部計(jì)數(shù)器的 值CNT、同步信號SYN設(shè)為"0",之后進(jìn)入步驟1002。在步驟 1002中,確認(rèn)測量是否結(jié)束。當(dāng)要結(jié)束測量時,進(jìn)入步驟1003; 當(dāng)不讓測量結(jié)束時,進(jìn)入步驟1004。在步驟1003中,判斷跟蹤信 息生成部200中的緩沖器是否為"空"。當(dāng)緩沖器是"空"時,則 結(jié)束流程;當(dāng)緩沖器不是"空"時,則進(jìn)入步驟1004。在步驟1004 中,確認(rèn)內(nèi)部信號100—107的狀態(tài),因?yàn)樵?00ns、 1400ns、 1600ns、 1900ns時具有狀態(tài)已發(fā)生躍變的信號,所以,為生成跟 蹤信息IO便進(jìn)入步驟1005;其它情況下,因?yàn)椴淮嬖跔顟B(tài)已發(fā)生 躍變的信號,所以進(jìn)入步驟1006。在步驟1005中,將狀態(tài)已發(fā)生 躍變的信號的信號信息設(shè)定為"1",亦即,500ns、 1600ns時將信 號100的信號信息設(shè)定為"1", 1400ns、 1900ns時將信號101的 信號信息設(shè)定為"1",將除此以外的信號的信號信息設(shè)定為"0", 之后進(jìn)入步驟1007。在步驟1007中,將狀態(tài)已發(fā)生躍變的信號的 信號狀態(tài)信息32設(shè)定為"0"或"1"。具體而言,在500ns時,信 號100從"H"躍變?yōu)?L",所以將信號100的信號狀態(tài)信息32 設(shè)定為"0",在1400ns時,信號101從"H"躍變?yōu)?L",所以 將信號101的信號狀態(tài)信息32設(shè)定為"0",在1600ns時,信號 100從"L"躍變?yōu)?H",所以將信號100的信號狀態(tài)信息32設(shè) 定為"1",在1900ns時,信號101從"L"躍變?yōu)?H",所以將 信號101的信號狀態(tài)信息32設(shè)定為"1"。之后進(jìn)入步驟1008。在 步驟1008,由狀態(tài)已發(fā)生躍變的信號的信號信息生成表示信號名 (信號100是"1"、信號101是"2"、…信號107是"8")的信 號名信息31,并將信號名信息31、信號狀態(tài)信息32以及由同步信 號SYN、 CNT構(gòu)成的時間信息33作為跟蹤信息包化。因?yàn)?00ns 時信號100的信號信息成為"1",所以包化為"1、 0、 0、 5";因 為1400ns時信號101的信號信息成為"1",所以包化為"2、 0、 0、 6";因?yàn)?600ns時信號100的信號信息成為"1",所以包化 為"1、 1、 1、 0";因?yàn)?900ns時信號101的信號信息成為"1",所以包化為"2、 1、 0、 3",之后進(jìn)入步驟1009。在步驟1009中, 將已包化的跟蹤信息IO存儲到跟蹤信息生成部200內(nèi)的緩沖器中 后,進(jìn)入步驟1002。 在步驟1006中,將所有信號的信號信息全部設(shè)定為"0"后, 進(jìn)入步驟1010。在步驟1010中,確認(rèn)SYN的狀態(tài)。因?yàn)?00ns 時SYN是"1",所以為生成雖然產(chǎn)生了同步信號但信號的狀態(tài)卻 沒有發(fā)生躍變的情況下的跟蹤信息而進(jìn)入步驟1011;其它情況因?yàn)?SYN是"0",所以進(jìn)入步驟1012。在步驟1011中,生成800ns 時雖然產(chǎn)生了同步信號但信號的狀態(tài)卻沒有發(fā)生躍變的情況下的跟 蹤信息"0、 0、 1、 0"并包化,之后進(jìn)入步驟1009。 在步驟1012中,當(dāng)信息殘留在跟蹤信息生成部200內(nèi)的緩沖 器中時,為從緩沖器中輸出信息而進(jìn)入步驟1013。當(dāng)緩沖器是"空" 時,進(jìn)入步驟1014。在步驟1013中,從輸出端子16將緩沖器內(nèi) 的信息作為跟蹤信息10輸出,之后進(jìn)入步驟1015。在步驟1015 中,從緩沖器中將已輸出的數(shù)據(jù)刪除,并為將尚未輸出的數(shù)據(jù)輸出 而在緩沖器內(nèi)進(jìn)行移位,之后進(jìn)入步驟1016。在步驟1014中,使 輸出端子16為"開放"并以此作為無跟蹤信息10輸出時的設(shè)定, 之后進(jìn)入步驟1016。 在步驟1016中,確認(rèn)內(nèi)部時鐘是否上升。當(dāng)已上升時,便為 使內(nèi)部計(jì)數(shù)器212工作而進(jìn)入步驟1017;當(dāng)尚未上升時,則進(jìn)入 步驟1002。在步驟1017中,確認(rèn)CNT是否與從CYC中減去1 后所得到的數(shù)值一致。因?yàn)樵?00ns和1600ns時CNT成為從設(shè) 定在CYC內(nèi)的8減去1所得到的7,所以進(jìn)入為生成同步信號SYN 的步驟1018;當(dāng)不一致時,則進(jìn)入步驟1019。在步驟1018中, 在800ns和1600ns時,將同步信號SYN置為'T',將CNT清除 為"0",之后進(jìn)入步驟1002。在步驟1019中,確認(rèn)CNT是否為 "0"。因?yàn)樵?00ns與1700ns時CNT是"0",所以為將同步信 號SYN清除并對CNT進(jìn)行加法運(yùn)算而進(jìn)入步驟1020;當(dāng)CNT不 是"0"時,則僅為對CNT進(jìn)行加法運(yùn)算而進(jìn)入步驟1021。在步 驟1020中,在900ns與1700ns時,使同步信號SYN為"0",為對CNT進(jìn)行加法運(yùn)算而進(jìn)入步驟1021。在步驟1021中,在CNT 中加上l,之后進(jìn)入步驟1002。 接下來,參考圖7所示的波形圖,說明由調(diào)試裝置2根據(jù)圖6 所示的算法對跟蹤信息IO進(jìn)行解碼的過程。 開始測量以前,設(shè)定LSI1和調(diào)試裝置2同步工作的周期 SYNCYC、 LSI內(nèi)部計(jì)數(shù)器212的周期CLKCYC。圖7中,按照 LSI1的工作情況,將SYNCYC設(shè)定為800ns,將CLKCYC設(shè)定 為100ns。而且,設(shè)跟蹤信息IO的輸入期間為250ns。 開始測量時,在步驟1101中,將同步信號的計(jì)數(shù)器SYNCYC、 實(shí)時信息T設(shè)定為"0"后,進(jìn)入步驟1102。在步驟1102中,確 認(rèn)測量是否結(jié)束。當(dāng)要結(jié)束測量時,便使流程結(jié)束;當(dāng)不讓測量結(jié) 束時,便進(jìn)入步驟1103。在步驟1103中,確認(rèn)有無輸入跟蹤信息 10。當(dāng)已輸入跟蹤信息10時,便進(jìn)入步驟1104;當(dāng)尚未輸入跟蹤 信息10時,則進(jìn)入步驟1102。在步驟1104中,將已輸入的跟蹤 信息10存儲到跟蹤信息解碼部21內(nèi)的緩沖器中,之后進(jìn)入步驟 1105。在步驟1105中,確認(rèn)一組跟蹤信息10是否已被存儲到緩沖 器中。因?yàn)樵?50ns、 1050ns、 1650ns、 1900ns以及2150ns時, 一組跟蹤信息10已被存儲到緩沖器中,所以進(jìn)入步驟1106;除此 以外的情況則進(jìn)入步驟1102。在步驟1106中,將已存儲到緩沖器 中的跟蹤信息10解碼。具體而言,使表示信號名的信息與信號名 相對應(yīng),即,將"1"解碼為表示信號100的"100",將"2"解碼 為表示信號101的"101",將"0"解碼為無對應(yīng)信號的"000" 并作為信號名信息41輸出。使表示信號狀態(tài)的信息與信號狀態(tài)相 對應(yīng),將"0"解碼為表示"H" — "L"的信號躍變的"10",將 "1"解碼為表示"L" — "H"的信號躍變的"01"并作為信號狀 態(tài)信息42輸出。將表示時間信息的信息分離為同步信息(SYN) 44和LSI內(nèi)部時間信息(CNT) 45,之后進(jìn)入步驟1107。 在步驟1107中,確認(rèn)從跟蹤信息10中獲取的SYN的值。因 為1050ns、 1900ns時SYN是"1",所以為對同步信號的計(jì)數(shù)值 SYNCYC進(jìn)行加法運(yùn)算而進(jìn)入步驟1108;除此以外的情況因?yàn)镾YN是"O",所以進(jìn)入步驟1109。在步驟1108中將1加到SYNCYC 中,之后進(jìn)入步驟1109。 在步驟1109中,確認(rèn)信號名信息所表示的信號是否是實(shí)際存 在的信號。這里,因?yàn)樵?050ns時信號名信息成為"000",是一 個未被分配信號名的信息,所以判斷出該信號名信息不表示LSI 內(nèi)部信號的信息,而表示出現(xiàn)同步的跟蹤信息。于是,不生成LSI 內(nèi)部信號就進(jìn)入步驟1102。在750ns、1650ns、1900ns以及2150ns 時,為生成LSI內(nèi)部信息而進(jìn)入步驟1110。
〖0029] 在步驟1110中,由同步信號的計(jì)數(shù)值SYNCNT、進(jìn)行同步工 作的周期SYNCYC(800ns)、LSI內(nèi)部計(jì)數(shù)器212的周期CLKCYC (100ns)以及從跟蹤信息10中得到的CNT計(jì)算發(fā)生了信號躍變 的實(shí)時信息T。因?yàn)?50ns時已解碼的CNT是"5"、 SYNCNT 是"O",所以T成為500ns;因?yàn)?650ns時已解碼的CNT是"6"、 SYNCNT是"1",所以T成為1400ns;因?yàn)?900ns時已解碼的 CNT是"0"、 SYNCNT是"2",所以T成為1600ns;因?yàn)?150ns 時已解碼的CNT是"3"、 SYNCNT是"2",所以T成為1900ns。 將已生成的T作為實(shí)時信息46輸出后,進(jìn)入步驟1111。在步驟1111 中,將已解碼的信號名信息41、信號狀態(tài)信息42及實(shí)時信息46 存儲到LSI內(nèi)部信息緩沖部23中。750ns時,將"100、 10、 500" 存儲到LSI內(nèi)部信息緩沖部23中;1650ns時,將"101、 10、 1400" 存儲到LSI內(nèi)部信息緩沖部23中;1900ns時,將"100、 01、 1600" 存儲到LSI內(nèi)部信息緩沖部23中;2150ns時,將"101、01、 1900" 存儲到LSI內(nèi)部信息緩沖部23中。 接下來,參考圖6所示的波形圖,說明在再現(xiàn)LSI內(nèi)部信號波 形時根據(jù)圖8所示的算法對信息進(jìn)行解碼的過程。 首先,將波形再現(xiàn)對象的信號名指定為"100"。將已指定的信 號名"100"設(shè)定在PIN中。 開始再現(xiàn)時,在步驟1201中將Tbef設(shè)定為Ons,將Abef設(shè) 定為"0",之后進(jìn)入步驟1202。在步驟1202中確認(rèn)再現(xiàn)是否結(jié)束。 當(dāng)要結(jié)束再現(xiàn)時,便使流程結(jié)束;當(dāng)不讓再現(xiàn)結(jié)束時,便進(jìn)入步驟1203。在步驟1203中,確認(rèn)LSI內(nèi)部信息緩沖部23內(nèi)是否存在 尚未讀出的信息。因?yàn)長SI內(nèi)部信息緩沖部23內(nèi)存在4組信息, 所以在將該4組信息讀出以前還存在尚未讀出的信息。于是,便進(jìn) 入步驟1204。將該4組信息讀出以后便不存在尚未讀出的信息, 于是進(jìn)入步驟1205。 在步驟1204中,從LSI內(nèi)部信息緩沖部23中讀出一組信息, 之后進(jìn)入步驟1206。在步驟1206中,將已讀出的LSI內(nèi)部信息分 離為信號名信息、信號狀態(tài)信息、T (實(shí)時信息),之后進(jìn)入步驟 1207。例如,在是"100、 10、 500"的情況下,信號名信息成為 "100",信號狀態(tài)信息成為"10", T成為"500"。在步驟1207 中,確認(rèn)已分離出的信號名信息是否與PIN中的內(nèi)容一致。讀出信 息按以下順序存在4組,分別是"100、 10、 500"、 "101、 10、 1400"、 "100、 01、 1600"以及"101、 01、 1900"。這里,在讀出"100、 10、 500"、 "100、 01、 1600"時,信號名信息與已設(shè)定在PIN中 的"100" —致,便進(jìn)入步驟1208;在讀出"101、 10、 1400"、 "101、 01、 1900"時,信號名信息與設(shè)定在PIN中的"100"不一致,于 是便進(jìn)入步驟1202。在步驟1208中,根據(jù)信號狀態(tài)信息設(shè)定為信 號躍變前的狀態(tài)B與信號躍變后的狀態(tài)A。當(dāng)信號狀態(tài)信息是"10" 時,將B設(shè)定為"H",將A設(shè)定為"L";當(dāng)信號狀態(tài)信息是"01" 時,將B設(shè)定為"L",將A設(shè)定為"H",之后進(jìn)入步驟1209。在 步驟1209中,再現(xiàn)LSI內(nèi)部信息。具體而言,當(dāng)讀出"100、 10、 500"時,Tbef是0,所以在從Tbef所表示的Ons到T所表示的 500ns為止的時間內(nèi),使信號IOO的波形顯示B所表示的"H";當(dāng) 讀出"100、 01、 1600"時,Tbef是500ns,所以在從Tbef所表 示的500ns到T所表示的1600ns為止的時間內(nèi),使信號100的波 形顯示B所表示的"L"。之后進(jìn)入步驟1210。在步驟1210中, 將T寫入Tbef中,將A寫入Abef中,之后進(jìn)入步驟1202。
在步驟1205中,進(jìn)行波形再現(xiàn)結(jié)束時的處理。因?yàn)樵诓襟E1205 分支時Tbef成為1600ns,所以進(jìn)入步驟1211。在步驟1211中, 對未表示部分的波形進(jìn)行表示。也就是說,在從Tbef所示的1600ns到再現(xiàn)結(jié)束時為止的時間內(nèi),顯示Abef所表示的"H",而結(jié)束再 現(xiàn)。
經(jīng)過上述流程,信號100的波形在從開始測量時到500ns的時 間內(nèi)表示為"H"、在從500ns至'J 1600ns的時間內(nèi)表示為"L"、 在1600ns以后的時間內(nèi)表示為"H",而再現(xiàn)了圖5中所示的已測 量的信號100的波形。 接下來,在使波形再現(xiàn)對象的信號名是"101"的情況下,經(jīng) 過同樣的流程,在從開始測量到1400ns這一段時間內(nèi)表示為"H"、 在從1400ns至'J 1900ns這一段時間內(nèi)表示為"L"、在1900ns以 后表示為"H"。 在使波形再現(xiàn)對象的信號名是"102"到"107"中之任一個的 情況下,以同樣的流程讀出數(shù)據(jù),到數(shù)據(jù)讀出結(jié)束為止都沒有與再 現(xiàn)對象的信號一致的信息,所以在步驟1205中Tbef—直維持著初 始值"0"不變,因此便不顯示波形,流程結(jié)束。 (第二實(shí)施方式)
圖IO是一方框圖,示出了本發(fā)明第二實(shí)施方式中的半導(dǎo)體裝 置的構(gòu)成。第一實(shí)施方式中的半導(dǎo)體裝置,每逢檢測出信號狀態(tài)發(fā) 生躍變或出現(xiàn)同步,都會將跟蹤信息IO輸出到外部。而第二實(shí)施 方式是這樣的,所生成的跟蹤信息先累積到跟蹤信息生成部200內(nèi) 的保持緩沖器203中,保持緩沖器203內(nèi)的信息根據(jù)時間信息生成 部210輸出的同步信號51移動到輸出緩沖器204中,之后再從輸 出緩沖器204中作為跟蹤信息IO輸出。 在第二實(shí)施方式的情況下,因?yàn)檎{(diào)試裝置2能夠把握對應(yīng)于已 輸入的跟蹤信息10的同步信號的次數(shù),所以能夠?qū)⒈硎就叫盘?的跟蹤信息的輸出省略,從而能夠使要輸出的信息的數(shù)據(jù)量減少。 而且,當(dāng)同一信號在同一個測量循環(huán)中發(fā)生多次狀態(tài)躍變時,能夠 通過將跟蹤信息合并而將信號名省略,因此能夠使要輸出的信息的 數(shù)據(jù)量減少。 在本發(fā)明的第二實(shí)施方式中,參考圖12所示的波形圖,對檢 測內(nèi)部信號的狀態(tài)躍變,并利用圖11所示的算法生成跟蹤信息10的過程進(jìn)行說明。 在圖12中,內(nèi)部信號100,是初始狀態(tài)為"H"、在測量開始 后500ns時躍變?yōu)?L"、在1800ns時躍變?yōu)?H"的信號;內(nèi)部 信號101,是初始狀態(tài)為"H"、在測量開始后1600ns時躍變?yōu)?L"、 在2100ns時躍變?yōu)?H"的信號。假定內(nèi)部信號102 — 107是測量 時狀態(tài)不發(fā)生躍變的信號。以使LSIl的內(nèi)部計(jì)數(shù)器212工作的內(nèi) 部時鐘的周期是100ns進(jìn)行計(jì)算,就將LSIl與調(diào)試裝置2同步工 作的周期CYC設(shè)定為"8"。 ' 開始測量時,在步驟1301中,將內(nèi)部計(jì)數(shù)器212的值CNT、 同步信號SYN以及輸出狀態(tài)信號OUT設(shè)為"0",之后進(jìn)入步驟 1002。在步驟1002中,確認(rèn)測量是否結(jié)束。當(dāng)要結(jié)束測量時,則 進(jìn)入步驟1003;當(dāng)不讓測量結(jié)束時,則進(jìn)入步驟1004。在步驟1003 中,判斷跟蹤信息生成部200中的輸出緩沖器204是否為"空"。 當(dāng)緩沖器204是"空"時,則結(jié)束流程;當(dāng)緩沖器204不是"空" 時,則進(jìn)入步驟1004。在步驟1004中,確認(rèn)內(nèi)部信號100—107 的狀態(tài),因?yàn)樵?00ns、 1600ns、 1800ns以及2100ns時具有狀 態(tài)已發(fā)生躍變的信號,所以為生成跟蹤信息便進(jìn)入步驟1005;其它 情況下,因?yàn)椴淮嬖跔顟B(tài)已發(fā)生躍變的信號,所以進(jìn)入步驟1006。 在步驟1005中,將狀態(tài)已發(fā)生躍變的信號的信號信息設(shè)定為"1", 亦即,500ns、 1800ns時,將信號100的信號信息設(shè)定為"1", 1600ns、 2100ns時,將信號101的信號信息設(shè)定為"1",將除此 以外的信號的信號信息設(shè)定為"0"。之后進(jìn)入步驟1007。在步驟 1007中,將狀態(tài)已發(fā)生躍變的信號的信號狀態(tài)信息32設(shè)定為"0" 或"i"。具體而言,在500ns時,信號100從"H"躍變?yōu)?L", 所以將信號100的信號狀態(tài)信息32設(shè)定為"0",在1400ns時, 信號101從"H"躍變?yōu)?L",所以將信號101的信號狀態(tài)信息 32設(shè)定為"0",在1600ns時,信號100從"L"躍變?yōu)?H",所 以將信號100的信號狀態(tài)信息32設(shè)定為"1",在1900ns時,信 號101從"L"躍變?yōu)?H",所以將信號101的信號狀態(tài)信息32 設(shè)定為"1"。之后進(jìn)入步驟1008。在步驟1008中,由狀態(tài)已發(fā)生躍變的信號的信號信息生成表示信號名(信號100是"1"、信號
101是"2"、...信號107是"8")的信號名信息31,并將信號名 信息31、信號狀態(tài)信息32以及僅由CNT構(gòu)成的時間信息33作為 跟蹤信息包化。因?yàn)?00ns時信號IOO的信號信息成為"1",所以 包化為"1、 0、 5";因?yàn)?600ns時信號101的信號信息成為"1", 所以包化為"2、 0、 0";因?yàn)?800ns時信號100的信號信息成為 "1",所以包化為"1、 1、 2";因?yàn)?100ns時信號101的信號信 息成為"1",所以包化為"2、 1、 5",之后進(jìn)入步驟1302。在步 驟1302中,確認(rèn)累積在保持緩沖器203內(nèi)的信號的跟蹤信息中是 否存在已在步驟1008中包化的同一信號的信息。因?yàn)樵?100ns 時,已在1600ns時生成的同一信號101的跟蹤信息存在于保持緩 沖器203內(nèi),所以為將信息合并而進(jìn)入步驟1304;因?yàn)樵?00ns、 1600ns、 1800ns時,保持緩沖器203內(nèi)不存在同一信號的跟蹤信 息,所以便進(jìn)入步驟1303。在步驟1303中,將已包化的跟蹤信息 存儲到保持緩沖器203中,之后進(jìn)入步驟1305。在步驟1304中, 將已生成的跟蹤信息的信號狀態(tài)信息、CNT追加到存在于保持緩沖 器203中的同一信號的跟蹤信息中。在2100ns時,將已生成的跟 蹤信息"2、 1、 5"的信號狀態(tài)信息、相當(dāng)于CNT的"1、 5"追加 到已存在于保持緩沖器203內(nèi)的跟蹤信息"2、 0、 0"中,之后進(jìn) 入步驟1304。 在步驟1006中,將所有信號的信號信息全部設(shè)定為"0"后, 進(jìn)入步驟1305。在步驟1305中,確認(rèn)輸出狀態(tài)信號OUT的值。 當(dāng)輸出跟蹤信息10時OUT成為"1",于是進(jìn)入步驟1306;當(dāng)尚 未輸出跟蹤信息IO時OUT成為"0",于是進(jìn)入步驟1016。在步 驟1306中,判斷輸出緩沖器204是否為"空"狀態(tài)。在已結(jié)束輸 出跟蹤信息IO的情況下,為使OUT從"1"變?yōu)?0"而進(jìn)入步驟 1309;在尚未結(jié)束輸出跟蹤信息10的情況下,為進(jìn)行輸出而進(jìn)入 步驟1307。在步驟1307中,從輸出端子16將輸出緩沖器204內(nèi) 的信息作為跟蹤信息10輸出,之后進(jìn)入步驟1308。在步驟1308 中,從輸出緩沖器204中將已輸出的數(shù)據(jù)刪掉,為將、尚未輸出的數(shù)據(jù)輸出而在輸出緩沖器204內(nèi)進(jìn)行移位,之后進(jìn)入步驟1016。在 步驟1309中,使輸出端子16為"開放"并以此作為無跟蹤信息 IO輸出時的設(shè)定,使OUT為"0"而設(shè)定為尚未進(jìn)行輸出的狀態(tài), 之后進(jìn)入步驟1016。
在步驟1016中,確認(rèn)內(nèi)部時鐘是否上升。當(dāng)已上升時,便為 使內(nèi)部計(jì)數(shù)器212工作而進(jìn)入步驟1017;當(dāng)尚未上升時,則進(jìn)入 步驟1002。在步驟1017中,確認(rèn)CNT是否與從CYC中減去1 后所得到的數(shù)值一致。因?yàn)樵?00ns和1600ns時,CNT成為從設(shè) 定在CYC內(nèi)的8減去1所得到的7,所以為生成同步信號SYN而 進(jìn)入步驟1310;當(dāng)不一致時,則進(jìn)入步驟1019。在步驟1310中, 在800ns和1600ns時,將同步信號SYN置為"1",將CNT清除 為"0",且使輸出狀態(tài)信號OUT為"1"而設(shè)定為輸出狀態(tài),將已 累積在保持緩沖器203中的數(shù)據(jù)移動到輸出緩沖器204中,之后進(jìn) 入步驟1002。在步驟1019中,確認(rèn)CNT是否為"0"。因?yàn)樵?00ns 與1700ns時,CNT是"0",所以為將同步信號SYN清除并對CNT 進(jìn)行加法運(yùn)算而進(jìn)入步驟1020;當(dāng)CNT不是"0"時,則僅為對 CNT進(jìn)行加法運(yùn)算而進(jìn)入步驟1021。在步驟1020中,在900ns 與1700ns時,使同步信號SYN為"0",為對CNT進(jìn)行加法運(yùn)算 而進(jìn)入步驟1021。在步驟1021中,在CNT中加上1,之后進(jìn)入 步驟1002。 如上所述,在跟蹤信息累積在跟蹤信息生成部200內(nèi)的保持緩 沖器203中,且根據(jù)同步信號51將跟蹤信息IO從輸出緩沖器204 中輸出到外部的情況下, 一次輸出期間內(nèi)的跟蹤信息10的數(shù)據(jù)量 很多,如圖13 (a)所示。在將已累積在輸出緩沖器204中的信息 全部輸出完以前又產(chǎn)生了下一個同步信號51的情況下,因?yàn)楸3?緩沖器203中的數(shù)據(jù)重寫(rewrite)在輸出緩沖器204中,所以 那時殘留在輸出緩沖器204中的數(shù)據(jù)就會丟失。這樣便有可能導(dǎo)致 調(diào)試裝置2所取得的跟蹤信息10丟失。 圖13 (b)到圖13 (d)示出了為回避這樣的跟蹤信息丟失的 技術(shù)方案。首先,如圖13 (b)所示,使同步時刻暫時延長。于是在輸出跟蹤信息的時間內(nèi)便不會產(chǎn)生下一個同步信號。如13 (C)所示,限制跟蹤對象事件而使要輸出的信息的量減少,由此在 產(chǎn)生下一個同步信號以前就結(jié)束跟蹤信息的輸出。如圖13 (d)所 示,分為獲取不包含時間信息的跟蹤信息的事件和包含時間信息的 跟蹤信息的事件,使要輸出的信息量減少,由此在產(chǎn)生下一個同步 信號以前就結(jié)束跟蹤信息的輸出。 接下來,以圖13 (b)到圖13 (d)所示的跟蹤信息丟失回避 技術(shù)方案的具體例作為第三到第五實(shí)施方式進(jìn)行說明。 (第三實(shí)施方式)
圖14是一方框圖,示出了本發(fā)明第三實(shí)施方式中的半導(dǎo)體裝 置的構(gòu)成。在第三實(shí)施方式中,在時間信息生成部210中設(shè)置有同 步產(chǎn)生周期設(shè)定部213。象圖13 (b)所示的那樣加長進(jìn)行同步工 作的周期,由此使得在輸出跟蹤信息10時不會產(chǎn)生下一個同步信 號51。 能夠根據(jù)跟蹤信息的數(shù)據(jù)量52將同步周期變更為事先設(shè)定好 的值。例如,在同步周期CYC的初始值是800ns的情況下,將NCYC 事先設(shè)定為1200ns,在積累了在800ns的時間內(nèi)未能夠輸出完的 跟蹤信息的情況下,將同步周期CYC變更為1200ns。進(jìn)行同步工 作的周期一變更,在產(chǎn)生下一個同步信號51時,就將表示同步周 期的變更的信息53與跟蹤信息10 —起輸出。 根據(jù)該實(shí)施方式,因?yàn)槟軌蚋鶕?jù)數(shù)據(jù)量自動地進(jìn)行同步周期的 變更,所以便沒有必要在確認(rèn)出數(shù)據(jù)有丟失而對同步周期進(jìn)行了再 次設(shè)定之后,再次進(jìn)行測量了。 在本發(fā)明的第三實(shí)施方式中,參考圖16所示的波形圖,對檢 測內(nèi)部信號的狀態(tài)躍變,并利用圖15所示的算法生成跟蹤信息10 的過程進(jìn)行說明。 在圖16中,內(nèi)部信號100,是初始狀態(tài)為"H"、在測量開始 后500ns時躍變?yōu)?L"、在1000ns時躍變?yōu)?H"的信號;內(nèi)部 信號101,是初始狀態(tài)為"H"、在測量開始后800ns時躍變?yōu)?L"、 在1300ns時躍變?yōu)?H"的信號;內(nèi)部信號102是初始狀態(tài)是"H"、在從測量開始到1500ns時躍變?yōu)?L"、在2200ns時躍變?yōu)?H" 的信號。假定內(nèi)部信號103—107是測量時狀態(tài)不發(fā)生躍變的信號。 以使LSIl的內(nèi)部計(jì)數(shù)器212工作的內(nèi)部時鐘的周期是100ns進(jìn)行 計(jì)算,就將LSIl與調(diào)試裝置2同步工作的周期CYC設(shè)定為"8"。 而且,同步周期變更后進(jìn)行同步工作的周期NCYC被設(shè)定為"12"; 在一次輸出周期可能輸出的數(shù)據(jù)量LIM被設(shè)定為"48";同步周期 變更后在一次輸出周期可能輸出的數(shù)據(jù)量NLIM的初始值被設(shè)定 為"72"。 LIM、 NLIM的單位是比特,假定一組跟蹤信息的數(shù)據(jù) 量是14比特,被合并時所追加的數(shù)據(jù)量是10比特。
開始測量時,在步驟1401中,將內(nèi)部計(jì)數(shù)器212的值CNT、 同步信號SYN以及輸出狀態(tài)信號OUT設(shè)為"0",之后進(jìn)入步驟 1002。在步驟1002中,確認(rèn)測量是否結(jié)束。當(dāng)要結(jié)束測量時,則 進(jìn)入步驟1003;當(dāng)不讓測量結(jié)束時,則進(jìn)入步驟1004。在步驟1003 中,判斷跟蹤信息生成部200中的輸出緩沖器204是否為"空"。 當(dāng)緩沖器204是"空"時,則結(jié)束流程;當(dāng)緩沖器204不是"空" 時,則進(jìn)入步驟1004。在步驟1004中,確認(rèn)內(nèi)部信號100—107 的狀態(tài),因?yàn)樵?00ns、 800ns、 1000ns、 1300ns、 1500ns以及 2200ns時具有狀態(tài)已發(fā)生躍變的信號,所以為生成跟蹤信息便進(jìn) 入步驟1005;其它情況下,.因?yàn)椴淮嬖跔顟B(tài)已發(fā)生躍變的信號,所 以進(jìn)入步驟1006。在步驟1005中,將狀態(tài)已發(fā)生躍變的信號設(shè)定 為"1",亦即500ns、 1000ns時,將信號100的信號信息設(shè)定為 "1", 800ns、 1300ns時,將信號101的信號信息設(shè)定為"1", 1500ns、 2200ns時,將信號102的信號信息設(shè)定為"1",將除此 以外的信號的信號信息設(shè)定為"0",之后進(jìn)入步驟1007。在步驟 1007中,將狀態(tài)已發(fā)生躍變的信號的信號狀態(tài)信息32設(shè)定為"0" 或"i"。具體而言,在500ns時,信號100從"H"躍變?yōu)?L", 所以將信號100的信號狀態(tài)信息32設(shè)定為"0",在800ns時,信 號101從"H"躍變?yōu)?L",所以將信號101的信號狀態(tài)信息32 設(shè)定為"0",在1500ns時,信號102從"H"躍變?yōu)?L",所以 將信號102的信號狀態(tài)信息32設(shè)定為"0";在1000ns時,信號100從"L"躍變?yōu)?H",所以將信號100的信號狀態(tài)信息32設(shè) 定為"1",在1300ns時,信號101從"L"躍變?yōu)?H",所以將 信號101的信號狀態(tài)信息32設(shè)定為"1",在2200ns時,信號102 從"L"躍變?yōu)?H",所以將信號102的信號狀態(tài)信息32設(shè)定為
"1"。之后進(jìn)入步驟1008。在步驟1008中,由狀態(tài)已發(fā)生躍變的 信號的信號信息生成表示信號名(信號100是"1"、信號101是
"2"、...信號107是"8")的信號名信息31,并將信號名信息31、 信號狀態(tài)信息32以及僅由CNT構(gòu)成的時間信息33作為跟蹤信息 包化。因?yàn)?00ns時信號lOO的信號信息成為"l",所以包化為"l、 0、 5";因?yàn)?00ns時信號101的信號信息成為"1",所以包化為
"2、 0、 0";因?yàn)?000ns時信號100的信號信息成為"1",所以 包化為"1、 1、 2";因?yàn)?300ns時信號101的信號信息成為"1", 所以包化為"2、 1、 5",因?yàn)?500ns時信號102的信號信息成為
"1",所以包化為"3、 0、 7";因?yàn)?200ns時信號102的信號信 息成為"1",所以包化為"3、 1、 2",之后進(jìn)入步驟1302。在步 驟1302中,確認(rèn)累積在保持緩沖器203內(nèi)的信號的跟蹤信息中是 否存在已在步驟1008中包化的同一信號的信息。因?yàn)樵?300ns 時,在800ns時已生成的同一信號101的跟蹤信息存在于保持緩沖 器203內(nèi),所以為將信息合并而進(jìn)入步驟1304;因?yàn)樵?00ns、 800ns、 1000ns、 1500ns、 2200ns時,保持緩沖器203內(nèi)不存在 同一信號的跟蹤信息,所以便進(jìn)入步驟1303。在步驟1303中,將 已包化的跟蹤信息存儲到保持緩沖器203中后,進(jìn)入步驟1402。 在步驟1304中,將已生成的跟蹤信息的信號狀態(tài)信息、CNT追加 到存在于保持緩沖器203中的同一信號的跟蹤信息中。具體而言, 在1300ns時,將已生成的跟蹤信息"2、 1、 5"的信號狀態(tài)信息、 相當(dāng)于CNT的"1、 5"追加到已存在于保持緩沖器203內(nèi)的跟蹤 信息"2、 0、 0"中,之后進(jìn)入步驟1402。
在步驟1006中,使所有信號的信號信息都為"0",之后進(jìn)入 步驟1402。在步驟1402中,根據(jù)跟蹤信息的數(shù)據(jù)量52確認(rèn)保持 緩沖器203中的數(shù)據(jù)量。因?yàn)?500ns時,數(shù)據(jù)量是52而變?yōu)長IM以上的值,所以進(jìn)入步驟1403。在1500ns以外的時候,數(shù)據(jù)量小 于LIM的值,所以進(jìn)入步驟1305。在步驟1403中,將同步周期 的變更信息輸出到跟蹤信息生成部200中,響應(yīng)于此,表示同步周 期變更的信息"0、 0、 0"存儲到保持緩沖器203中,時間信息生 成部210將同步周期CYC更新為NCYC的值,將可能輸出的數(shù)據(jù) 量LIM更新為NLIM的值,之后進(jìn)入步驟1305。 在步驟1305中,確認(rèn)輸出狀態(tài)信號OUT的值。當(dāng)輸出跟蹤信 息10時,OUT成為"1",于是進(jìn)入步驟1306;當(dāng)尚未輸出跟蹤 信息10時,OUT成為"0",于是進(jìn)入步驟1016。在步驟1306中, 判斷輸出緩沖器204是否為"空"狀態(tài)。在已結(jié)束輸出跟蹤信息10 的情況下,為使OUT從"1"變?yōu)?0"而進(jìn)入步驟1309;在尚未 結(jié)束輸出跟蹤信息10的情況下,為進(jìn)行輸出而進(jìn)入步驟1307。在 步驟1307中,從輸出端子16將輸出緩沖器204內(nèi)的信息作為跟蹤 信息10輸出,之后進(jìn)入步驟1308。在步驟1308中,從輸出緩沖 器204中將已輸出的數(shù)據(jù)刪掉,為將尚未輸出的數(shù)據(jù)輸出而在輸出 緩沖器204內(nèi)進(jìn)行移位,之后進(jìn)入步驟1016。在步驟1309中,使 輸出端子16為"開放"并以此作為無跟蹤信息IO輸出時的設(shè)定, 使OUT為"0"而設(shè)定為尚未進(jìn)行輸出的狀態(tài),之后進(jìn)入步驟1016。 在步驟1016中,確認(rèn)內(nèi)部時鐘是否上升。當(dāng)已上升時,便為 使內(nèi)部計(jì)數(shù)器212工作而進(jìn)入步驟1017;當(dāng)尚未上升時,則進(jìn)入 步驟1002。在步驟1017中,確認(rèn)CNT是否與從CYC中減去1 后所得到的數(shù)值一致。因?yàn)樵?00ns時,CNT成為從設(shè)定在CYC 內(nèi)的8減去1所得到的7,在2000ns時,CNT成為從設(shè)定在CYC 內(nèi)的12減去1所得到的11,所以為生成同步信號SYN而進(jìn)入步 驟1310;當(dāng)不一致時,則進(jìn)入步驟1019。在步驟1310中,在800ns 和2000ns時,將同步信號SYN置為'T',將CNT清除為"0", 且使輸出狀態(tài)信號OUT為"1"而設(shè)定為輸出狀態(tài),將已累積在保 持緩沖器203中的數(shù)據(jù)移動到輸出緩沖器204中,之后進(jìn)入步驟 1002。在步驟1019中,確認(rèn)CNT是否為"0"。因?yàn)樵?00ns與 2100ns時,CNT是"0",所以為將同步信號SYN清除并對CNT進(jìn)行加法運(yùn)算而進(jìn)入步驟1020;當(dāng)CNT不是"0"時,則僅為對 CNT進(jìn)行加法運(yùn)算而進(jìn)入步驟1021。在步驟1020中,在900ns 與2100ns時,使同步信號SYN為"0",為對CNT進(jìn)行加法運(yùn)算 而進(jìn)入步驟1021。在步驟1021中,在CNT中加上1,之后進(jìn)入 步驟1002。 (第四實(shí)施方式)
圖17是一方框圖,示出了本發(fā)明第四實(shí)施方式中的半導(dǎo)體裝 置的構(gòu)成。在第四實(shí)施方式中,在信號確定信息生成部220中設(shè)置 有事件選沖f控制部223。如圖13 (c)所示,限定獲取多艮蹤信息的 事件,而使要輸出的信息的量減少,由此使得在產(chǎn)生下一個同步信 號以前就結(jié)束輸出跟蹤信息。這對以下情況適用,例如,想知道內(nèi) 部信號100—103的信號躍變的時間關(guān)系,且獲取內(nèi)部信號104 — 107的信息的優(yōu)先順序較低的情況等。 能夠根據(jù)跟蹤信息的數(shù)據(jù)量52自動地限定獲取跟蹤信息的事 件。對各個事件設(shè)定了獲取跟蹤信息的優(yōu)先順序,將對優(yōu)先順序較 低的事件的信息的獲取屏蔽起來(即禁止獲取優(yōu)先順序較低的事件 的信息)。能夠借助限制對象事件設(shè)定部224的設(shè)定任意地改變優(yōu) 先順序。 在本發(fā)明的第四實(shí)施方式中,參考圖19所示的波形圖,對檢 測內(nèi)部信號的狀態(tài)躍變,并利用圖18所示的算法生成跟蹤信息10 的過程進(jìn)行說明。 在圖19中,內(nèi)部信號100,是初始狀態(tài)為"H"、在測量開始 后500ns時躍變?yōu)?L"、在1000ns時躍變?yōu)?H"的信號;內(nèi)部 信號101,是初始狀態(tài)'為"H"、在測量開始后800ns時躍變?yōu)?L"、 在1300ns時躍變?yōu)?H"的信號;內(nèi)部信號102是初始狀態(tài)是"H"、 在測量開始后1500ns時躍變?yōu)?L"、在2200ns時躍變?yōu)?H" 的信號;假定內(nèi)部信號103—107是測量時狀態(tài)不發(fā)生躍變的信號。 以LSI1的內(nèi)部計(jì)數(shù)器212工作的內(nèi)部時鐘的周期是100ns進(jìn)行計(jì) 算,就將LSIl與調(diào)試裝置2同步工作的周期CYC設(shè)定為"8"。將 開始信號屏蔽的跟蹤信息的數(shù)據(jù)量RLIM設(shè)定為"24"。 RLIM的單位是比特。所設(shè)定的信號屏蔽的優(yōu)先順序是信號102較高,信號
100和信號101較低。假定一組跟蹤信息的數(shù)據(jù)量是14比特,被 合并時所追加的數(shù)據(jù)量是10比特。
開始測量時,在步驟1501中,將內(nèi)部計(jì)數(shù)器212的值CNT、 同步信號SYN以及輸出狀態(tài)信號OUT設(shè)為"0",之后進(jìn)入步驟 1002。在步驟1002中,確認(rèn)測量是否結(jié)束。當(dāng)要結(jié)束測量時,則 進(jìn)入步驟1003;當(dāng)不讓測量結(jié)束時,則進(jìn)入步驟1502。在步驟1003 中,判斷跟蹤信息生成部200中的輸出緩沖器204是否為"空"。 當(dāng)緩沖器204是"空"時,則結(jié)束流程;當(dāng)緩沖器204不是"空" 時,則進(jìn)入步驟1502。在步驟1502中,確認(rèn)內(nèi)部信號100—107 的狀態(tài),雖然在500ns、 800ns、 1000ns、 1300ns、 1500ns以及 2200ns時具有狀態(tài)已發(fā)生躍變的信號,但在1500ns時信號102 被指定"屏蔽,,,所以為在500ns、 800ns、 1000ns、 1300ns以及 2200ns時生成跟蹤信息,便進(jìn)入步驟1005;其它情況下,因?yàn)椴?存在狀態(tài)已發(fā)生躍變的信號,或者已被指定"屏蔽",所以進(jìn)入步驟 1006。在步驟1005中,將狀態(tài)已發(fā)生躍變的信號的信號信息設(shè)定 為"1",亦即,500ns、 1000ns時,將信號100的信號信息設(shè)定為
'T'; 800ns、 1300ns時,將信號101的信號信息設(shè)定為'T'; 2200ns時,將信號102的信號信息設(shè)定為"1";將除此以外的信 號的信號信息設(shè)定為"0"。之后進(jìn)入步驟1007。在步驟1007中, 將狀態(tài)已發(fā)生躍變的信號的信號狀態(tài)信息32設(shè)定為"0"或"1"。 具體而言,在500ns時,信號100從"H"躍變?yōu)?L",所以將信 號IOO的信號狀態(tài)信息32設(shè)定為"0",在800ns時,信號101從
"H"躍變?yōu)?L",所以將信號101的信號狀態(tài)信息32設(shè)定為"0", 在1000ns時,信號100從"L"躍變?yōu)?H",所以將信號100的 信號狀態(tài)信息32設(shè)定為"1",在1300ns時,信號101從"L"躍 變?yōu)?H",所以將信號101的信號狀態(tài)信息32設(shè)定為"1",在 2200ns時,信號102從"L"躍變?yōu)?H",所以將信號102的信 號狀態(tài)信息32設(shè)定為'T'。之后進(jìn)入步驟1008。在步驟1008中, 由狀態(tài)已發(fā)生躍變的信號的信號信息生成表示信號名(信號100是'T,、信號101是"2"、信號102是"3"、…信號107是"8") 的信號名信息31,并將信號名信息31、信號狀態(tài)信息32和僅由 CNT構(gòu)成的時間信息33作為跟蹤信息包化。因?yàn)?00ns時信號 IOO的信號信息是"1",所以包化為"1、 0、 5";因?yàn)?00ns時信 號101的信號信息是"1",所以包化為"2、 0、 0";因?yàn)?000ns 時信號100的信號信息是"r,所以包化為"1、1、2";因?yàn)?300ns 時信號101的信號信息是"1",所以包化為"2、1、5";因?yàn)?200ns 時信號102的信號信息是"1",所以包化為"3、 1、 6"。之后進(jìn)入 步驟1302。在步驟1302中,確認(rèn)累積在保持緩沖器203內(nèi)的信號 的跟蹤信息中是否存在已在步驟1008中包化的同一信號的信息。 因?yàn)樵?300ns時,在800ns時已生成的同一信號101的跟蹤信息 存在于保持緩沖器203內(nèi),所以為將信息合并而進(jìn)入步驟1304; 因?yàn)樵?00ns、 800ns、 1000ns以及2200ns時,保持緩沖器203 內(nèi)不存在同一信號的跟蹤信息,所以進(jìn)入步驟1303。在步驟1303 中,將已包化的跟蹤信息存儲到保持緩沖器203中,之后進(jìn)入步驟 1503。在步驟1304中,將已生成的跟蹤信息的信號狀態(tài)信息、CNT 追加到存在于保持緩沖器203中的同一信號的跟蹤信息中。在 1300ns時,將已生成的跟蹤信息"2、 1、 5"的信號狀態(tài)信息、相 當(dāng)于CNT的"1、 5"追加到已存在于保持緩沖器203內(nèi)的跟蹤信 息"2、 0、 0"中,之后進(jìn)入步驟1503。在步驟1006中,使所有 信號的信號信息為"0",之后進(jìn)入步驟1503。
在步驟1503中,根據(jù)跟蹤信息的數(shù)據(jù)量52確認(rèn)保持緩沖器 203中的數(shù)據(jù)量。因?yàn)?000ns時,數(shù)據(jù)量是28,變?yōu)镽LIM以上 的值,所以進(jìn)入步驟1504。在1000ns以外的時候,進(jìn)入步驟1305。 在步驟1504中,指定將屏蔽優(yōu)先順序較高的信號102 "屏蔽",之 后進(jìn)入步驟1305。 在步驟1305中,確認(rèn)輸出狀態(tài)信號OUT的值。當(dāng)輸出跟蹤信 息10時,OUT成為'T',因此進(jìn)入步驟1306;當(dāng)尚未輸出跟蹤 信息10時,OUT成為"0",因此進(jìn)入步驟1016。在步驟1306中, 判斷輸出緩沖器204是否為"空"狀態(tài)。在已結(jié)束輸出跟蹤信息10的情況下,為使OUT從"1"變?yōu)?0"而進(jìn)入步驟1309;在尚未 結(jié)束輸出跟蹤信息10的情況下,為進(jìn)行輸出而進(jìn)入步驟1307。在 步驟1307中,從輸出端子16將輸出緩沖器204內(nèi)的信息作為跟蹤 信息IO輸出,之后進(jìn)入步驟1308。在步驟1308中,從輸出緩沖 器204中將已輸出的數(shù)據(jù)刪掉,為將尚未輸出的數(shù)據(jù)輸出而在輸出 緩沖器204內(nèi)進(jìn)行移位,之后進(jìn)入步驟1016。在步驟1309中,使 輸出端子16為"開放"并以此作為無跟蹤信息IO輸出時的設(shè)定, 使OUT為"0"而設(shè)定為尚未進(jìn)行輸出的狀態(tài),之后進(jìn)入步驟1016。 在步驟1016中,確認(rèn)內(nèi)部時鐘是否上升。當(dāng)已上升時,便為 使內(nèi)部計(jì)數(shù)器212工作而進(jìn)入步驟1017;當(dāng)尚未上升時,則進(jìn)入 步驟1002。在步驟1017中,確認(rèn)CNT是否與從CYC中減去1 后所得到的數(shù)值一致。因?yàn)樵?00ns、1600ns以及2400ns時,CNT 成為從設(shè)定在CYC內(nèi)的8減去l所得到的7,所以為生成同步信號 SYN而進(jìn)入步驟1310;當(dāng)不一致時,則進(jìn)入步驟1019。在步驟 1310中,在800ns、 1600ns以及2400ns時,將同步信號SYN置 為"1",將CNT清除為"0",且使輸出狀態(tài)信號OUT為"1"而 設(shè)定為輸出狀態(tài),將已累積在保持緩沖器203中的數(shù)據(jù)移動到輸出 緩沖器204中,之后進(jìn)入步驟1002。在步驟1019中,確認(rèn)CNT 是否為"0"。因?yàn)樵?00ns、 1700ns以及2500ns時,CNT是"O", 所以為將同步信號SYN清除并對CNT進(jìn)行加法運(yùn)算而進(jìn)入步驟 1020;當(dāng)CNT不是"0"時,則僅為對CNT進(jìn)行加法運(yùn)算而進(jìn)入 步驟1021。在步驟1020中,在900ns、 1700ns以及2500ns時, 使同步信號SYN為"0",為對CNT進(jìn)行加法運(yùn)算而進(jìn)入步驟1021 。 在步驟1021中,在CNT中加上1,之后進(jìn)入步驟1002。 (第五實(shí)施方式)
圖20是一方框圖,示出了本發(fā)明第五實(shí)施方式中的半導(dǎo)體裝 置的構(gòu)成。在第五實(shí)施方式中,在跟蹤信息生成部200中設(shè)置有時 間信息獲取事件選擇控制部201。如圖13 (d)所示,分為獲取不 包含時間信息的跟蹤信息的事件和獲取包含時間信息的跟蹤信息的 事件,而使要輸出的信息的量減少,由此使得在產(chǎn)生下一個同步信號以前就結(jié)束跟蹤信息的輸出。這對以下情況適用,例如,在想知
道各個內(nèi)部信號100—107的下降時間之間的關(guān)系,但對于各個內(nèi)
部信號的上升僅獲取這一事件之產(chǎn)生的信息,卻不需要獲取各個信 號上升這一 事件的時間信息。
能夠根據(jù)跟蹤信息的數(shù)據(jù)量52自動地限定獲取包含時間信息 的跟蹤信息的事件。對各個事件設(shè)定了獲取跟蹤信息的優(yōu)先順序。 在獲取信息時,優(yōu)先順序最低的事件就第一個不去獲取時間信息, 優(yōu)先順序第二低的事件就第二個不去獲取時間信息,依次類推,優(yōu) 先順序越低就越不去獲取時間信息。能夠借助限制對象事件設(shè)定部 202的設(shè)定任意地改變優(yōu)先順序。 在本發(fā)明的第五實(shí)施方式中,參考圖22所示的波形圖,對檢 測內(nèi)部信號的狀態(tài)躍變,并利用圖21所示的算法生成跟蹤信息10 的過程進(jìn)行說明。 在圖22中,內(nèi)部信號100,是初始狀態(tài)為"H"、在測量開始 后500ns時躍變?yōu)?L"、在1000ns時躍變?yōu)?H"的信號;內(nèi)部 信號101,是初始狀態(tài)為"H"、在測量開始后800ns時躍變?yōu)?L"、 在1300ns時躍變?yōu)?H"的信號;內(nèi)部信號102是初始狀態(tài)是"H"、 在測量開始后1500ns時躍變?yōu)?L"、在2200ns時躍變?yōu)?H" 的信號;假定內(nèi)部信號103 —107是測量時狀態(tài)不發(fā)生躍變的信號。 以使LSIl的內(nèi)部計(jì)數(shù)器212工作的內(nèi)部時鐘的周期是100ns進(jìn)行 計(jì)算,就將LSIl與調(diào)試裝置2同步工作的周期CYC設(shè)定為"8"。 將使時間信息屏蔽開始的跟蹤信息的數(shù)據(jù)量TLIM設(shè)定為"24"。 TLIM的單位是比特。無論是信號100、 101還是信號102,所設(shè) 定的對時間信息進(jìn)行屏蔽的優(yōu)先順序都是上升時高,下降時低。假 設(shè)一組跟蹤信息的數(shù)據(jù)量是14比特,被合并時所追加的信號狀態(tài) 信息32的數(shù)據(jù)量是2比特。
開始測量時,在步驟1601中,將內(nèi)部計(jì)數(shù)器212的值CNT、 同步信號SYN以及輸出狀態(tài)信號OUT設(shè)為"0",之后進(jìn)入步驟 1002。在步驟1002中,確認(rèn)測量是否結(jié)束。當(dāng)要結(jié)束測量時,則 進(jìn)入步驟1003;當(dāng)不讓測量結(jié)束時,則進(jìn)入步驟1004。在步驟1003中,判斷跟蹤信息生成部200中的輸出緩沖器204是否為"空"。 當(dāng)緩沖器204是"空"時,則結(jié)束流程;當(dāng)緩沖器204不是"空" 時,則進(jìn)入步驟1004。在步驟1004中,確認(rèn)內(nèi)部信號100—107 的狀態(tài),因?yàn)樵?00ns、 800ns、 1000ns、 1300ns、 1500ns以及 2200ns時具有狀態(tài)已發(fā)生躍變的信號,所以為生成跟蹤信息,便 進(jìn)入步驟1005;其它情況下,因?yàn)椴淮嬖跔顟B(tài)已發(fā)生躍變的信號, 所以進(jìn)入步驟1006。在步驟1005中,將狀態(tài)已發(fā)生躍變的信號的 信號信息設(shè)定為"1",亦即,500ns、 1000ns時,將信號100的信 號信息設(shè)定為"1"; 800ns、 1300ns時,將信號101的信號信息設(shè) 定為"1"; 1500ns、 2200ns時,將信號102的信號信息設(shè)定為"1"; 將除此以外的信號的信號信息設(shè)定為"0"。之后進(jìn)入步驟1007。 在步驟1007中,將狀態(tài)已發(fā)生躍變的信號的信號狀態(tài)信息32設(shè)定 為"0"或"1"。具體而言,在500ns時,信號100從"H"躍變 為"L",所以將信號100的信號狀態(tài)信息32設(shè)定為"0",在800ns 時,信號101從"H"躍變?yōu)?L",所以將信號101的信號狀態(tài)信 息32設(shè)定為"0",在1500ns時,信號102從"H,,躍變?yōu)?L", 所以將信號102的信號狀態(tài)信息32設(shè)定為"0";在1000ns時, 信號100從"L"躍變?yōu)?H",所以將信號100的信號狀態(tài)信息 32設(shè)定為"1",在1300ns時,信號101從"L"躍變?yōu)?H",所 以將信號101的信號狀態(tài)信息32設(shè)定為"1",在2200ns時,信 號102從"L"躍變?yōu)?H",所以將信號102的信號狀態(tài)信息32 設(shè)定為'T'。之后進(jìn)入步驟1602。在步驟1602中,確認(rèn)信號是否 是時間信息被指定"屏蔽"的信號。因?yàn)樵?300ns時,對信號100 —102的上升指定為對時間信息加以屏蔽,因此為生成不含時間信 息的跟蹤信息而進(jìn)入步驟1603。 1300ns以外的時候?yàn)樯珊袝r 間信息的跟蹤信息而進(jìn)入步驟1008。在步驟1603中,生成不含時 間信息的跟蹤信息。具體而言,1300ns時,將內(nèi)部信號101的信 號名信息"2"和信號狀態(tài)信息"1"包化為"2、 1"作跟蹤信息用, 之后進(jìn)入步驟1302。在步驟1008中,由狀態(tài)已發(fā)生躍變的信號的 信號信息生成表示信號名(信號100是"1"、信號101是"2"、信.號102是"3"、...信號107是"8")的信號名信息31,并將信號 名信息31、信號狀態(tài)信息32和僅由CNT構(gòu)成的時間信息33作為 跟蹤信息包化。因?yàn)?00ns時,信號IOO的信號信息是"1",所以 包化為"1、 0、 5";因?yàn)?00ns時,信號101的信號信息是"1", 所以包化為"2、 0、 0";因?yàn)?000ns時,信號100的信號信息是 "1",所以包化為"1、 1、 2";因?yàn)?500ns時,信號102的信號 信息是"1",所以包化為"3、 0、 7";因?yàn)?200ns時,信號102 的信號信息是"1",所以包化為"3、 1、 6"。之后進(jìn)入步驟1302。 在步驟1302中,確認(rèn)累積在保持緩沖器203內(nèi)的信號的跟蹤信息 中是否存在已在步驟1008中包化的同一信號的信息。因?yàn)樵? 1300ns時,已在800ns時生成的同一信號101的跟蹤信息存在于 保持緩沖器203內(nèi),所以為將信息合并而進(jìn)入步驟1604;因?yàn)樵?500ns、 800ns、 1000ns、 1500ns以及2200ns時,保持緩沖器203 內(nèi)不存在同一信號的跟蹤信息,所以進(jìn)入步驟1303。在步驟1303 中,將已包化的跟蹤信息存儲到保持緩沖器203中,之后進(jìn)入步驟 1605。在步驟1604中,將從已生成的跟蹤信息中除去信號名信息 后所得到的信息追加到存在于保持緩沖器203中的同 一信號的跟蹤 信息中。在1300ns時,將對應(yīng)于已生成的跟蹤信息"2、 1"中的 信號狀態(tài)信息的"1"追加到已存在于保持緩沖器203內(nèi)的跟蹤信 息"2、 0、 0"中,之后進(jìn)入步驟1605。在步驟1006中,使所有 信號的信號信息為"0",之后進(jìn)入步驟1605。 在步驟1605中,根據(jù)跟蹤信息的數(shù)據(jù)量52確認(rèn)保持緩沖器 203中的數(shù)據(jù)量。因?yàn)?000ns時,數(shù)據(jù)量是28,變?yōu)門LIM以上 的值,所以進(jìn)入步驟1606。在1000ns以外的時候,進(jìn)入步驟1305。 在步驟1606中,將時間信息屏蔽優(yōu)先順序較高的事件即信號100 —102的上升指定為"屏蔽",之后進(jìn)入步驟1305。 在步驟1305中,確認(rèn)輸出狀態(tài)信號OUT的值。當(dāng)輸出跟蹤信 息10時,OUT成為"1",因此進(jìn)入步驟1306;當(dāng)尚未輸出跟蹤 信息10時,OUT成為"0",因此進(jìn)入步驟1016。在步驟1306中, 判斷輸出緩沖器204是否為"空"狀態(tài)。在已結(jié)束輸出跟蹤信息10的情況下,為使OUT從"1"變?yōu)?0"而進(jìn)入步驟1309;在尚未 結(jié)束輸出跟蹤信息10的情況下,為進(jìn)行輸出而進(jìn)入步驟1307。在 步驟1307中,從輸出端子16將輸出緩沖器204內(nèi)的信息作為跟蹤 信息10輸出,之后進(jìn)入步驟1308。在步驟1308中,從輸出緩沖 器204中將已輸出的數(shù)據(jù)刪掉,為將尚未輸出的數(shù)據(jù)輸出而在輸出 緩沖器204內(nèi)進(jìn)行移位,之后進(jìn)入步驟1016。在步驟1309中,使 輸出端子16為"開放"并以此作為無跟蹤信息IO輸出時的設(shè)定, 使OUT為"0"而設(shè)定為尚未進(jìn)行輸出的狀態(tài),之后進(jìn)入步驟1016。 在步驟1016中,確認(rèn)內(nèi)部時鐘是否上升。當(dāng)已上升時,便為 使內(nèi)部計(jì)數(shù)器212工作而進(jìn)入步驟1017;當(dāng)尚未上升時,則進(jìn)入 步驟1002。在步驟1017中,確認(rèn)CNT是否與從CYC中減去1 后所得到的數(shù)值一致。因?yàn)樵?00ns、1600ns以及2400ns時,CNT 成為從設(shè)定在CYC內(nèi)的8減去1所得到的7,所以為生成同步信號 SYN而進(jìn)入步驟1310;當(dāng)不一致時,則進(jìn)入步驟1019。在步驟 1310中,在800ns、 1600ns以及2400ns時,將同步信號SYN置 為"1",將CNT清除為"0",且使輸出狀態(tài)信號OUT為"1"而 設(shè)定為輸出狀態(tài),將已累積在保持緩沖器203中的數(shù)據(jù)移動到輸出 緩沖器204中,之后進(jìn)入步驟1002。在步驟1019中,確認(rèn)CNT 是否為"0"。因?yàn)樵?00ns、 1700ns以及2500ns時,CNT是"0", 所以為將同步信號SYN清除并對CNT進(jìn)行加法運(yùn)算而進(jìn)入步驟 1020;當(dāng)CNT不是"0"時,則僅為對CNT進(jìn)行加法運(yùn)算而進(jìn)入 步驟1021。在步驟1020中,在900ns、 1700ns以及2500ns時, 使同步信號SYN為"0",為對CNT進(jìn)行加法運(yùn)算而進(jìn)入步驟1021 。 在步驟1021中,在CNT中加上1,之后進(jìn)入步驟1002。 (第六實(shí)施方式)
圖23是一方框圖,示出了本發(fā)明第六實(shí)施方式中的半導(dǎo)體裝 置的構(gòu)成。在第六實(shí)施方式中,設(shè)置有第三實(shí)施方式中所示的同步 產(chǎn)生周期設(shè)定部213、第四實(shí)施方式中所示的事件選擇控制部223 以及第五實(shí)施方式中所示的時間信息獲取事件選擇控制部201。利 用跟蹤信息丟失回避單元選擇部230進(jìn)行選擇,使上述三種單元中之一單元有效。由此便能夠任意地選捧對跟蹤信息的丟失加以回避 的單元。 能夠根據(jù)保持緩沖器203內(nèi)的跟蹤信息的數(shù)據(jù)量52自動地對 跟蹤信息的丟失加以回避的單元進(jìn)行有效/無效切換。對各個跟蹤 信息丟失回避單元201、 213、 223設(shè)定了優(yōu)先順序。在正在輸出信 息時產(chǎn)生了下一個同步信號而有可能導(dǎo)致數(shù)據(jù)丟失的情況下,利用 各個單元的有效/無效切換信號54 — 56使優(yōu)先順序較高的單元有 效。能夠借助跟蹤信息丟失回避單元選摔部230的設(shè)定任意地改變 優(yōu)先順序。 在本發(fā)明的第六實(shí)施方式中,對檢測內(nèi)部信號的狀態(tài)躍變,并 利用圖24所示的算法生成跟蹤信息IO的過程進(jìn)行說明。因?yàn)槿羰?屏蔽時間信息的方法的優(yōu)先順序最高,則此時的波形圖與圖22所 示的波形圖一樣,所以利用波形圖22進(jìn)行說明。 在圖22中,內(nèi)部信號100,是初始狀態(tài)為"H"、在測量開始 后500ns時躍變?yōu)?L"、在1000ns時躍變?yōu)?H"的信號;內(nèi)部 信號101,是初始狀態(tài)為"H"、在測量開始后800ns時躍變?yōu)?L"、 在1300ns時躍變?yōu)?H"的信號;內(nèi)部信號102是初始狀態(tài)是"H"、 在測量開始后1500ns時躍變?yōu)?L"、在2200ns時躍變?yōu)?H" 的信號;假定內(nèi)部信號103 —107是測量時狀態(tài)不發(fā)生躍變的信號。 以使LSIl的內(nèi)部計(jì)數(shù)器212工作的內(nèi)部時鐘的周期是100ns進(jìn)行 計(jì)算,就將LSIl與調(diào)試裝置2同步工作的周期CYC設(shè)定為"8"。 將使跟蹤信息丟失回避單元201、 213、 223有效的跟蹤信息的數(shù)據(jù) 量ALIM設(shè)定為"24"。 ALIM的單位是比特。在跟蹤信息丟失回 避單元選擇部230中,將屏蔽時間信息的方法的優(yōu)先順序設(shè)定得較 高,將其它方法的優(yōu)先順序設(shè)定得較低。在利用時間信息獲取事件 選擇控制部201的時候,設(shè)定成對信號100—102下降的時間信息 進(jìn)行屏蔽。假設(shè)一組跟蹤信息的數(shù)據(jù)量是14比特,被合并時所追 加的信號狀態(tài)信息的數(shù)據(jù)量是2比特。
開始測量時,在步驟1701中,將內(nèi)部計(jì)數(shù)器212的值CNT、 同步信號SYN以及輸出狀態(tài)信號OUT設(shè)為"0",之后進(jìn)入步驟1002。在步驟1002中,確認(rèn)測量是否結(jié)束。當(dāng)要結(jié)束測量時,則 進(jìn)入步驟1003;當(dāng)不讓測量結(jié)束時,則進(jìn)入步驟1502。在步驟1003 中,判斷跟蹤信息生成部200中的輸出緩沖器204是否為"空"。 當(dāng)緩沖器204是"空"時,則結(jié)束流程;當(dāng)緩沖器204不是"空" 時,則進(jìn)入步驟1502。在步驟1502中,確認(rèn)內(nèi)部信號100—107 的狀態(tài),因?yàn)樵?00ns、 800ns、 1000ns、 1300ns、 1500ns以及 2200ns時具有狀態(tài)已發(fā)生躍變的信號,而且任何時候信號都沒有 被指定"屏蔽",所以為生成跟蹤信息而進(jìn)入步驟1005;其它情況 下,因?yàn)椴淮嬖跔顟B(tài)已發(fā)生躍變的信號,所以進(jìn)入步驟1006。在步 驟1005中,將狀態(tài)已發(fā)生躍變的信號的信號信息設(shè)定為"1",亦 即,500ns、 1000ns時,將信號100的信號信息設(shè)定為'T,; 800ns、 1300ns時,將信號101的信號信息設(shè)定為"1"; 1500ns、 2200ns 時,將信號102的信號信息設(shè)定為"1";將除此以外的信號的信號 信息設(shè)定為"0"。之后進(jìn)入步驟1007。在步驟1007中,將狀態(tài)已 發(fā)生躍變的信號的信號狀態(tài)信息32設(shè)定為"0"或"1"。具體而言, 在500ns時,信號100從"H"躍變?yōu)?L",所以將信號100的 信號狀態(tài)信息32設(shè)定為"0",在800ns時,信號101從"H"躍 變?yōu)?L",所以將信號101的信號狀態(tài)信息32設(shè)定為"0",在1500ns 時,信號102從"H"躍變?yōu)?L",所以將信號102的信號狀態(tài)信 息32設(shè)定為"0";在1000ns時,信號100從"L"躍變?yōu)?H", 所以將信號100的信號狀態(tài)信息32設(shè)定為'T',在1300ns時, 信號101從"L"躍變?yōu)?H",所以將信號101的信號狀態(tài)信息 32設(shè)定為'T,,在2200ns時,信號102從"L"躍變?yōu)?H",所 以將信號102的信號狀態(tài)信息32設(shè)定為"1"。之后進(jìn)入步驟1602。 在步驟1602中,確認(rèn)信號是否是時間信息被指定"屏蔽"的信號。 在1300ns時,被指定為對信號100—102上升的時間信息進(jìn)行屏 蔽,所以為生成不含時間信息的跟蹤信息而進(jìn)入步驟1603。在 1300ns以外的時候,為生成含有時間信息的跟蹤信息而進(jìn)入步驟 1008。在步驟1603中,生成不含時間信息的跟蹤信息。在1300ns 時,將內(nèi)部信號101的信號名信息"2"和信號狀態(tài)信息"1"包化為"2、 1"作跟蹤信息用,之后進(jìn)入步驟1302。在步驟1008中, 由狀態(tài)已發(fā)生躍變的信號的信號信息生成表示信號名(信號100是 "1"、信號101是"2"、 信號102是"3"、...信號107是"8") 的信號名信息31,并將信號名信息31、信號狀態(tài)信息32和僅由 CNT構(gòu)成的時間信息33作為跟蹤信息包化。因?yàn)?00ns時,信號 IOO的信號信息是"1",所以包化為"1、 0、 5";因?yàn)?00ns時, 信號101的信號信息是"1",所以包化為"2、 0、 0";因?yàn)?000ns 時,信號100的信號信息是"1",所以包化為"1、 1、 2";因?yàn)?1500ns時,信號102的信號信息是"1",所以包化為"3、 0、 7"; 因?yàn)?200ns時,信號102的信號信息是"1",所以包化為"3、 1、 6"。之后進(jìn)入步驟1302。在步驟1302中,確認(rèn)累積在保持緩沖器 203內(nèi)的信號的跟蹤信息中是否存在已在步驟1008中包化的同一 信號的信息。因?yàn)樵?300ns時,在800ns時已生成的同一信號101 的跟蹤信息存在于保持緩沖器203內(nèi),所以為將信息合并而進(jìn)入步 驟1604;因?yàn)樵?00ns、 800ns、 1000ns、 1500ns以及2200ns 時,保持緩沖器203內(nèi)不存在同一信號的跟蹤信息,所以進(jìn)入步驟 1303。在步驟1303中,將已包化的跟蹤信息存儲到保持緩沖器203 中,之后進(jìn)入步驟1702。在步驟1604中,將從已生成的跟蹤信息 中除去信號名信息后所得到的信息追加到存在于保持緩沖器203中 的同一信號的跟蹤信息中。在1300ns時,將對應(yīng)于已生成的跟蹤 信息"2、 1"中的信號狀態(tài)信息的"1"追加到已存在于保持緩沖 器203內(nèi)的跟蹤信息"2、 0、 0"中,之后進(jìn)入步驟1702。在步驟 1006中,使所有信號的信號信息為"0",之后進(jìn)入步驟1702。
在步驟1702中,根據(jù)跟蹤信息的數(shù)據(jù)量52確認(rèn)保持緩沖器 203中的數(shù)據(jù)量。因?yàn)?000ns時,數(shù)據(jù)量是28,變?yōu)锳LIM以上 的值,所以進(jìn)入步驟1703。在1000ns以外的時候,進(jìn)入步驟1305。 在步驟1703中,確認(rèn)在跟蹤信息丟失回避單元選擇部230中所設(shè) 定的優(yōu)先順序。在變更同步周期的方法的優(yōu)先順序最高的情況下, 為進(jìn)行變更同步周期的處理而進(jìn)入步驟1704;在變更同步周期以外 的方法的優(yōu)先順序最高的情況下,則進(jìn)入步驟1705。在步驟1704中,同步產(chǎn)生周期設(shè)定部213在同步產(chǎn)生周期設(shè)定部有效/無效切
換信號54的控制下工作,將要變更同步周期這一信息輸出給跟蹤 信息生成部200,跟蹤信息生成部200接收該信息后,將表示同步 周期變更的信息"0、 0、 0"存儲到保持緩沖器203中。時間信息 生成部210將同步周期CYC更新為NCYC的值,之后進(jìn)入步驟 1305。在步驟1705中,對設(shè)定在跟蹤信息丟失回避單元選擇部230 中的優(yōu)先順序進(jìn)行確認(rèn)。在對獲取信號的信息加以屏蔽的方法的優(yōu) 先順序最高的情況下,為進(jìn)行信號的"屏蔽"指定而進(jìn)入步驟1706; 在對獲取信號的信息加以屏蔽的方法以外的方法的優(yōu)先順序最高的 情況下,因?yàn)檫@意味著對時間信息進(jìn)行屏蔽的方法的優(yōu)先順序最高, 所以為指定對時間信息進(jìn)行屏蔽而進(jìn)入步驟1707。在步驟1706中, 事件選擇控制部223在事件選擇控制部有效/無效切換信號55的 控制下,將被設(shè)定為屏蔽的信號指定為"屏蔽",之后進(jìn)入步驟1305。 在步驟1707中,時間信息獲取事件選擇控制部201在時間信息獲 取事件選擇部有效/無效切換信號56的控制下工作,將在利用時 間信息獲取事件選擇控制部201時設(shè)定為屏蔽的信號指定為對時間 信息進(jìn)行屏蔽。將在利用時間信息獲取事件選擇控制部201時被設(shè) 定為屏蔽的信號100—102下降的時間信息指定為屏蔽,之后進(jìn)入 步驟1305。 在步驟1305中,確認(rèn)輸出狀態(tài)信號OUT的值。當(dāng)輸出跟蹤信 息10時,OUT成為"1",因此進(jìn)入步驟1306;當(dāng)尚未輸出跟蹤 信息10時,OUT成為"0",因此進(jìn)入步驟1016。在步驟1306中, 判斷輸出緩沖器204是否為"空"狀態(tài)。在已結(jié)束輸出跟蹤信息10 的情況下,為使OUT從"1"變?yōu)?0"而進(jìn)入步驟1309;在尚未 結(jié)束輸出跟蹤信息10的情況下,為進(jìn)行輸出而進(jìn)入步驟1307。在 步驟1307中,從輸出端子16將輸出緩沖器204內(nèi)的信息作為跟蹤 信息10輸出,之后進(jìn)入步驟1308。在步驟1308中,從輸出緩沖 器204中將已輸出的數(shù)據(jù)刪掉,為將尚未輸出的數(shù)據(jù)輸出而在輸出 緩沖器204內(nèi)進(jìn)行移位,之后進(jìn)入步驟1016。在步驟1309中,使 輸出端子16為"開放"并以此作為無跟蹤信息IO輸出時的設(shè)定,使OUT為"0"而設(shè)定為尚未進(jìn)行輸出的狀態(tài),之后進(jìn)入步驟1016。
在步驟1016中,確認(rèn)內(nèi)部時鐘是否上升。當(dāng)已上升時,便為 使內(nèi)部計(jì)數(shù)器212工作而進(jìn)入步驟1017;當(dāng)尚未上升時,則進(jìn)入 步驟1002。在步驟1017中,確認(rèn)CNT是否與從CYC中減去1 后所得到的數(shù)值一致。因?yàn)樵?00ns、1600ns以及2400ns時,CNT 成為從設(shè)定在CYC內(nèi)的8減去1所得到的7,所以為生成同步信號 SYN而進(jìn)入步驟1310;當(dāng)不一致時,則進(jìn)入步驟1019。在步驟 1310中,在800ns、 1600ns以及2400ns時,將同步信號SYN置 為"1",將CNT清除為"0",且使輸出狀態(tài)信號OUT'為"1"而 設(shè)定為輸出狀態(tài),將已累積在保持緩沖器203中的數(shù)據(jù)移動到輸出 緩沖器204中,之后進(jìn)入步驟1002。在步驟1019中,確認(rèn)CNT 是否為"0,,。因?yàn)樵?00ns、 1700ns以及2500ns時,CNT是"0", 所以為將同步信號SYN清除并對CNT進(jìn)行加法運(yùn)算而進(jìn)入步驟 1020;當(dāng)CNT不是"0"時,則僅為對CNT進(jìn)行加法運(yùn)算而進(jìn)入 步驟1021。在步驟1020中,在900ns、 1700ns以及2500ns時, 使同步信號SYN為"0",為對CNT進(jìn)行加法運(yùn)算而進(jìn)入步驟1021 。 在步驟1021中,在CNT中加上1,之后進(jìn)入步驟1002。 一工業(yè)實(shí)用性一
綜上所述,本發(fā)明所涉及的半導(dǎo)體裝置及開發(fā)支援裝置,作為 從外部對LSI內(nèi)部信號的工作情況進(jìn)行分析、評價的技術(shù)方案很有 用。
權(quán)利要求
1. 一種半導(dǎo)體裝置,其特征在于包括自內(nèi)部信號的躍變信息獲取信號名信息與信號狀態(tài)信息的單元,將所述信號名信息與所述信號狀態(tài)信息編碼的單元,以及將對所述信號名信息與所述信號狀態(tài)信息編碼所得的結(jié)果作為跟蹤信息輸出的單元。
2. 根據(jù)權(quán)利要求l所述的半導(dǎo)體裝置,其特征在于 進(jìn)一步包括生成表示所述半導(dǎo)體裝置的內(nèi)部時間的時間信息的單元, 將所述時間信息編碼的單元,以及將對所述時間信息編碼所得的結(jié)果追加為所述跟蹤信息的 一 部分的單元。
3. 根據(jù)權(quán)利要求l所述的半導(dǎo)體裝置,其特征在于 進(jìn)一步包括生成表示同步信號的時刻的第一時間信息的單元, 生成表示相對于所述笫一時間信息的所述半導(dǎo)體裝置的內(nèi)部時間的第 二時間信息的單元,將所述第一與第二時間信息編碼的單元,以及將對所述第 一與第二時間信息編碼所得的結(jié)果追加為所述跟蹤信息的 一部分的單元。
4. 一種開發(fā)支援裝置,從權(quán)利要求3所述的半導(dǎo)體裝置接收所迷跟蹤 信息,其特征在于包括將所述跟蹤信息解碼以獲取所述信號名信息、所述信號狀態(tài)信息以及 所述第一與第二時間信息的單元,由所述第一與第二時間信息計(jì)算求出實(shí)時信息的單元,以及 利用所述信號名信息、所迷信號狀態(tài)信息及所述實(shí)時信息再現(xiàn)所迷半導(dǎo)體裝置的內(nèi)部信號的波形的信息的單元。
5. 根據(jù)權(quán)利要求2所述的半導(dǎo)體裝置,其特征在于 進(jìn)一步包括積累所述應(yīng)該輸出的跟蹤信息的單元,以及與同步信號的時刻同步地輸出所述已積累下來的跟蹤信息的單元。
6. 根據(jù)權(quán)利要求5所述的半導(dǎo)體裝置,其特征在于 進(jìn)一步包括變更所述同步信號的時刻的單元。
7. 根據(jù)權(quán)利要求5所述的半導(dǎo)體裝置,其特征在于進(jìn)一步包括對獲取所述信號名信息與所述信號狀態(tài)信息的事件加以 限制的單元。
8. 根據(jù)權(quán)利要求5所迷的半導(dǎo)體裝置,其特征在子進(jìn)一步包括進(jìn)行限制以部分地輸出不包含所述時間信息的跟蹤信息的 單元。
9. 根據(jù)權(quán)利要求5所述的半導(dǎo)體裝置,其特征在于 進(jìn)一步包括第一單元,變更所述同步信號的時刻,第二單元,對獲取所述信號名信息與所述信號狀態(tài)信息的事件加以限制,第三單元,進(jìn)行限制而部分地輸出不包含所述時間信息的跟蹤信息, 以及第四單元,選擇并使所述第一、第二以及第三單元中的任一個單元有效。
10. 根據(jù)權(quán)利要求5所述的半導(dǎo)體裝置,其特征在于進(jìn)一 步包括根據(jù)所述跟蹤信息中的累積數(shù)據(jù)量自動地變更所迷同步 信號的時刻的單元。
11. 根據(jù)權(quán)利要求5所述的半導(dǎo)體裝置,其特征在于進(jìn)一 步包括根據(jù)所述跟蹤信息中的累積數(shù)據(jù)量自動地限制獲取所述 信號名信息與所述信號狀態(tài)信息的事件的單元。
12. 根據(jù)權(quán)利要求5所述的半導(dǎo)體裝置,其特征在于進(jìn)一步包括根據(jù)所迷跟蹤信息中的累積數(shù)據(jù)量自動地限制而部分地輸出不包含所述時間信息的跟蹤信息的單元。
13. 根據(jù)權(quán)利要求9所述的半導(dǎo)體裝置,其特征在于 所述第四單元,根據(jù)所述跟蹤信息中的累積數(shù)據(jù)量使所述第一單元工作而自動地變更所述同步信號的時刻,或根據(jù)所述跟蹤信息中的累積數(shù)據(jù) 量使所述第二單元工作而自動地限制獲取所述信號名信息與所述信號狀態(tài) 信息的事件,或根據(jù)所述跟蹤信息中的累積數(shù)據(jù)量使所述第三單無工作而 自動地進(jìn)行限制,以便部分地輸出不包含所述時間信息的跟蹤信息。
14. 根據(jù)權(quán)利要求ll所述的半導(dǎo)體裝置,其特征在于 進(jìn)一步包括根據(jù)事先設(shè)定好的優(yōu)先順序決定不獲取所述信號名信息與所述信號狀態(tài)信息的事件的單元。
15. 根據(jù)權(quán)利要求12所述的半導(dǎo)體裝置,其特征在于 進(jìn)一步包括根據(jù)事先設(shè)定好的優(yōu)先順序決定輸出不包含所述時間信息的跟蹤信息的事件的單元。
全文摘要
本發(fā)明公開了一種半導(dǎo)體裝置及開發(fā)支援裝置。對LSI內(nèi)部信號(100-107)的狀態(tài)進(jìn)行監(jiān)視,將信號名信息(31)、信號狀態(tài)信息(32)以及信號狀態(tài)已發(fā)生躍變的LSI內(nèi)部的時間信息(33)包化并作為跟蹤信息(10)輸出到外部。在開發(fā)支援裝置中,將跟蹤信息(10)解碼,再將LSI內(nèi)部的時間信息變換為實(shí)時信息,然后,根據(jù)所得到的信息再現(xiàn)LSI內(nèi)部信號的波形。能夠用個數(shù)比跟蹤信號的條數(shù)還少的端子(16)跟蹤多個LSI內(nèi)部信號。
文檔編號G06F11/28GK101548270SQ200880000818
公開日2009年9月30日 申請日期2008年6月9日 優(yōu)先權(quán)日2007年9月3日
發(fā)明者三野吉輝, 土居大峰, 尾坂匡隆, 瀨崎朋久, 生形篤, 筒井龍?zhí)?申請人:松下電器產(chǎn)業(yè)株式會社