本發明屬于芯片系統的測試和分析領域,更具體地,涉及一種芯片內部邏輯分析儀和分析方法。
背景技術:
1、片上系統(system?on?chip,簡寫為soc)是一種由多個ip(intellectualproperty)核構成的復雜電路系統,通常包含了處理器、模擬ip核、數字ip核、存儲介質或接口、互連ip及接口、外設協議接口等,具有極高的復雜性和調試難度。其中,ip核為可復用的硬件或軟件組件,這些組件具有特定的功能或特性,可以被集成到soc中,以實現特定的應用需求。ip核可以包括處理器核、存儲控制器、外設接口、通信接口等。
2、為了方便soc芯片回片測試,芯片內部一般會內置一些調試機制,當前業界soc常用的調試手段包括預留調試寄存器,觀測內部狀態信號;預留板上信號(on-board?signal,簡寫為obs)管腳,將芯片內部的信號引出到通用輸入/輸出(general-purpose?input/output,簡寫為gpio),再通過邏輯分析儀進行觀測。
3、現有的調試手段在回片測試過程中,可以很大程度上幫助測試人員定位問題,預留調試寄存器的方法可以觀察大量芯片內部信號,并且資源消耗少;預留obs管腳可以長時間觀察內部信號,可以精確的看到內部信號每個cycle的值,這些對于調試很有幫助。
4、但是上述的手段在使用過程中仍有較大的局限性,預留調試寄存器的方法雖然占用資源少,可以觀測大量信號。但是無法連續無間斷的觀察每個cycle的值。預留obs管腳的方法雖然可以看到信號每個cycle的值,但是受限于gpio的速率,需要信號的頻率較低,并且gpio數量有限,無法觀察大量數據。因此,現有soc調試手段中需要有一種能連續無間隔觀測大量內部信號的調試手段。
技術實現思路
1、本發明需要解決的技術問題是:如何實現在觀測大量信號的同時,連續無間斷的觀測每個信號的cycle值。
2、本發明是通過如下技術方案達到上述目的:
3、第一方面,提供了一種芯片內部邏輯分析儀,包括:寄存器模塊和觸發采樣模塊,所述寄存器模塊與所述觸發采樣模塊連接,在所述邏輯分析儀上設有obs引腳,所述邏輯分析儀掛載于片上系統下;
4、所述寄存器模塊用于接收所述片上系統的控制信號,以生成相應的寄存器信號,并將所述寄存器信號傳輸給所述觸發采樣模塊;
5、所述obs引腳用于將所述片上系統中的內部信號傳輸至所述觸發采樣模塊;
6、所述觸發采樣模塊用于接收所述寄存器信號與所述內部信號,并根據所述寄存器信號生成觸發信號,所述觸發采樣模塊通過所述觸發信號對所述內部信號進行采樣得到采樣結果,并將所述采樣結果寫回所述片上系統。
7、優選的,所述片上系統包括控制單元和ahb(advanced?high-performance?bus)總線單元,所述控制單元與所述ahb總線單元連接;
8、所述控制單元用于控制整個所述片上系統的運行,并通過所述ahb總線單元發送所述控制信號;
9、所述控制單元的中斷引腳與所述邏輯分析儀的中斷引腳連接,用于接收并執行所述邏輯分析儀的中斷信號。
10、優選的,所述片上系統還包括apb(advanced?peripheral?bus)橋接單元,所述邏輯分析儀還包括apb接口,所述apb橋接單元包括輸入接口和輸出接口,所述apb接口包括輸入端和輸出端;
11、所述apb橋接單元的輸入接口與所述ahb總線單元連接,所述apb橋接單元的輸出接口與所述apb接口的輸入端連接;
12、所述apb接口的輸出端與所述寄存器模塊連接;
13、所述apb橋接單元用于將來自于所述ahb總線單元的控制信號發送給所述邏輯分析儀。
14、優選的,所述ahb總線單元用于將所述片上系統的控制信號轉換為ahb總線單元的協議規范信號;
15、通過所述apb橋接單元和所述apb接口,將所述ahb總線單元的協議規范信號轉換為所述寄存器模塊所能識別的格式,以確保所述寄存器模塊與所述片上系統之間的正常通信。
16、優選的,所述觸發采樣模塊包括觸發發生模塊、采樣模塊和fifo模塊,所述寄存器模塊分別與所述觸發發生模塊、采樣模塊和fifo模塊連接,所述觸發發生模塊與所述采樣模塊連接,所述采樣模塊與所述fifo模塊連接;
17、所述寄存器模塊用于接收所述片上系統的控制信號以生成相應的寄存器信號,并將所述寄存器信號分別傳輸給所述觸發發生模塊、采樣模塊和先入先出隊列(first-in-first-out,簡寫為fifo)模塊;
18、其中,所述寄存器信號包括:配置信號、采樣信號和寫回信號;
19、所述觸發發生模塊用于根據所述配置信號配置相應的觸發條件,在滿足所述觸發條件時,所述觸發發生模塊產生觸發信號;
20、所述采樣模塊用于根據所述觸發信號對所述內部信號進行采樣以得到所述采樣結果,并根據所述采樣信號將所述采樣結果實時寫回到內存中;
21、所述fifo模塊用于將所述采樣模塊中的所述采樣結果進行處理得到fifo信號,并根據所述寫回信號將所述fifo信號寫回所述片上系統的ddr中。
22、優選的,所述觸發采樣模塊還包括數據通道模塊,所述數據通道模塊與所述采樣模塊連接;
23、所述數據通道模塊用于通過所述obs引腳接收所述片上系統的內部信號,并將所述內部信號傳輸至所述采樣模塊。
24、第二方面,提供了一種分析方法,包括:
25、所述寄存器模塊接收所述片上系統的控制信號,以生成相應的寄存器信號,并將所述寄存器信號傳輸給所述觸發采樣模塊;
26、所述obs引腳將所述片上系統中的內部信號傳輸至所述觸發采樣模塊;
27、所述觸發采樣模塊接收所述寄存器信號與所述內部信號,并根據所述寄存器信號生成觸發信號,所述觸發采樣模塊通過所述觸發信號對所述內部信號進行采樣得到采樣結果,并將所述采樣結果寫回所述片上系統。
28、優選的,所述寄存器模塊接收所述片上系統的控制信號以生成相應的寄存器信號,并將所述寄存器信號傳輸給所述觸發采樣模塊,包括:
29、所述觸發采樣模塊包括觸發發生模塊、采樣模塊和fifo模塊,所述寄存器模塊分別與所述觸發發生模塊、采樣模塊和fifo模塊連接,所述觸發發生模塊與所述采樣模塊連接,所述采樣模塊與所述fifo模塊連接;
30、所述寄存器模塊接收所述片上系統的控制信號以生成相應的寄存器信號,并將所述寄存器信號分別傳輸給所述觸發發生模塊、采樣模塊和fifo模塊。
31、優選的,所述obs引腳將所述片上系統中的內部信號傳輸至所述觸發采樣模塊,包括:
32、所述觸發采樣模塊還包括數據通道模塊,所述數據通道模塊與所述采樣模塊連接;
33、所述數據通道模塊通過所述obs引腳接收所述片上系統中的內部信號,并將所述內部信號傳輸至所述采樣模塊。
34、優選的,所述觸發采樣模塊接收所述寄存器信號與所述內部信號,并根據所述寄存器信號生成觸發信號,所述觸發采樣模塊通過所述觸發信號對所述內部信號進行采樣得到采樣結果,并將所述采樣結果寫回所述片上系統,包括:
35、所述寄存器信號包括:配置信號、采樣信號和寫回信號;
36、所述觸發發生模塊根據所述配置信號配置相應的觸發條件,在滿足所述觸發條件時,所述觸發發生模塊產生觸發信號;
37、所述采樣模塊根據所述觸發信號對所述內部信號進行采樣以得到所述采樣結果,并根據所述采樣信號將所述采樣結果實時寫回到內存中;
38、所述fifo模塊將所述采樣模塊中的所述采樣結果進行處理得到fifo信號,并根據所述寫回信號將所述fifo信號寫回所述片上系統的ddr中。
39、本發明的有益效果是:
40、本發明通過在邏輯分析儀上設置obs引腳,并在其內部設置寄存器模塊;通過所述obs引腳將片上系統中的內部信號傳輸至邏輯分析儀,再通過所述邏輯分析儀對所述內部信號進行觀測,使得通過所述邏輯分析儀可以觀測到每個內部信號的cycle值;通過所述寄存器模塊對所述邏輯分析儀進行控制,所述寄存器模塊可以存儲多個內部信號的cycle值,并且可以通過一次讀取或寫入等操作,來獲取或修改這些內部信號的cycle值,這樣可以提高調試效率,減小資源消耗的同時還可以觀測到大量的內部信號。